Course Description

An in-depth course detailing everything related to java, from basic concepts of how a computer functions to advanced concepts that appear on the AP exams. This course blends rigor with fun as students participate in hands-on projects and labs to better understand the language of java and take the step into more advanced coding.

Curriculum Outline:

Session 1(Intro to java)

  • Unit 1: How a computer works part 1
    • CPU, GPU, SSD/hard drive, and RAM
    • Memory allocation
    • CPU cycles
  • Unit 2: How a computer works part 2
    • Java formatting
    • Java keywords
    • Strategic programming
  • Unit 3: Data Types
    • Primitive data types
    • Strings and StringBuilder objects
  • Unit 4: System input and output
    • Scanner objects
    • Data collection
    • Outputting formatted information
  • Project Lab 1:
    • Mini market: Students will create a project that prompts the user for purchases and can output a receipt following a format.

Session 2

  • Unit 5: Advanced boolean and decision structures
    • Boolean operators
    • If and if-else statements
    • Ternary operators
    • Switch statements
  • Unit 6: Loops and iterators
    • For, while, and do-while loops
    • Nested loops
  • Project Lab 2:
    • Rock paper scissors game: students will create a program that can play rock paper scissors against the user
  • Unit 7: Basics of Exception and Errors
    • Compile-time errors
    • Run-time errors
    • Handling and try-catch blocks
  • Unit 8: Arrays and ArrayList
    • Arrays and ArrayLists objects
    • How to navigate and find things in arrays
  • Final Project:
    • Mini market revisited: Students will build onto their first project lab using arrays and loops to make the program more efficient and detailed.

Advanced Java

Session 1

  • Unit 1: Binary, hexadecimal, and ASCII
    • Converting between the different base systems
  • Quiz: Converting between binary, hexadecimal, and base 10
  • Unit 2: Math class and arithmetic functions
    • Converting and casting between different casts
    • All arithmetic methods declared in the javadocs
  • Project lab 3: calculators
    • Students will create a calculator using the math functions that solve a mathematical problem
  • Unit 3: Object-oriented concepts part 1
    • Accessor and constructor methods
    • Inheritance and polymorphism
  • Unit 4: Object-oriented concepts part 2
    • Interfaces
    • Enums
    • Abstract classes
  • Project lab 4:
  • Create your own objects: students will use objects to create their own network of code

Session 2

  • Unit 5: Threads, Runnables and Concurrency
    • Threads, Runnables, and concurrency
  • Unit 6: Advanced Exceptions and Errors
    • Custom exception
    • Throw and finally code blocks
  • Quiz: threads and exceptions
  • Unit 7: Advanced ArrayLists and list
    • Lists, LinkedLists, and other collections
  • Unit 8: Lambda Functions and new java additions
    • New additions to java
  • Final project: Create your own objects expanded
    • Use everything you learned to create anything you want