A continuation of CSC110Y5 that extends principles of programming and mathematical analysis to further topics in computer science. Topics include object-oriented programming (design principles, encapsulation, composition, and inheritance); binary representation of numbers; recursion and mathematical induction; abstract data types and data structures (stacks, queues, linked lists, trees, graphs); and the limitations of computation.
CSC111H5 and its prerequisite, CSC110Y5, are only offered in the Winter term and are restricted to students in first year Computer Science admission stream. Other students planning to pursue studies in computer science should enrol in CSC108H5, CSC148H5, and MAT102H5.