Available To: all qualified students, see placement requirement link on the Science Department page or the Computer Science & Engineering page

Schedule: full year

Special Notes: This course does not count towards the diploma requirement for the Science department. Students taking this course must simultaneously be enrolled in a year of traditional science or have successfully completed three years of traditional science.

Advanced Programming will focus on the cultivation of programming skills through the development and implementation of data structures and algorithms. It is a class that builds coding skills, but more importantly improves students’ ability to think logically, solve advanced problems (for example how your GPS finds the best route or how a video game “interacts” with the player), communicate, and be creative. The course curriculum includes algorithm analysis, linear structures, queues, recursion, sorting and searching algorithms, trees and tree algorithms, graphs and graph algorithms. The prerequisite is Data Structures & Algorithms or AP Computer Science A, including object-oriented programming and writing and using classes in Java. The course emphasizes object-oriented programming and algorithm design and implementation using the Java programming language, though other languages, such as Processing, will be utilized. Successful completion of this course will prepare students well for future studies of computer science at the university level.