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