Algorithms and complexity. Exception handling. Event handling. Graphics. Multithreading. Network programming.
Data structures. Abstract data types and classes (lists, stacks, queues, etc.) Inheritance vs composition. Abstract vs concrete classes. Self-referential classes.
The schedule on this page is subject to change. This page is provided as a resource, mostly so you can find lecture notes and problem sets.
Topics (exact organization still subject to change)
programming, data structures, algorithms and sorting.
Reinventing the Wheel, Algorithm Examples: Sorting, Intro to Algorithms and Complexity.
in different languages.
||Algorithms, complexity and search.
Logarithmic Complexity and the Big O, The Complexity of Various Sort Algorithms, Searching & Complexity
structure and non-linear control.
Space, Class & Interface, Errors, Exceptions and Nonlinear Control, Concurrency and Threading
|Coursework 1 Handout: 1 March
Personal tutoring on CW 1.
threading & GUIs.
When Threading Goes Bad, Intro to Graphical User Interfaces, Panels, Components & Layouts Galore
1 Due: 17 March
Applets & Java's Sordid History, Intro to Networking, How to Network
(Handout 15 March)
||Part B||Networking for CW2
|18 or 25 of April
Applications & Internet
Some Final Protocols, Searching Applications 1, Searching Applications II
(Due 21 April)
|The rest of term.
||Part B||Part B|