COMP1100: Introduction to Programming and Algorithms
Builds a working model of computation from the ground up: values, functions, recursion and types, using a functional language before touching anything imperative. Assumes no prior programming experience. The problem sets are small and specific on purpose — the aim is a solid mental model, not breadth.
Credit units
6 units
Instructor
Dr. Alistair Chen
Prerequisites
None — no prior programming experience assumed.
Learning objectives
By the end of this course, students will be able to:
- Read and write small functional programs with confidence
- Use recursion as a default tool for repetition and problem decomposition
- Reason about a program's types before running it
- Break a problem into small, independently testable functions
Assessment
- Weekly programming exercises20%Ten short auto-marked exercises across the semester; the lowest two scores are dropped.
- Assignment 125%A small interactive program covering the first four weeks' material.
- Assignment 225%A larger program combining recursion, custom data types and unit tests.
- Final exam30%Closed-book written exam covering the whole semester.
Exercises and assignments are submitted and auto-marked online; the final exam is an in-person, closed-book paper in the standard end-of-semester exam period.
Timetable
Lecture: Mon 10am–11am, Manning Clark 1
3 tutorial option(s) — pick one on the timetable page after enrolling.
- Tutorial A: Tue 9am–10am, CSIT N101
- Tutorial B: Tue 2pm–3pm, CSIT N102
- Tutorial C: Thu 11am–12pm, CSIT N101
4/4 courses added.