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.
|| Lecture Topics (exact organization still
subject to change)
||Lab Topics & Coursework
data structures, and algorithms.
Reinventing the Wheel, Algorithm Examples: Sorting
in different languages
||Sorting, Searching &
Logs & Trees, Sorting & The Big O
Coursework 1 handed out
|| Believe in Space:
Searching, Hashing & Structure.
Searching & Hashing, Space, Class & Interface
|Support for Coursework 1||21 Feb
Errors, Exceptions and Nonlinear Control; Concurrency and Threading
Support for Coursework 1, Due Friday at 11pm
||Getting in Synch.
When Threading Goes Bad; Intro to Networking,
Coursework 2 handed out,
Lab on Networking
How to Network, Internet Protocols
|Support for Coursework 2||13 Mar
|| Graphical User Interfaces.
Intro to GUIs, Components, Layouts and Panes Galore
|Coursework 2 due,
marked/debugged in lab;
Coursework 3 handed out
||Applications of Search
Intelligent Search, Searching in Advance
|Support of Coursework 3||29 Mar
|| IP (The Real World).
Applets & Java's Sordid History
|Support of Coursework 3||17 Apr
Django (2 hour lecture)
|Coursework 3 due; demo in lab||24 Apr
Reliablity & Hardware.
Databases & Reliability
|Django (optional lab)
||Revision lecture Thursday.
||possible revision with
In case you are wondering, the IDE I use (which you'll see
a couple times in class) is eclipse. It is
available on the BUCS machines.
I thought this was fun, but hardly anyone ever played with it so it's no longer an assigned tutorial. But if you are bored, you may want to play with Robot competitions.