Course Essential Questions:
- How does the basic understanding of Java programming influence our approach to problem-solving?
- How do we write efficient programs in java and why is that important?
- How do we create complex and scalable algorithms that represent data accurately to address real-world problems?
Course Learning Objectives:
- Apply the fundamental concepts of Java programming which includes the use of variables, input/output operations, and compound assignment operators and expressions.
- Apply knowledge of APIs, libraries, and complex algorithms to develop functional methods, while using documentation comments and method signatures to enhance the readability and maintainability of the code.
- Apply the concept of object-oriented programming by creating and manipulating objects for more efficient programming.
- Use algorithms for selection and repetition to determine the expected result of a program.
Unit 1: Basics of Programming (Weeks 1-4)
Unit Level Essential Questions
- What are the basic components of every Java Program and how do they work?
- What is the function and purpose of each component within a Java program?
- How can we use basic java components to create simple programs?
Week 1: Algorithms and Programming
Weekly Learning Objectives
- Define the concept of algorithms and their role in programming.
- Identify the different components of a Java program.
- Explain the role of compilers in executing a Java program.
Week 2: Variables and Data Types
Weekly Learning Objectives
- Identify the most appropriate data type category for a particular specification.
- Declare variables of the correct types to represent primitive data.
- Use variables when creating a simple program.
Week 3: Expressions, Outputs and Inputs
Weekly Learning Objectives
- Construct simple expressions and statements.
- Call System class methods to generate output to the console.
- Evaluate what is stored in a variable as a result of an expression with an assignment statement.
Week 4: Casting and Compound Assignments
Weekly Learning Objectives
- Use casting to convert between different data types.
- Apply compound assignment operators.
- Evaluate arithmetic expressions that use casting
Unit 2: APIs, Libraries, and Method Signatures (Weeks 5-7)
Unit Level Essential Questions
- In what ways does the Java API and libraries empower you to write efficient code?
- How do we use the method signature to read the capability of a library?
Week 5: APIs and Libraries
Weekly Learning Objectives
- Identify the role of APIs and libraries in Java programming.
- Use libraries to create a method.
- Explain how programs that use libraries are efficient.
Week 6: Documentation and Method Signatures
Weekly Learning Objectives
- Demonstrate the use of documentation comments to enhance code readability.
- Explain the use of method signatures in Java programming.
- Identify, using its signature, the correct constructor being called.
Week 7: The Math Class
Weekly Learning Objectives
- Demonstrate the use of documentation comments to enhance code readability.
- Explain the use of method signatures in Java programming.
- Identify, using its signature, the correct constructor being called.
Unit 3: Object Oriented Programming and Boolean Expressions (Weeks 8-10)
Unit Level Essential Questions
- How can we manipulate data and implement algorithms using objects and instances?
- How are Booleans different than the other primitive types?
Week 8: Objects and Instances
Weekly Learning Objectives
- Differentiate between objects and instances.
- Explain the role of object creation in problem-solving and data manipulation.
- Use classes to create an object.
Week 9: String Manipulation
Weekly Learning Objectives
- Create a String object.
- Call a String method.
- Apply string manipulation techniques to solve problems.
Week 10: Boolean Expressions
Weekly Learning Objectives
- Construct Boolean expressions.
- Evaluate compound Boolean expressions in a program.
- Compare and contrast equivalent Boolean expressions.
Unit 4: Control Structures and Arrays (Weeks 11-15)
Unit Level Essential Questions
- How do we manipulate the contents of an array with control structures?
- How can we create a Java program that solves a problem?
Week 11: Selection
Weekly Learning Objectives
- Define the concept of selection in programming.
- Construct a conditional statement involving logical operators.
- Represent branching logical processes by using conditional statements (if, if-else, else if).
Week 12: Repetition
Weekly Learning Objectives
- Define the concept of repetition in programming.
- Represent iterative processes using a while loop.
- Represent iterative processes using a for loop.
Week 13: Nesting
Weekly Learning Objectives
- Represent branching logical processes by using nested conditional statements.
- Write nested if statements to test a combination of conditions.
- Use nested for loops to solve complex problems.
Week 14: Arrays
Weekly Learning Objectives
- Explain how arrays are useful in programming.
- Represent collections of related primitive or object reference data using one dimensional (1D) array objects.
- Traverse the elements in a one-dimensional (1D) array.
Week 15: Java Programming to Solve Problems
Weekly Learning Objectives
- Identify career opportunities requiring the knowledge of Java programming.
- Evaluate the skills, qualifications, and certifications often required for a career in computer science.
- Design an app using Java to demonstrate programming skills.