Description:
Abstract data types and data structures for implementing them.
Linked data structures. Encapsulation and information-hiding.
Object-oriented programming in a language such as Java. Specifications.
Analyzing the correctness and efficiency of programs using mathematical
reasoning. Recursion. Recurrence relations for analysing the
efficiency of recursive code. This course assumes programming
experience in an object-oriented language such as C++ or Java,
as provided by CSC108H. Students who already have this background
may consult the Computer Science Undergraduate Office for advice
about skipping CSC108H. Practical (P) sections consist of supervised
work in the computing laboratory. These sections are offered
when facilities are available, and attendance is required.
|