Foundations of Computing

Subject COMP10001 (2014)

Note: This is an archived Handbook entry from 2014.

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

This subject is not offered in 2014.

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:


Semester 1: Associate Professor Tim Baldwin


Semester 2: Dr Bernard Pope


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 small 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 simple 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 expected to take 36 hours, 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%)
  • 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, and to the IVLE system 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 credit subjects* for pre-2008 BSc, BASc and combined degree science courses
Science-credited subjects - new generation B-SCI and B-ENG.
Selective subjects for B-BMED
Related Breadth Track(s): Working with Information
Information Technology in Organisations

Download PDF version.