Last updated: 7 February 2006

Home Page for CM10135
Programming II   2006
(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. 

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 (but maybe there will be more questions, we'll see).

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

7 February
Intro to programming, data structures, algorithms and sorting.
Reinventing the Wheel, Algorithm Examples: Sorting, Intro to Algorithms and Complexity.
Lists in different languages.
14 February
Algorithms, complexity and search.
Logarithmic Complexity and the Big O, The Complexity of Various Sort Algorithms, Searching & Complexity
Sorting.
21 February
Java class structure and non-linear control.
 Space, Class & Interface, Errors, Exceptions and Nonlinear Control, Concurrency and Threading

28 February
Concurrency, threading & GUIs.
When Threading Goes Bad
, Intro to Graphical User Interfaces, Panels, Components & Layouts Galore

Robot competitions.
7 March
GUIs & Networking
Applets & Java's Sordid History, Intro to Networking, How to Network

14 March
Search Applications & Internet programming.
 
Some Final Protocols, Searching Applications 1, Searching Applications II

The rest of term.
Part B Part B

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

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