Algorithms and Data Structures I

Terms: 2 (not offered every term)
Grades: 10, 11, 12, PG
Prerequisite: Programming II, Computer Science Advanced, or Permission of the Department

Students explore more sophisticated programming techniques, including: sets, maps, stacks, queues, linked lists, hash tables, trees, heaps, graphs, interfaces and abstract classes. Working collaboratively, students will implement the software design cycle as they design algorithms, code, document, and present their creative projects. The course is structured so students will complete both teacher-designed and student-designed projects. During the winter term, students will complete a more comprehensive project individually or as part of a programming team.