Logo

COM2001 - Advanced Programming Topics (Second Semester)

Lectures

(references to the two main textbooks are included at particular points in the lecture notes)

Mike Stanett's Notes

Mike Stannett's well-written notes, from previous years when he has lectured on COM2001, may help you with some of the concepts from the lectures. I do not cover exactly the same material as Mike does, and also I may use notation slightly differently, but you may in particular find the sections on inductive proof and abstract data types useful; in general sections 3 to 7 are those relevant for the course. N.B. for the exam the examinable material will be that covered in the lectures, and notation as used in the lectures takes precendent over that in Mike's notes:

Timetable

Reading weeks to work on the formative assessments will be announced according to progress made during the lectures (see also Office Hours). However due to research visits neither lectures nor office hours will take place on the following dates: Lectures and reading weeks will be as follows (up to Easter vacation) After the Easter vacation labs will replace reading weeks, and the course will conclude with a revision lecture

Office Hour

Office hours will run during assessment preparation weeks, in the timeslots usually used by the lectures. James' teaching office is room 152 Regent Court. N.B. on the dates indicated under 'Timetable' above no offce hours will run.

Haskell Code

Haskell code from the lectures and assignments can be found below. I recommend ghci as a high-quality cross-platform Haskell interpreter

Complexity Visualiser

Not sure if your running time is polynomial or exponential? Not sure how O(n log n) relates to O(n2)? The Sheffield Complexity Visualiser can help you: (N.B. the CDF version will not work using the free Wolfram CDF Player; unless you have a copy of Wolfram CDF Player Pro or Mathematica then please use the Sage version instead)

Assessment

Assessment will be 100 percent by written examination. Two formative assessments with feedback will be set during the semester to prepare for the exam.

Course Texts

No one book encompasses the material taught during semester 2. However, two important references are Thompson (for Haskell) and Cormen, Lieserson, Rivest and Stein (CLRS, for algorithms). Both should be available in the library.

Just for Fun


James A. R. Marshall. Last modified on May 13th 2015