This course reinforces and increases the depth of understanding of the basic concepts of Computer Science.
It covers advanced programming concepts as an extension of the topics taught in Computer Science 2 and AP Computer Science.
This includes data structures, access methods, recursive programming, software development and building a strong logic foundation.
Concepts in this course will be introduced using the Java programming language.
Topics of study include, but are not limited to: Inheritance, Recursion, Abstract Classes, Iterators, Big O Notation, Exception Handling, Sets, Maps, Number Systems, Stacks, Queues, Linked Lists, Hash Tables, Trees, Heaps, and Graph Theory.
Students are expected to use their prior knowledge of Computer Science to explore new ideas.