Abstract data types and data structures for implementing them. Linked data structures. Object Oriented Programming. Encapsulation and information-hiding. Testing. Specifications. Analyzing the efficiency of programs. Recursion. Prerequisite CSCA08H3 Exclusion CSC148H, CSC111H Breadth Requirements Quantitative Reasoning Link to UTSC Timetable