This course is offered as a fully online, asynchronous course. Abstract data types (e.g., sets, mappings, and graphs) and their implementation as concrete data structures in Java. Analysis of the running times of programs operating on such data structures, and basic techniques for program design, analysis, and proof of correctness (e.g., induction and recursion).
PREREQUISITES: CSC 171 (Or, any introductory programming course) and MATH 150 (any introductory Discrete Mathematics course)
NOTE: Students must register for the lecture, lab, and workshop sections.