Skip to main content
← Advanced Topics in Computer Science

Advanced Topics in Computer Science Course Outline

Every unit and lesson in Advanced Topics in Computer Science (Honors): recursion, algorithm efficiency, searching and sorting, data structures and graphical user interfaces, in Java.

9 units38 lessons9 unit reviewsPrerequisite: AP® CSA and Algebra 2JavaHonors level

Try the student practice samples in the first expanded unit below. The detailed notes will be discussed during the course, with worked examples, guided practice, and time for questions. Enroll to work through the remaining lessons with your tutor.

Explore the study guide
1Unit 1: Object-Oriented DesignDesigning class hierarchies with inheritance, interfaces, generics and exceptions.5 lessons + review
  • 1.1

    Classes, Objects and Encapsulation

    Design classes with private state and clear APIs.

    MCQ Sample
  • 1.2

    Inheritance and Polymorphism

    Build hierarchies and use dynamic dispatch.

    FRQ Sample
  • 1.3

    Abstract Classes and Interfaces

    Separate contracts from implementations.

    Enroll Now
  • 1.4

    Generics

    Write type-safe classes and methods with generics.

    Enroll Now
  • 1.5

    Exceptions and Testing

    Throw, catch and test with unit tests.

    Enroll Now
  • 1R

    Unit Review and Project

    Cumulative practice plus a hands-on project applying Unit 1.

    Enroll Now
2Unit 2: RecursionSolving problems recursively, from strings and arrays to backtracking.4 lessons + review
  • 2.1

    Thinking Recursively

    Identify base and recursive cases and trace calls.

    Enroll Now
  • 2.2

    Recursion on Strings and Arrays

    Write recursive methods on strings and arrays.

    Enroll Now
  • 2.3

    Backtracking

    Solve search problems like N-Queens with backtracking.

    Enroll Now
  • 2.4

    Recursion vs. Iteration

    Compare recursive and iterative solutions and costs.

    Enroll Now
  • 2R

    Unit Review and Project

    Cumulative practice plus a hands-on project applying Unit 2.

    Enroll Now
3Unit 3: Algorithm EfficiencyMeasuring algorithms by operation counts, Big-O and memory use.4 lessons + review
  • 3.1

    Counting Operations

    Count statements executed by loops and nested loops.

    Enroll Now
  • 3.2

    Big-O Notation

    Classify growth rates with Big-O.

    Enroll Now
  • 3.3

    Best, Average and Worst Cases

    Analyze input-dependent performance.

    Enroll Now
  • 3.4

    Space Complexity

    Measure extra memory used by algorithms.

    Enroll Now
  • 3R

    Unit Review and Project

    Cumulative practice plus a hands-on project applying Unit 3.

    Enroll Now
4Unit 4: Searching and SortingSearching and the classic sorts, from quadratic sorts to merge sort and quicksort.5 lessons + review
  • 4.1

    Linear and Binary Search

    Implement and analyze linear and binary search.

    Enroll Now
  • 4.2

    Selection, Insertion and Bubble Sort

    Implement and trace quadratic sorts.

    Enroll Now
  • 4.3

    Merge Sort

    Divide, conquer and merge in O(n log n).

    Enroll Now
  • 4.4

    Quicksort

    Partition around a pivot and analyze cases.

    Enroll Now
  • 4.5

    Comparing Sorting Algorithms

    Compare stability, speed and memory.

    Enroll Now
  • 4R

    Unit Review and Project

    Cumulative practice plus a hands-on project applying Unit 4.

    Enroll Now
5Unit 5: Lists, Stacks and QueuesAbstract data types and their linked implementations: lists, stacks, queues and iterators.5 lessons + review
  • 5.1

    Abstract Data Types

    Specify ADTs by operations, not implementation.

    Enroll Now
  • 5.2

    Linked Lists

    Implement singly and doubly linked lists.

    Enroll Now
  • 5.3

    Stacks

    Implement stacks and apply them to expressions.

    Enroll Now
  • 5.4

    Queues and Deques

    Implement queues and deques with arrays and links.

    Enroll Now
  • 5.5

    Iterators

    Write iterators and use the Iterable interface.

    Enroll Now
  • 5R

    Unit Review and Project

    Cumulative practice plus a hands-on project applying Unit 5.

    Enroll Now
6Unit 6: TreesBinary trees, binary search trees, heaps and why balance matters.4 lessons + review
  • 6.1

    Binary Trees and Traversals

    Traverse trees preorder, inorder, postorder and level order.

    Enroll Now
  • 6.2

    Binary Search Trees

    Insert, search and delete in a BST.

    Enroll Now
  • 6.3

    Heaps and Priority Queues

    Implement heaps and priority queues.

    Enroll Now
  • 6.4

    Balanced Trees

    Explain why balance matters and how rotations restore it.

    Enroll Now
  • 6R

    Unit Review and Project

    Cumulative practice plus a hands-on project applying Unit 6.

    Enroll Now
7Unit 7: Hashing, Sets and MapsHash functions, collision handling, sets and maps, and choosing a structure.4 lessons + review
  • 7.1

    Hash Functions

    Design hash functions and hashCode/equals.

    Enroll Now
  • 7.2

    Collision Resolution

    Handle collisions with chaining and probing.

    Enroll Now
  • 7.3

    Sets and Maps

    Use HashSet, TreeSet, HashMap and TreeMap.

    Enroll Now
  • 7.4

    Choosing the Right Data Structure

    Pick structures by operation costs.

    Enroll Now
  • 7R

    Unit Review and Project

    Cumulative practice plus a hands-on project applying Unit 7.

    Enroll Now
8Unit 8: GraphsExtensionRepresenting graphs and searching them breadth-first and depth-first (extension).3 lessons + review
  • 8.1

    Graph Representations

    Store graphs with adjacency lists and matrices.

    Enroll Now
  • 8.2

    Breadth-First and Depth-First Search

    Traverse graphs breadth-first and depth-first.

    Enroll Now
  • 8.3

    Shortest Paths

    Find shortest paths with BFS and Dijkstra's algorithm.

    Enroll Now
  • 8R

    Unit Review and Project

    Cumulative practice plus a hands-on project applying Unit 8.

    Enroll Now
9Unit 9: Graphical User InterfacesEvent-driven Java programs, layouts, MVC design and a GUI capstone.4 lessons + review
  • 9.1

    Event-Driven Programming

    Respond to events with listeners.

    Enroll Now
  • 9.2

    Components and Layouts

    Build windows with components and layout managers.

    Enroll Now
  • 9.3

    Model-View-Controller Design

    Separate model, view and controller.

    Enroll Now
  • 9.4

    GUI Capstone Project

    Plan, build and present an original GUI application.

    Enroll Now
  • 9R

    Unit Review and Project

    Capstone rubric, written design review and cumulative practice.

    Enroll Now

Independently developed by Code Scholars Tutoring. Lesson order and pacing can be adapted to the student’s school syllabus.