Handbook home
Foundations of Computing (COMP10001)
Undergraduate level 1Points: 12.5On Campus (Parkville)
About this subject
- Overview
- Eligibility and requirements
- Assessment
- Dates and times
- Further information
- Timetable(opens in new window)
Contact information
Semester 1
Semester 1: Professor Tim Baldwin
email: tbaldwin@unimelb.edu.au
Semester 2: A/Prof Chris Leckie
email: caleckie@unimelb.edu.au
Overview
Availability | Semester 1 Semester 2 |
---|---|
Fees | Look up fees |
AIMS
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.
INDICATIVE CONTENT
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
INTENDED LEARNING OUTCOMES (ILO)
On completion of this subject the student is expected to:
- Use the fundamental programming constructs (sequence, alternation, selection)
- Use the fundamental data structures (arrays, records, lists, associative arrays)
- Use abstraction constructs such as functions
- Understand and employ some basic program structures
- Understand and employ some basic algorithmic problem solving techniques
- 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.
Last updated: 11 April 2024
Eligibility and requirements
Prerequisites
None
Corequisites
None
Non-allowed subjects
INFO10001
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
Inherent requirements (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
Last updated: 11 April 2024
Assessment
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.
Last updated: 11 April 2024
Dates & times
- Semester 1
Principal coordinator Tim Baldwin Mode of delivery On Campus (Parkville) Contact hours 60 hours, comprised of three 1-hour lectures and one 2-hour workshop per week Total time commitment 170 hours Teaching period 27 February 2017 to 28 May 2017 Last self-enrol date 10 March 2017 Census date 31 March 2017 Last date to withdraw without fail 5 May 2017 Assessment period ends 23 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 coordinator Christopher Leckie Mode of delivery On Campus (Parkville) Contact hours 60 hours, comprised of three 1-hour lectures and one 2-hour workshop per week Total time commitment 170 hours Teaching period 24 July 2017 to 22 October 2017 Last self-enrol date 4 August 2017 Census date 31 August 2017 Last date to withdraw without fail 22 September 2017 Assessment period ends 17 November 2017
Time commitment details
170 hours
Last updated: 11 April 2024
Further information
- Texts
Prescribed texts
None
- Subject notes
LEARNING AND TEACHING METHODS
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.
INDICATIVE KEY LEARNING RESOURCES
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.
CAREERS / INDUSTRY LINKS
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 Handbook entries
This subject contributes to the following:
Type Name Course Master of Science (Mathematics and Statistics) Course Diploma in Informatics Course Bachelor of Biomedicine Informal specialisation Science-credited subjects - new generation B-SCI and B-ENG. Informal specialisation Selective subjects for B-BMED - Breadth options
This subject is available as breadth in the following courses:
- 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: 11 April 2024