Class Attendance in 2024

The first day of teaching for this subject is Thursday, February 29, 2024.

The lecture will be held from 1:45PM to 3:45PM and at the Sidney Myer Asia Centre, Carrillo Gantner Theatre.


In many projects, it is important for programmers to have fine control over low-level details of program execution, and to be able to assess the cost of a design decision on likely overall program performance. This subject introduces students to a system programming language that gives programmers this kind of control, explores a range of standard data structures and algorithmic techniques, and shows how to apply them to frequently encountered problems.

Learning Materials

The subject is divided into 12 weeks. The class will provide some review slides, as well as lecture presentation slides after the fact.

One key way to make progress in this class is to follow our textbook, which will cover required content not addressed in lecture. Our textbook is the venerable:

Programming, Problem Solving, and Abstraction with C

by Alistair Moffat (revised edition, Pearson, 2012)

The web page at includes an errata listing that you might like to print.

A complete set of the programs used in the book is available from

Subject Communication

Please keep up-to-date and always check the Announcements in Ed

Post any questions to the Ed Discussion page. Read other posts and responses while you wait for a response to your query.

For sensitive inquiries use your student email address and put [COMP10002] in the subject field or attend office hours as listed on the staff page.

The assessment structure is as follows:

Syntax Timing (tenative) Weighting
Problem Sets Weeks 2-9 5%
Mid-Semester Test Week 6 15%
Two Assignments Week 8, Week 11 40%
Exam   40%

Each week, starting from week two and until week nine, there will be a problem set to complete. Each set is worth 1% for a maximum attainable total of 5%.

There will be a mid-semester test in Week 6 (tentative) worth 15% of your final mark. Details of the mid-semester test will be made available closer to the date of the test. To help you prepare, a sample test will also be provided.

There will also be regular project work, to be completed during (and then after) the workshops, including two assessed programming projects that account in total for 40% of your final grade.

The written 1.5-hour examination at the end of semester is worth 40% of your overall mark. The exam will require detailed knowledge of the workshop exercises and projects, so it is important that you understand all of the programming work.

A sample exam will be made available closer to the date of the exam.

To pass the class you must attain all of the following:
50% overall across all assessments
16/40 on the programming assignments
22/55 combined across the mid-semester test and exam