Last updated: 17 March 2004

Home Page for CM10135
Programming II   2004
(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 labs have the content of the previous week.  So there weren't any labs on 9 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 consist of answering three out of four questions, two of which will be from each half of the course.

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

10 February
Intro to programming, data structures, algorithms and sorting.
Reinventing the Wheel, Algorithm Examples: Sorting, Intro to Algorithms and Complexity.
Lists in different languages.
17 February
Algorithms and complexity.
Logarithmic Complexity and the Big O, The Complexity of Various Sort Algorithms, Searching & Complexity
24 February
Searching and exceptions.
Industrial Action, Errors, Exceptions and Nonlinear Control, Searching Applications
Coursework 1

2 March
Concurrency & threading.
Space, Class & Interface
, Concurrency and Threading, When Threading Goes Bad
Coursework 1
9 March
Intro to Graphical User Interfaces, Panels, Components & Layouts Galore, Applets & Java's Sordid History
Coursework 2
16 March
Internet programming.
Intro to Networking, How to Network, Some Final Protocols
Coursework 2
23 March -
21 May
Part B Part B

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

I did finally recommended some textbooks during lecture 12, though they don't cover all the material See the link for details.  Last year Dr. Paddon used Big Java, so that should be in the library.  I think he's using something else this year.

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've seen a couple times in class) is eclipse.

page author: Joanna Bryson