Java Programming

Syllabus

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.