Last updated: 26 April 2005

Home Page for CM10135
Programming II   2005
(part A)

Programming II is will be taught in two parts by two different lecturers.
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.

Note on Labs:  Labs are considered to start after the first lecture Tuesday morning.  So Monday & Tuesday labs have the content of the previous week.  So there weren't any labs on 14 or 15 February.

Unlike Programming I, there will be no semi-mandatory exercises in this course.  Instead, their are four separate courseworks, which will be due every couple of weeks.  The exam will probably consist of answering three out of four questions, two of which will be from each half of the course.

Note on Lecture Notes (below!)  The complete set of last year's lecture notes are below.  Some of these will be updated, but if they are, it will most likely be right before the lecture.  There is a `last updated' line on each page, check that to make sure you have something current.

Week Starting
 Lecture Topics (exact organization still subject to change)
Lab Topics

14 February
Intro to programming, data structures, algorithms and sorting.
Reinventing the Wheel, Algorithm Examples: Sorting, Intro to Algorithms and Complexity.
Lists in different languages.
21 February
Algorithms, complexity and search.
Logarithmic Complexity and the Big O, The Complexity of Various Sort Algorithms, Searching & Complexity
28 February
Java class 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. 
7 March
Concurrency, threading & GUIs.
When Threading Goes Bad
, Intro to Graphical User Interfaces, Panels, Components & Layouts Galore
Coursework 1 Due: 17 March
Robot competitions.
14 March
GUIs & Networking
Applets & Java's Sordid History, Intro to Networking, How to Network
Coursework 2:
(Handout 15 March)
No Labs
11 April 
Part B Networking for CW2
18 or 25 of April
Search Applications & Internet programming.
Some Final Protocols, Searching Applications 1, Searching Applications II
Coursework 2
(Due 21 April)
The rest of term.
Part B Part B

If you want to meet with Dr. Bryson, schedule an appointment during her office hours.

If you want to know about the exam, look at the lecture notes for Lecture 16.

I've  recommend some textbooks (see lecture 3), though they don't cover all the material. See the link for details.  In 2003, Dr. Paddon used Big Java, so that should be in the library.  I think he's now using something else.

Here are some excellent notes on data structures, sorting, searching and complexity.  The `pseudo code' there is mostly C, but that should be much easier for a Java programmer to read than Lisp is!  There are also little animations so most of you can watch the sort algorithms work.

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.

page author: Joanna Bryson