• Offered by Research School of Earth Sciences
  • ANU College ANU Joint Colleges of Science
  • Course subject Earth and Marine Science
  • Areas of interest Earth and Marine Sciences, Environmental Studies, Earth Physics, Geology
  • Academic career PGRD
  • Course convener
    • Prof Louis Moresi
  • Mode of delivery In Person
  • Co-taught Course
  • Offered in First Semester 2024
    See Future Offerings
  • STEM Course

This course provides an introduction to the fundamental concepts of computer programming and the Python programming language. It is targeted towards the needs of geoscientists. The course is designed to: (i) develop students’ problem-solving skills; (ii) give students a clear understanding of the fundamental concepts of computer programming, such that they are in a good position to learn any programming language required for their research; and (iii) ensure that all students have core competencies in the Python programming language, which will later be utilized in their research for tasks such as modeling, scripting, analyzing and processing data and generating high-quality figures for presentations and publications.

This course is co-taught with undergraduate students but assessed separately.

Learning Outcomes

Upon successful completion, students will have the knowledge and skills to:

  1. Analyse existing software to determine quality, robustness, suitability for a given task. ("Does it do what it says it does", "Can I use it ?", "Should I use it ?");
  2. Approach new problems with a systematic, logical approach based on isolating individual elements, documenting their expected behaviour, testing, and resolving issues;
  3. Identify algorithms in programming and understand how to approach coding from the description of an algorithm;
  4. Understand and apply the principles of data and code integrity, revision control, regression management;
  5. Plan and execute an open-source programming project that appropriately recognises and builds upon prior art and meets standard community expectations for useability and documentation;
  6. Work effectively in a realistic team / community development environment using GitHub (or equivalent) online tools.

Indicative Assessment

  1. Programming exercises to be completed in class (10) [LO 1,2,3]
  2. Quiz on computational theory and practice (10) [LO 1,2,5]
  3. Working in a team software-development environment (Issues, Pull Requests and Code Review) (5) [LO 4,6]
  4. Written project plan and "scope of work" (10) [LO 3,5]
  5. Oral exam / presentation (30) [LO 2,4,5]
  6. Code repository (5) [LO 4,6]
  7. Written project report (30) [LO 2,4,5]

The ANU uses 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. While the use of Turnitin is not mandatory, the ANU highly recommends Turnitin is used by both teaching staff and students. For additional information regarding Turnitin please visit the ANU Online website.


The expected workload will consist of approximately 130 hours throughout the semester including:

  • Face-to face component which may consist of approximately 60 hours of blended lecture / tutorial / practical sessions over 6 weeks in the semester.
  • Approximately 70 hours of self directed study which will include preparation for lectures, practicals, assessments and project work.

Inherent Requirements

No specific inherent requirements have been identified for this course

Requisite and Incompatibility

Incompatible with EMSC4033 You must be enrolled in the Master of Earth Sciences (Advanced) or the Master of Science in Earth Sciences

Prescribed Texts

None specified

Assumed Knowledge

An undergraduate-level background in Earth Sciences, or cognate subjects, such as Chemistry, Marine Science, Engineering, Mathematics, Physics and Physical Geography. Students are assumed to be competent general computer users, but no prior knowledge of programming is required. Some familiarity with basic mathematics is also assumed.


Tuition fees are for the academic year indicated at the top of the page.  

Commonwealth Support (CSP) Students
If you have been offered a Commonwealth supported place, your fees are set by the Australian Government for each course. At ANU 1 EFTSL is 48 units (normally 8 x 6-unit courses). More information about your student contribution amount for each course at Fees

Student Contribution Band:
Unit value:
6 units

If you are a domestic graduate coursework student with a Domestic Tuition Fee (DTF) place or international student you will be required to pay course tuition fees (see below). Course tuition fees are indexed annually. Further information for domestic and international students about tuition and other fees can be found at Fees.

Where there is a unit range displayed for this course, not all unit options below may be available.

6.00 0.12500
Domestic fee paying students
Year Fee
2024 $4440
International fee paying students
Year Fee
2024 $6360
Note: Please note that fee information is for current year only.

Offerings, Dates and Class Summary Links

ANU utilises MyTimetable to enable students to view the timetable for their enrolled courses, browse, then self-allocate to small teaching activities / tutorials so they can better plan their time. Find out more on the Timetable webpage.

The list of offerings for future years is indicative only.
Class summaries, if available, can be accessed by clicking on the View link for the relevant class number.

First Semester

Class number Class start date Last day to enrol Census date Class end date Mode Of Delivery Class Summary
2831 19 Feb 2024 26 Feb 2024 05 Apr 2024 24 May 2024 In Person N/A

Responsible Officer: Registrar, Student Administration / Page Contact: Website Administrator / Frequently Asked Questions