Enjoyed CS50 or Foundations of Computing? You might also love Foundations of Algorithms!
The first day of teaching for this subject is Wednesday, July 24, 2024.
The lecture will be held from 9AM to 11AM and at the Sidney Myer Asia Centre, Carrillo Gantner Theatre.
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.
Our class has no textbook. Instead we will use Grok as an interactive learning platform. Grok is a platform that provides interactive exercises, to help you learn the practical components of programming.
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 [COMP10001] in the subject field or attend office hours as listed on the staff page. The assessment structure is as follows:
Assessment | Timing (tenative) | Weighting |
---|---|---|
Project 1 | 26 Aug ➡️ 12 Sept | 15% |
Project Stage 2 | 16 Sept ➡️ 10 Oct | 15% |
One 1-hour mid-semester test | Mid semester | 10% |
Weekly Programming Exercises | Throughout the teaching period | 10% |
Exam | During the examination period | 50% |
Each week, starting from week two, there will be a problem set to complete. For a total of 10%.
Your mark for the Grok worksheets will be based on the number of green diamonds you obtain by successfully completing problems. There are 100 green diamonds spread over the 19 required worksheets. You may obtain the full 10 marks for the Grok worksheets by completing any of the 75 diamonds. We encourage you to complete more than the required 75 diamonds to aid your understanding of the subject, but doing so will not boost your marks.
Please note that this 75/100 requirement is designed to give you some leeway in case you are ill or are struggling to meet other deadlines. As such, we will not provide further extensions or waivers for the Grok worksheets other than in exceptional circumstances.
If you obtain less than 75 green diamonds, your score will be scaled in the following manner:
Final mark = Number of green diamonds scored / 75 * 10
There will be a mid-semester test in Week 6 (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 a project worth 30% of your final mark. The project will be split into two stages, with the first stage due tentatively in Week 7 and the second stage due in Week 12. Details of the project will be made available closer to the due date of the project.
The written 1.5-hour examination at the end of semester is worth 50% 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 |
20/40 on the project and assignment work |
30/60 combined across the mid-semester test and end-of-semester written examination |