Course Details

Course Code COMP9020
Course Title Foundations of Computer Science
Units of Credit 6
Course Website
Handbook Entry

Course Summary

The official scope is: mathematical methods for designing correct and efficient programs; mathematics for algorithm analysis; logic for proving and verification.

The actual content is taken from a list of subjects that constitute the basis of the tool box of every serious practitioner of computing: set and relation theory; induction, recursion and recurrence relations; order of growth of functions; structured counting (combinatorics); discrete probability; graph theory and trees for algorithmic applications; propositional logic and boolean algebras.

Course Timetable

The course timetable is available here.

Course Aims

After successfully completing this course, you will have developed an increased level of mathematical maturity to assist with the fundamental problem of finding, formulating, and proving properties of programs.

Student Learning Outcomes

After According to UNSW policy, graduate attributes are important because the disciplinary knowledge that students develop at university is not adequate in itself as the basis for their future lives. Instead, graduates need qualities and skills that equip them for lifelong learning. These include critical thinking and problem-solving skills as well as communication skills and information literacy skills.

This course contributes to the development of the following graduate capabilities:

Graduate Capability Acquired in
scholarship: understanding of their discipline in its interdisciplinary context lectures
scholarship: capable of independent and collaborative enquiry problem sets, in-class quizzes
scholarship: rigorous in their analysis, critique, and reflection in-class exercises, problem sets
scholarship: able to apply their knowledge and skills to solving problems problem sets
scholarship: capable of effective communication forum
scholarship: information literate lectures, problem sets
scholarship: digitally literate lectures, problem sets
professionalism: capable of independent, self-directed practice problem sets
professionalism: capable of operating within an agreed Code of Practice all course-work, by doing it yourself
global citizens: culturally aware and capable of respecting diversity and acting in socially just/responsible ways interaction with your fellow students

Assumed Knowledge


Teaching Rationale

Lectures will include exercises where we examine the practice of formulating and proving mathematical properties of relevance to Computer Science. Problem sets aim to deepen analysis and understanding via additional examples and problems.

Teaching Strategies

  • Lectures introduce concepts and show examples
  • Problem sets reinforce concepts, provide additional examples and allow students to solve problems


Details The final mark is determined as the sum of the marks for the assessable components for this course:

  • 100% exams:
    • a mid-session test (1 hour in week 6) worth up to 30 marks
    • a final exam (2 hours) worth up to 100 marks
  • Your final overall mark for this course will be the maximum of f and m + f * 0.7, where
    • m is the mid-session test mark
    • f is the final exam mark
    In other words, the mid-term exam can only improve your final overall mark. To pass the course, your final overall mark must be 50 or higher. Students who score max(f; m+f*0.7) ≥ 47 can sit the supplementary exam, in which they have to achieve a mark ≥50 to pass.

Academic Honesty and Plagiarism

UNSW has an ongoing commitment to fostering a culture of learning informed by academic integrity. All UNSW staff and students have a responsibility to adhere to this principle of academic integrity. Plagiarism undermines academic integrity and is not tolerated at UNSW. Plagiarism at UNSW is defined as using the words or ideas of others and passing them off as your own.

If you haven't done so yet, please take the time to read the full text of

The pages below describe the policies and procedures in more detail:

Course Schedule

Numbers, Sets, Alphabets week 1
Logic week 2-3
Function and relation theory week 4-5
Mid-session test week 6
Public holiday week 7
Graph theory week 8
Induction and recursion week 9
Running time of programs week 10
Counting, Probability, Expectation week 11-13

Resources for Students

The primary textbook associated with this course is

This has been the recommended textbook for the course for the last 10 or more years. The following comprehensive lecture notes, which are from a similar course at MIT, provide supplementary material:

Course Evaluation and Development

This course is being continuously improved and we will conduct a survey through the CATEI (Course and Teaching Evaluation and Improvement) process at the end of session to obtain feedback on the quality of the various course components. Your participation in the survey will be greatly appreciated. Students are also encouraged to provide informal feedback during the session, and to notify the lecturer-in-charge of any problems as soon as they arise.

Student feedback from last offerings indicated that students were very satisfied with the course, but expressed an interest in more quizzes and exercises. We will endeavour to achieve this in this offering.

Resource created Tuesday 31 January 2017, 03:30:24 PM, last modified Tuesday 08 August 2017, 10:41:23 PM.

Back to top

COMP9020 17s1 (Foundations of Computer Science) is powered by WebCMS3
CRICOS Provider No. 00098G