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 2017 Handbook:
Or view archived Handbooks
You’re currently viewing the 2017 version of this subject


Year of offer2017
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


INFO10001 Informatics-1:Practical Computing (prior to 2011)

615-145 Concepts of Software Development 1

433-151 Introduction to Programming (Advanced)

433-171 Introduction to Programming

600-151 Informatics-1: Practical 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


Additional details

  • A three-stage project, requiring approximately 30 - 35 hours of work, with stages due at the end of each third of the semester - approximately weeks 4, 8, and 12 (30%)
  • One 1-hour mid-semester test (10%)
  • A workshop assignment to demonstrate programming competency, due two thirds of the way through semester (10%), requiring approximately 10 - 13 hours of work per student
  • One 2-hour end-of-semester examination (50%).

Hurdle requirement: To pass the subject, students must obtain at least:

  • 50% overall, 20/40 for the project and assignment work
  • And 30/60 for the mid-semester test and end-of-semester written examination combined.

Intended Learning Outcomes (ILOs) 1-6 are addressed in the projects, the mid-semester test, and the workshop assignment and the final exam.

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 period27 February 2017 to 28 May 2017
    Last self-enrol date10 March 2017
    Census date31 March 2017
    Last date to withdraw without fail 5 May 2017
    Assessment period ends23 June 2017

    Semester 1 contact information

    Semester 1: Professor Tim Baldwin

    email: tbaldwin@unimelb.edu.au

    Semester 2: A/Prof Chris Leckie

    email: caleckie@unimelb.edu.au

  • 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 period24 July 2017 to 22 October 2017
    Last self-enrol date 4 August 2017
    Census date31 August 2017
    Last date to withdraw without fail22 September 2017
    Assessment period ends17 November 2017

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

Last updated: 10 August 2019