All lectures for the semester are now available.
The first day of teaching for this subject is March 1, 2022 and classes will be commencing as scheduled. The first lecture will be delivered in person, live-streamed, and available subsequently as a recording.
Teaching will be delivered both in-person (for some workshops, consultations, and lectures), and online. The exact modes of lecture delivery will be determined early in semester, on the basis of student feedback and feasibility.
To attend any in person components, you must submit your vaccination details to the University.
Arrangements may change following the directions of the University's COVID response team, and local and state government directions
For more information please visit the University's Return to Campus page
Overview
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. This semester we are making the entire semester’s Grok exercises available at the start—to support all the speed daemons among you.
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
The web page at http://people.eng.unimelb.edu.au/ammoffat/ppsaa/ includes an errata listing that you might like to print.
A complete set of the programs used in the book is available from http://people.eng.unimelb.edu.au/ammoffat/ppsaa/c/.
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.
To see the components of this subject, go to Modules
Feel free to ask questions during/after lecture time!
Assessments
There will be a mid-semester test in Week 5 (tentative) worth 10% 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 30% of your final grade.
The written two-hour examination at the end of semester is worth 60% 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.
Note: There are hurdle requirements on both assignment work and the exam/mid-semester test.
Most course content © University of Melbourne, (CRICOS: 00116K ABN: 84 002 705 224)