Foundations of Computing

Subject COMP10001 (2016)

Note: This is an archived Handbook entry from 2016.

Credit Points: 12.5
Level: 1 (Undergraduate)
Dates & Locations:

This subject has the following teaching availabilities in 2016:

Semester 1, Parkville - Taught on campus.
Pre-teaching Period Start not applicable
Teaching Period 29-Feb-2016 to 29-May-2016
Assessment Period End 24-Jun-2016
Last date to Self-Enrol 11-Mar-2016
Census Date 31-Mar-2016
Last date to Withdraw without fail 06-May-2016

Semester 2, Parkville - Taught on campus.
Pre-teaching Period Start not applicable
Teaching Period 25-Jul-2016 to 23-Oct-2016
Assessment Period End 18-Nov-2016
Last date to Self-Enrol 05-Aug-2016
Census Date 31-Aug-2016
Last date to Withdraw without fail 23-Sep-2016

Timetable can be viewed here. For information about these dates, click here.
Time Commitment: Contact Hours: 60 hours, comprised of three 1-hour lectures and one 2-hour workshop per week
Total Time Commitment:

170 hours





Recommended Background Knowledge:


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:

For the purposes of considering request for Reasonable Adjustments under the Disability Standards for Education (Cwth 2005), and Student Support and Engagement Policy, academic requirements for this subject are articulated in the Subject Overview, Learning Outcomes, Assessment and Generic Skills sections of this entry.

It is University policy to take all reasonable steps to minimise the impact of disability upon academic study, and reasonable adjustments will be made to enhance a student's participation in the University's programs. Students who feel their disability may impact on meeting the requirements of this subject are encouraged to discuss this matter with a Faculty Student Adviser and Student Equity and Disability Support:


Prof Christopher Leckie, Prof Tim Baldwin


Semester 1: Professor Tim Baldwin


Semester 2: A/Prof Chris Leckie


Subject Overview:


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.

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

  • 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.

Prescribed Texts:


Breadth Options:

This subject potentially can be taken as a breadth subject component for the following courses:

You should visit learn more about breadth subjects and read the breadth requirements for your degree, and should discuss your choice with your student adviser, before deciding on your subjects.

Fees Information: Subject EFTSL, Level, Discipline & Census Date
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.



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.

Related Course(s): Bachelor of Biomedicine
Diploma in Informatics
Related Majors/Minors/Specialisations: Science-credited subjects - new generation B-SCI and B-ENG.
Selective subjects for B-BMED

Download PDF version.