This course teaches introductory programming, fundamental programming language and computer science concepts, and computational problem solving illustrated with applications common in science and engineering, such as simulation and data analysis, visualisation and machine learning models. The course does not require any prior knowledge of programming, computer science or IT. There is an emphasis on designing and writing correct programs: testing and debugging are seen as integral to the programming enterprise.
Learning Outcomes
Upon successful completion, students will have the knowledge and skills to:
- Design and write programming code to solve practical problems of a scientific or engineering nature.
- Ability to read, test and debug small computer programs.
- Advanced ability to use key python libraries for data processing and visualisation.
- Advanced understanding of widely-used algorithms and data structures, and their computational complexity.
- Advanced understanding of design approaches used in scientific pipelines, including data abstraction and array-based and object-oriented programming.
- Advanced understanding of algorithm design paradigms, such as dynamic programming, and their scientific applications.
- Understand and apply principles of high code quality.
- Communicate effectively to both specialist and non-specialist audiences about data processing problems in writing and verbally.
Research-Led Teaching
Examples in class will be based on the Lecturers' experiences in computational science and others.
Required Resources
Students are assumed to have achieved a level of knowledge of mathematics comparable to at least ACT Mathematics Methods or NSW Mathematics or equivalent. No programming, Computer Science or IT experience or skills are required.
Recommended Resources
There are no prescribed texts. We recommend:
"Think Python: How to think like a computer scientist" (2nd Edition) by Allan Downey.
Available from http://greenteapress.com/wp/think-python-2e/, or in paperback (O'Reilly, 2015; ISBN-13: 978-1491939369; ISBN-10: 1491939362).
Introduction to Scientific Programming with Python , by Joakim Sundnes (published by Springer, 2020). An up-to-date (it covers Python 3.x), concise summary of the next book. One of the hallmarks of this book is that is published under an open access license, and then can be downloaded for free.
There are a variety of online platforms you will use to participate in your study program. These could include videos for lectures and other instruction, email and other messaging tools for communication, interactive web apps for formative and collaborative activities, print and/or photo/scan for handwritten work and drawings.ANU outline recommended student system requirements to ensure you are able to participate fully in your learning. Other information is also available about the various Learning Platforms you may use.
Staff Feedback
Students will be given feedback in the following forms in this course:
- written comments
- verbal comments
- feedback to whole class, groups, individuals, focus group etc
Student Feedback
ANU is committed to the demonstration of educational excellence and regularly seeks feedback from students. Students are encouraged to offer feedback directly to their Course Convener or through their College and Course representatives (if applicable). Feedback can also be provided to Course Conveners and teachers via the Student Experience of Learning & Teaching (SELT) feedback program. SELT surveys are confidential and also provide the Colleges and ANU Executive with opportunities to recognise excellent teaching, and opportunities for improvement.
Other Information
Workloads
130 hours of student learning time across the semester includes:
• 3 1/2 hours scheduled time each week (2 lectures and one 1 1/2-hour lab) for 12 weeks and optional drop-in sessions
• Students are expected to spend an average of 5-6 hours per week outside of scheduled labs practicing programming which includes:
• work on assignments, practice exercises, online activities, group meetings and activities for group projects, and reading.
Official course website is https://comp.anu.edu.au/courses/comp1730/
The homework and project assignments are individual. You must write your own submission, and you are expected to be able to explain every aspect of it.
Collaboration (including, of course, outright plagiarism), submitting solutions that you have found on the web, or enlisting others (including AI such as ChatGPT) to work for you on assignments, are all forms of cheating, and will be reported. If you are found to have cheated, this will be noted on your ANU records, your transcript in case of severe misconduct, or further action may be taken in line with the severity of the offense and ANU policy. In serious cases you may even have your enrollment at ANU terminated.
Make sure that you have read and understood the ANU policy on academic honesty and plagiarism.
If you are unsure about what is required of you with respect to academic honesty, please ask any of the course staff or send an e-mail to the course e-mail address. We would much rather discuss the matter with you prior to something occurring than have to resolve it through the academic misconduct process.
Each student in this course is expected to be able to explain and defend any submitted assessment item. Any submitted work may be subject to an additional oral examination, which may result in a change of mark, and, if there is a significant discrepancy between different forms of assessment (for example, homework and examinations, or submitted assignment and oral exam) this may be treated as a case of suspected academic misconduct.
Class Schedule
Week/Session | Summary of Activities | Assessment |
---|---|---|
1 | Introduction; functional abstraction | Intro to Python programming and administrative stuff.
|
2 | Data types; functions | Main Python datatypes and variables like integer, floating-point, string, bool. Declaring and calling functions. |
3 | Control flow: branching and iteration | Branching statement like if else and recursion. Iteration statement like while and for.During Weeks 3-12, we will have three drop-ins per week: the times and locations of these to be advised |
4 | Sequence data type; code quality | Sequence data types like string, list, tuple, the concept of slicing. Best practice about code quality like commenting, documenting, naming, organising code and code efficiency. |
5 | More sequences; testing, and debugging | Character encoding, string operations, iteration over sequence elements. Interpreting errors like syntax errors, runtime errors or semantic errors. Debugging and testing. |
6 | Sequences Advanced; Data analysis and visualisation | More advanced topics like list comprehension, list of lists, objects by reference. Simple data analysis like CSV file format, reading and storing tables, sorting, summary statistics, visualisation using matplotlib. |
7 | Numpy arrays; Files and I/O | The concept of Numpy arrays, motivation, Numpy basics and vectorization. Concepts of Input/Output, files, directories, reading, writing text files. |
8 | Dictionaries and sets; Functions Advanced | Dictionary (dict type), set type. Advanced features like namespace, scope, local vs global names, more recursions. |
9 | Computational complexity; Dynamic programming | Algorithm complexity, big-O notation, searching and sorting. Recursion vs. iterations, concept of dynamic programming, DNA sequence alignment. |
10 | Errors and exceptions | Types of errors, raising and catching exceptions. |
11 | Modules, programs, and classes | Modules, import modules, command-line program, argument parser. Some introduction to classes and object-based programming. |
12 | Computational science; Exam revision | Special topics in computational science. Final exam information, conditions and requirements, types of questions, Q&A session. |
Tutorial Registration
On MyTimeTable
Assessment Summary
Assessment task | Value | Due Date | Learning Outcomes |
---|---|---|---|
Homework 1 | 3 % | 02/03/2025 | 1,2 |
Homework 2 | 3 % | 09/03/2025 | 1,2,3 |
Homework 3 | 3 % | 23/03/2025 | 1,2,3,7 |
Homework 4 | 3 % | 30/03/2025 | 1,2,3,7 |
Revision Quiz | 3 % | * | 1,2,3,4,5,7 |
Project assignment | 35 % | 27/04/2025 | 1,2,3,4,5,6,7,8 |
Final exam | 50 % | * | 1,2,3,4,5,6,7,8 |
* If the Due Date and Return of Assessment date are blank, see the Assessment Tab for specific Assessment Task details
Policies
ANU has educational policies, procedures and guidelines , which are designed to ensure that staff and students are aware of the University’s academic standards, and implement them. Students are expected to have read the Academic Integrity Rule before the commencement of their course. Other key policies and guidelines include:
- Academic Integrity Policy and Procedure
- Student Assessment (Coursework) Policy and Procedure
- Extenuating Circumstances Application
- Student Surveys and Evaluations
- Deferred Examinations
- Student Complaint Resolution Policy and Procedure
- Code of practice for teaching and learning
Assessment Requirements
The ANU is using Turnitin to enhance student citation and referencing techniques, and to assess assignment submissions as a component of the University's approach to managing Academic Integrity. For additional information regarding Turnitin please visit the Academic Skills website. In rare cases where online submission using Turnitin software is not technically possible; or where not using Turnitin software has been justified by the Course Convener and approved by the Associate Dean (Education) on the basis of the teaching model being employed; students shall submit assessment online via ‘Wattle’ outside of Turnitin, or failing that in hard copy, or through a combination of submission methods as approved by the Associate Dean (Education). The submission method is detailed below.
Moderation of Assessment
Marks that are allocated during Semester are to be considered provisional until formalised by the College examiners meeting at the end of each Semester. If appropriate, some moderation of marks might be applied prior to final results being released.
Participation
Required for labs with project assignment assessment by tutors
Examination(s)
- The exam has to be done in-person in the computer labs with restricted Internet access.
- This consists of 3 hours writing time, and an extra 15 minutes to let students handle downloading and uploading files, and checking that students submit what they intend to submit.
Assessment Task 1
Learning Outcomes: 1,2
Homework 1
The goal in this assessment is to read and understand a simple program, and modify it so that it works correctly. The assessment will be of the submitted, working program. Each submission will be assessed individually per student and may be auto-marked to appraise code function.
Assessment Task 2
Learning Outcomes: 1,2,3
Homework 2
The goal in this assessment is to write a function that implements a simple artificial neural network. The assessment will be of a submitted program containing the function. Each submission will be assessed individually per student and may be auto-marked to appraise code function.
Assessment Task 3
Learning Outcomes: 1,2,3,7
Homework 3
The goal of this assessment is to put in practice simple arithmetic operations, control flow statements (branching and iteration), and functions. The assessment will be of a submitted program containing two functions. Each submission will be assessed individually per student and may be auto-marked to appraise code function and include marks for code quality.
Assessment Task 4
Learning Outcomes: 1,2,3,7
Homework 4
The goal in this assessment is to implement a solution to the common problem of approximating an unknown function based on a sample of function values. The assessment will be of a submitted program containing a function. Each submission will be assessed individually per student and may be auto-marked to appraise code function and include marks for code quality.
Assessment Task 5
Learning Outcomes: 1,2,3,4,5,7
Revision Quiz
Held as an in-class practical exercise, this assessment will be a 90 minute quiz of programming exercises.
The assessment's intent is to:
- assess your learning of the course content to date and for you to self-assess your progress
- it is also to help you gain programming experience under controlled conditions prior to the final exam
Notes:
- You will be only allowed one attempt at the quiz.
- Whilst in-class it will still be held under controlled conditions to help simulate the exam.
- Questions in the quiz may be randomised and so it is possible that you may not have the same questions as some of your peers.
- Questions will be auto-marked and the results provided as feedback at the beginning of the next week.
- The quiz mark will be the grade achieved for this assessment.
Permitted materials:
- A single double-sided A4 page (handwritten or printed) containing notes.
- Scribble paper
- Calculator
- Dictionary
Assessment Task 6
Learning Outcomes: 1,2,3,4,5,6,7,8
Project assignment
The assignment has two components: software component (written in Python) and a written report. Assessment of the assignment will include a viva conducted by the student's tutor, to discuss the solution and demonstrate understanding of their work.
Assessment Task 7
Learning Outcomes: 1,2,3,4,5,6,7,8
Final exam
The examination duration is 3 hours and 15 minutes. The exam has to be done on the computer labs with restricted Internet access. This consists of 3 hours writing time, and an extra 15 minutes to let students handle downloading and uploading files, and checking that students submit what they intend to submit.
Academic Integrity
Academic integrity is a core part of the ANU culture as a community of scholars. The University’s students are an integral part of that community. The academic integrity principle commits all students to engage in academic work in ways that are consistent with, and actively support, academic integrity, and to uphold this commitment by behaving honestly, responsibly and ethically, and with respect and fairness, in scholarly practice.
The University expects all staff and students to be familiar with the academic integrity principle, the Academic Integrity Rule 2021, the Policy: Student Academic Integrity and Procedure: Student Academic Integrity, and to uphold high standards of academic integrity to ensure the quality and value of our qualifications.
The Academic Integrity Rule 2021 is a legal document that the University uses to promote academic integrity, and manage breaches of the academic integrity principle. The Policy and Procedure support the Rule by outlining overarching principles, responsibilities and processes. The Academic Integrity Rule 2021 commences on 1 December 2021 and applies to courses commencing on or after that date, as well as to research conduct occurring on or after that date. Prior to this, the Academic Misconduct Rule 2015 applies.
The University commits to assisting all students to understand how to engage in academic work in ways that are consistent with, and actively support academic integrity. All coursework students must complete the online Academic Integrity Module (Epigeum), and Higher Degree Research (HDR) students are required to complete research integrity training. The Academic Integrity website provides information about services available to assist students with their assignments, examinations and other learning activities, as well as understanding and upholding academic integrity.
Online Submission
You will be required to electronically submit all your homework, project assignment and final exam.
Hardcopy Submission
None. All assessment submissions are electronic through Wattle or Ed Lessons.
Late Submission
The homework and project assignments have a hard deadline. Submissions made after this deadline without an approved extension will receive zero marks.
Extensions can only be granted in unforeseeable circumstances beyond your control, and will require supporting documentation (e.g. serious illness supported by a medical certificate or an education access plan - EAP). Technical issues with computers, work or other extra-curricular commitments are not accepted.
If you want to apply for an extension, you must apply through the Extension app (with supporting evidence) before the deadline.
We cannot give an extension beyond a few days. If you believe you have grounds for a longer extension than that, you should apply for deferral instead.
Referencing Requirements
The Academic Skills website has information to assist you with your writing and assessments. The website includes information about Academic Integrity including referencing requirements for different disciplines. There is also information on Plagiarism and different ways to use source material. Any use of artificial intelligence must be properly referenced. Failure to properly cite use of Generative AI will be considered a breach of academic integrity.
Extensions and Penalties
Extensions and late submission of assessment pieces are covered by the Student Assessment (Coursework) Policy and Procedure. Extensions may be granted for assessment pieces that are not examinations or take-home examinations. If you need an extension, you must request an extension in writing on or before the due date. If you have documented and appropriate medical evidence that demonstrates you were not able to request an extension on or before the due date, you may be able to request it after the due date.
Resubmission of Assignments
No provision for resubmission
Privacy Notice
The ANU has made a number of third party, online, databases available for students to use. Use of each online database is conditional on student end users first agreeing to the database licensor’s terms of service and/or privacy policy. Students should read these carefully. In some cases student end users will be required to register an account with the database licensor and submit personal information, including their: first name; last name; ANU email address; and other information.In cases where student end users are asked to submit ‘content’ to a database, such as an assignment or short answers, the database licensor may only use the student’s ‘content’ in accordance with the terms of service – including any (copyright) licence the student grants to the database licensor. Any personal information or content a student submits may be stored by the licensor, potentially offshore, and will be used to process the database service in accordance with the licensors terms of service and/or privacy policy.
If any student chooses not to agree to the database licensor’s terms of service or privacy policy, the student will not be able to access and use the database. In these circumstances students should contact their lecturer to enquire about alternative arrangements that are available.
Distribution of grades policy
Academic Quality Assurance Committee monitors the performance of students, including attrition, further study and employment rates and grade distribution, and College reports on quality assurance processes for assessment activities, including alignment with national and international disciplinary and interdisciplinary standards, as well as qualification type learning outcomes.
Since first semester 1994, ANU uses a grading scale for all courses. This grading scale is used by all academic areas of the University.
Support for students
The University offers students support through several different services. You may contact the services listed below directly or seek advice from your Course Convener, Student Administrators, or your College and Course representatives (if applicable).
- ANU Health, safety & wellbeing for medical services, counselling, mental health and spiritual support
- ANU Accessibility for students with a disability or ongoing or chronic illness
- ANU Dean of Students for confidential, impartial advice and help to resolve problems between students and the academic or administrative areas of the University
- ANU Academic Skills supports you make your own decisions about how you learn and manage your workload.
- ANU Counselling promotes, supports and enhances mental health and wellbeing within the University student community.
- ANUSA supports and represents all ANU students
Convener
![]() |
|
|||
Research InterestsComputational Genomics |
Dr Brian Parker
![]() |
|
Convener
![]() |
|
|||
Research InterestsComputational Genomics |
Dr Dan Andrews
![]() |
|