1. Handbook
  2. Subjects
  3. Foundations of Computing
  4. Print

Foundations of Computing (COMP10001)

Undergraduate level 1Points: 12.5On Campus (Parkville)

You’re viewing the 2019 Handbook:
Or view archived Handbooks


Year of offer2019
Subject levelUndergraduate Level 1
Subject codeCOMP10001
Semester 1
Semester 2
FeesSubject EFTSL, Level, Discipline & Census Date


Solving problems in areas such as business, biology, physics, chemistry, engineering, humanities, and social sciences often requires manipulating, analysing, and visualising data through computer programming. This subject teaches students with little or no background in computer programming how to design and write basic programs using a high-level procedural programming language, and to solve simple problems using these skills.

This subject is the first subject in the Computing & Software Systems and the Informatics majors, and introduces students to programming and the basics of algorithmic thinking.


Fundamental programming constructs; fundamental data structures; abstraction; basic program structures; algorithmic problem solving, testing and debugging; introduction to the Web, multimedia and visualisation.

Examples of projects that students complete are:

  • A text analytics “library” consisting of a series of independent functions to calculate/extract different things given a document/document collection as input
  • A video recommender system, broken down into a series of functions
  • An AI player for an online card game, designed such that students play off against each other (and against the class) at the end of semester.

Intended learning outcomes

On Completion of this subject,the student is expected to:

  • 1. Use the fundamental programming constructs (sequence, alternation, selection)
  • 2. Use the fundamental data structures (arrays, records, lists, associative arrays)
  • 3. Use abstraction constructs such as functions
  • 4. Understand and employ some basic program structures
  • 5. Understand and employ some basic algorithmic problem-solving techniques
  • 6. Read, write, and debug simple, small programs

Generic skills

On completion of this subject, students should have developed the following generic skills:

  • An ability to apply knowledge of basic science and engineering fundamentals
  • An ability to undertake problem identification, formulation and solution
  • The capacity to solve problems, including the collection and evaluation of information
  • The capacity for critical and independent thought and reflection
  • An expectation of the need to undertake lifelong learning, and the capacity to do so.

Eligibility and requirements





Non-allowed subjects

Students who have previously completed INFO10001 Informatics 1: Practical Computing (prior to 2011) may not enrol in COMP10001 Foundations of Computing.

Students who have previously completed COMP20005 Engineering Computation may not subsequently enrol in COMP10001 Foundations of Computing.

Core participation requirements

The University of Melbourne is committed to providing students with reasonable adjustments to assessment and participation under the Disability Standards for Education (2005), and the Assessment and Results Policy (MPF1326). Students are expected to meet the core participation requirements for their course. These can be viewed under Entry and Participation Requirements for the course outlines in the Handbook.

Further details on how to seek academic adjustments can be found on the Student Equity and Disability Support website: http://services.unimelb.edu.au/student-equity/home


  • A two-stage project, requiring approximately 30 - 35 hours of work, with stages due in approximately weeks 7 and 12 (15% each project stage)
  • 35 hours
Week 1230%
  • •One 1-hour mid-semester test
  • 1 hours
Mid semester10%
  • One 2-hour end-of-semester examination, due during examination period
  • 2 hours
  • Hurdle requirement: And 30/60 for the mid-semester test and end-of-semester written examination combined.
During the examination period50%
  • A workshop assignment to demonstrate programming competency, due two thirds of the way through semester, requiring approximately 10 - 13 hours of work per student .
  • 13 hours
  • Hurdle requirement: 50% overall, 20/40 for the project and assignment work
Week 810%

Dates & times

  • Semester 1
    Principal coordinatorTim Baldwin
    Mode of deliveryOn Campus — Parkville
    Contact hours60 hours, comprised of three 1-hour lectures and one 2-hour workshop per week
    Total time commitment170 hours
    Teaching period 4 March 2019 to 2 June 2019
    Last self-enrol date15 March 2019
    Census date31 March 2019
    Last date to withdraw without fail10 May 2019
    Assessment period ends28 June 2019

    Semester 1 contact information

    Professor Tim Baldwin


  • Semester 2
    Principal coordinatorChristopher Leckie
    Mode of deliveryOn Campus — Parkville
    Contact hours60 hours, comprised of three 1-hour lectures and one 2-hour workshop per week
    Total time commitment170 hours
    Teaching period29 July 2019 to 27 October 2019
    Last self-enrol date 9 August 2019
    Census date31 August 2019
    Last date to withdraw without fail27 September 2019
    Assessment period ends22 November 2019

    Semester 2 contact information

    Professor Chris Leckie


Time commitment details

170 hours

Further information

  • Texts

    Prescribed texts


  • Subject notes


    The subject is delivered through a combination of lectures and workshops (combination of tutorial and individual/group work in a computer lab). Students get a hands-on introduction to Python through a series of online worksheets with embedded programming tasks/automatic assessment, and then go on to complete three projects.


    Students have access to lecture notes, lecture slides, tutorial worksheets, which houses the interactive worksheets as well as a programming environment. The subject LMS site also contains links to recommended resources relating to basic programming, and advanced problems for students who want to extend themselves.


    As an introductory programming subject, this is relevant to all aspects of the IT industry. Exemplar companies/organisations which have been involved in the delivery of the subject (through guest lectures etc.) are: Palantir Technologies (software engineering, intelligent systems), AURIN (Australian Urban Research Infrastructure Network: geomatics, distributed computing, web development), VLSCI (Victorian Life Sciences Computing Initiative; computational biology, bioinformatics, distributed computing, big data). There have also been guest lecturers from within the university in fields including computational ophthalmology, electronic voting, and social media analysis.

  • Breadth options
  • Available through the Community Access Program

    About the Community Access Program (CAP)

    This subject is available through the Community Access Program (also called Single Subject Studies) which allows you to enrol in single subjects offered by the University of Melbourne, without the commitment required to complete a whole degree.

    Entry requirements including prerequisites may apply. Please refer to the CAP applications page for further information.

    Additional information for this subject

    Subject coordinator approval required

  • Available to Study Abroad and/or Study Exchange Students

    This subject is available to students studying at the University from eligible overseas institutions on exchange and study abroad. Students are required to satisfy any listed requirements, such as pre- and co-requisites, for enrolment in the subject.

Last updated: 10 August 2019