AGES 14  - 18

C++

AP Java is our most advanced Java course, designed for responsible learners looking to challenge themselves. AP Java is an accelerated course that covers everything in Java levels 1 to 3 and more, up to a university level understanding. Students will apply the skills they learn to practice problems, creating their own programs, and creating their own games. By the end of this course, students will be prepared to take the Advanced Placement Computer Science exam, which may qualify them for credits at post-secondary institutions.

Get started
Who is this course for
Advanced Students: This course is for students who have previous coding experience or have completed Java Level 3 or AP Computer Science A. This course is also for students preparing for contests like ACSL, USACO and CCC.
This course typically takes 3-6 months to complete. This depends on the student's experience and how fast they can master the concepts and the knowledge. Our instructors move at the pace of the student, it may take extra time for some students to reinforce what they have learned.
Curriculum
Chapter 1: Program Structure and the Compiler
Chapter 1 is an introduction to C++ and its boilerplate structure. Additionally, students will learn about the command line and how to compile a C++ program.
Chapter 2: Variables and Types
Chapter 2 focuses on the different variables and types in C++. Students will learn how to declare and use variables, as well as naming conventions.
Chapter 3: Constants and Operators
Chapter 3 talks about constants and operators. Students will learn about constant expressions, preprocessor definitions, and the types of operators in C++.
Chapter 4: Input and Output
Chapter 4 focuses on input and output. Students will learn about the different types of iostreams.
Chapter 5: Control Structures
Chapter 5 focuses on control structures, such as: conditionals, iterative loops, and switches.
Chapter 6: Functions
Chapter 6 introduces the fundamentals of functions. This includes: return values, parameters and arguments, scope, and recursion.
Chapter 7: Overloading and Templates
Chapter 7 features function and operator overloading, function templates, and header files.
Chapter 8: Visibility
Chapter 8 talks about name visibility, which includes: scopes and namespaces.
Chapter 9: Arrays and Character Sequences
Chapter 9 talks about arrays, multi-dimensional arrays, and character sequences.
Chapter 10: Pointers
Chapter 10 is all about pointers and references. Students will learn all about pointers, referencing, dereferencing, null, and how variables work in memory.
Chapter 11: Dynamic Memory
Chapter 11 focuses on dynamic memory allocation and deletion. Students will learn how it works and how to safely use it.
Chapter 12: Data Structures
Chapter 12 focuses on data structures, including structs, unions, and enumerated types. Students will learn how to create and use them, as well as the differences between the data structures.
Chapter 13: Classes
Chapter 13 talks about another data type: Classes. Students will dive deep into classes and learn about objects, constructors, member functions, and function templates.
Chapter 14: Special Members
Chapter 14 focuses on special member functions, such as: the default constructor, destructor, copy constructor, copy assignment, move constructor, and move assignment functions.
Chapter 15: Friendship, Polymorphism, and Inheritance
Chapter 15 focuses on the concepts of friendship, polymorphism, and inheritance within classes. Students will learn about friend functions and classes, inheritance, and multiple inheritance.
Chapter 16: Exceptions
Chapter 16 focuses on exceptions and exception handling. Students will learn about the dangers of exceptions and how to properly handle them.
Chapter 17: Virtual Functions
Chapter 17 demonstrates the use of virtual functions. Students will learn about the virtual keyword and its different uses. Additionally, students will be introduced to binding, object slicing, and dynamic casting.
Other courses

You Might Also Be Interested In Our Elective Courses

Introduction to Number Theory
AGES 10 - 15

This course is designed to build the basics of a complicated mathematical field. It is designed to be a complete introduction to the fundamental concepts of number theory for students in grades 7-10.

The class covers topics such as primes and composites; multiples, divisors, and divisibility; prime factorization and its uses; modular arithmetic and more.

Introduction to Geometry
AGES 10 - 15

Students in grades 6-10 will build a solid understanding of more advanced geometry concepts in this course. It is designed to expand on the standard high school geometry curriculum and to challenge students with new concepts and problems.

Topics include congruent and similar triangles, circles, 3D geometry, and introductory trigonometry.


Introduction to Counting and Probability
AGES 10 - 15

To build on the concepts from the Introduction level course, students will build on their Counting and Probability knowledge.

A thorough introduction for students in grades 7-10 to counting and probability topics such as permutations, combinations, Pascal's triangle, geometric probability, basic combinatorial identities, the Binomial Theorem, Pigeonhole Principle Conditional, Probability Graph Theory and more.


Sign up and get a 60-minute free assessment class

Get Started