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. There is also a moodle page associated with this course, which contains forums & will be where you submit your coursework.
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 handed out
threading & GUIs.
When Threading Goes Bad, Intro to Networking, How to Network
Ongoing support for Coursework 1
Some Final Protocols, Intro to Graphical User Interfaces, Panels, Components & Layouts Galore
Coursework 1 Due 28 February
Coursework 2 handed out
Applications & Internet
Applets & Java's Sordid History, Searching Applications 1, Searching Applications II
|Ongoing support for Coursework 2|
||Part B||Coursework 2 - 1st increment due,
marked in lab.
||Part B||Coursework 2 due|
|The rest of term.
||Part B||Part B|