Computer Programming 2

Course Description

Computer Programming 2 is an advanced programming course designed for students who intend to choose computer science as their college major and/or career path. In the first semester, students study data structures and algorithms using the C++ language. Topics in data structures include arrays, stacks, queues, linked lists, binary trees, hash tables, heaps, and graphs. Topics in algorithms include searching and sorting techniques using the above structures. In the second semester, students use the Java language to learn object-oriented programming. Topics in OO include program modelling with UML, encapsulation, data abstraction, modularity, polymorphism, and inheritance. Students complete a collaborative capstone project to conclude the course.

    • Running start: Data structures / C++ (S1), OO / Java (S2)

  • AP Computer Science A offered in conjunction with CP2 (Pending)