Learn Java
[G9+ Advance Class] Java programming & Algorithms
This class provides a 30-lesson AP Computer Science A
tutoring course designed to support high school students in their independent practice outside of school.
Requirements
Each student needs below items for this class**
- A Laptop with at least 8G memory with internet access.
- An email account for receiving emails.
- An account of https://github.com/
- Install VSCode with Java extension
- Install BlueJ for Java IDE to create Java project
Content of Class
Learning Java for AP Computer Science A Exam
Source Code this course https://github.com/stoneskin/learnJava
Part 0 - Preparation for Class
Part 0: preparation for the class (1 Lesson)
Part 1: Introduction to Programming (6 Lessons)
Part 2: Arrays and Strings (6 Lessons)
- Lesson 7: Arrays - Declaring, Initializing, Accessing Elements
- Lesson 8: Array Operations (traversing, searching, sorting)
- Lesson 9: Multidimensional Arrays
- Lesson 10: Strings - Declaring, Methods (length(), charAt(), substring()), String Manipulation
- Lesson 11: String Formatting and Parsing
- Lesson 12: Case Studies using Arrays and Strings
Part 3: Object-Oriented Programming (6 Lessons)
- Lesson 13: Introduction to OOP - Classes and Objects
- Lesson 14: Encapsulation and Access Modifiers
- Lesson 15: Constructors
- Lesson 16: Inheritance - Polymorphism and Superclass/Subclass Relationships
- Lesson 17: Interfaces and Abstract Classes
- Lesson 18: Case Studies using OOP Concepts
Part 4: Algorithm Design and Analysis (6 Lessons)
- Lesson 19: Big O Notation - Understanding Time and Space Complexity
- Lesson 20: Algorithm Design Strategies (divide and conquer, recursion)
- Lesson 21: Searching Algorithms (linear search, binary search)
- Lesson 22: Sorting Algorithms (selection sort, bubble sort, insertion sort, merge sort)
- Lesson 23: Recursion - Understanding Recursive Functions
- Lesson 24: Efficiency Analysis of Algorithms - Choosing the Best Approach
Part 5: Advanced Topics and Review (6 Lessons)
- Lesson 25: Collections Framework (ArrayList, LinkedList)
- Lesson 26: Two-Dimensional Graphics and JavaFX Introduction (Optional)
- Lesson 27: File I/O - Reading and Writing Data Files
- Lesson 28: Exceptions Handling - Identifying and Handling Errors
- Lesson 29: AP Exam Review - Focus on Key Concepts and Practice Problems
- Lesson 30: Mock Exam – Simulated Testing Environment with Timed Practice
Additional Resources
- https://www.learnjavaonline.org/
- https://beginnersbook.com/java-tutorial-for-beginners-with-examples/
- https://www.w3schools.com/java/
- https://www.tutorialspoint.com/java/
- https://codingbat.com/java
- https://docs.oracle.com/javase/tutorial/
- https://www.javatpoint.com/java-tutorial
- https://www.codecademy.com/learn/learn-java
- https://apcentral.collegeboard.org/courses/ap-computer-science-a
- https://code.org/curriculum/csa
- https://help.fiveable.me/article/68-finding-ap-comp-sci-a-content
- https://en.wikipedia.org/wiki/AP_Computer_Science_A
Source Code of this course
https://github.com/stoneskin/learnJava