• Class Number 3405
  • Term Code 3130
  • Class Info
  • Unit Value 6 units
  • Mode of Delivery In Person
  • COURSE CONVENER
    • Prof Louis Moresi
  • LECTURER
    • Prof Louis Moresi
    • Dr Navid Constantinou
  • Class Dates
  • Class Start Date 22/02/2021
  • Class End Date 28/05/2021
  • Census Date 31/03/2021
  • Last Date to Enrol 01/03/2021
SELT Survey Results

Computational Geosciences: Problem-solving, Logical Thinking and Programming. (EMSC8033)

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. Apply strategies for:
    • Breaking complex tasks down into manageable pieces;
    • Tackling such tasks, and verifying that results are sound;
    • Identifying and resolving undesired or unexpected results.
  2. Apply Python in their research work, including:
    • Read and write data files in a variety of formats;
    • Create figures and animations suitable for analysing or presenting results;
    • Undertake simple computational modeling and simulation tasks.
  3. Recognize the fundamental concepts of programming and computer science, supporting the development of more advanced skills through self-study and further practice.
  4. Teach themselves other programming languages (e.g. Matlab, Fortran, C, …) as required.

Recommended student system requirements 

ANU courses commonly use a number of online resources and activities including:

  • video material, similar to YouTube, for lectures and other instruction
  • two-way video conferencing for interactive learning
  • email and other messaging tools for communication
  • interactive web apps for formative and collaborative activities
  • print and photo/scan for handwritten work
  • home-based assessment.

To fully participate in ANU learning, students need:

  • A computer or laptop. Mobile devices may work well but in some situations a computer/laptop may be more appropriate.
  • Webcam
  • Speakers and a microphone (e.g. headset)
  • Reliable, stable internet connection. Broadband recommended. If using a mobile network or wi-fi then check performance is adequate.
  • Suitable location with minimal interruptions and adequate privacy for classes and assessments.
  • Printing, and photo/scanning equipment

For more information please see https://www.anu.edu.au/students/systems/recommended-student-system-requirements

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). The feedback given in these surveys is anonymous and provides the Colleges, University Education Committee and Academic Board with opportunities to recognise excellent teaching, and opportunities for improvement. The Surveys and Evaluation website provides more information on student surveys at ANU and reports on the feedback provided on ANU courses.

Other Information

Remote participation will be supported through Zoom interaction for all lectures. All exercises are supported by Jupyter notebooks in the cloud and are therefore suitable for remote students. The final assessment is an oral exam which can also be conducted through Zoom.

Class Schedule

Week/Session Summary of Activities Assessment
1 Week 7 of the Semester, week 1 of the course. Introduction to programming concepts; Introduction to Jupyter; Core Python features: Variables and functions, Loops and conditionals, Lists tuples and dictionaries. The course runs in the second half of the semester. The first three weeks are taught intensively, with classes 10-12 and 2-5 Mondays, Wednesdays and Fridays.
2 Week 8 of the Semester, week 2 of the course. String processing; File handling; Modules; Exceptions; Introduction to graphical output. Assessment 1 to be completed in class time in Week 2.
3 Week 9 of the Semester, week 3 of the course. Plotting; Maps; Data analysis tools.
4 Week 10 of the Semester, week 4 of the course. Independent work on assessed exercise.
5 Week 11 of the Semester, week 5 of the course. Independent work on assessed exercise.
6 Week 12 of the Semester, week 6 of the course. Independent work on assessed exercise. Assessment 2 to be submitted at the end of Week 6

Assessment Summary

Assessment task Value Due Date Return of assessment Learning Outcomes
In-class assessment 20 % * * 1,4
Independent assessed exercise 80 % 28/05/2021 01/07/2021 2,3

* 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 Misconduct Rule before the commencement of their course. Other key policies and guidelines include:

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

Examination(s)

There will be an oral examination following submission of the end-of-course assessed task. Details and a schedule will be provided in class.

Assessment Task 1

Value: 20 %
Learning Outcomes: 1,4

In-class assessment

You will be given a number of short programming tasks to complete during class time. These will be provided as a Jupyter notebook, mirroring the format used throughout the course. You should attempt all tasks, and submit the notebook containing your solutions via Wattle.

Due date - to be confirmed

Rubric

GradeCode qualityComments and documentation

High distinction

Submitted code is a complete and elegant solution to the stated problem. No errors or omissions are present. Code is concise, clear and readily understood, displaying a level of sophistication and a full understanding of the Python language. Solutions may extend beyond the stated problem.

Code is fully and clearly documented, with comprehensive, well-structured explanation of function interfaces and program logic.

Distinction

Submitted code fully addresses the stated problem, providing correct output(s) in all cases. No errors or omissions are present. Code is concise, well-structured and easy to understand. The full range of Python constructs are employed. Errors (e.g. bad user inputs) are handled appropriately.

Code is fully-documented through docstrings and explanatory comments.

Credit

Submitted code fully addresses the stated problem, providing correct output(s) in all cases. No significant errors or omissions are present. Code is well-structured and clear, making use of a range of Python constructs as appropriate. Some attempt is made to check for and handle errors (e.g. bad user inputs) as appropriate.

Some attempt is made to document the code through docstrings and explanatory comments, but this is incomplete or lacking in detail.

Pass

Submitted code largely addresses the stated problem. Some errors or omissions may be present, and outputs may not be correct in all cases. Code may be unsophisticated, with significant redundancy or inefficiency, and may use only a limited subset of the Python language. There may be little or no effort to handle common sources of error (e.g. incorrect user inputs).

Little or no attempt is made to document the code through docstrings and explanatory comments.

Fail

Submitted code does not provide a solution to the stated problem.

Assessment Task 2

Value: 80 %
Due Date: 28/05/2021
Return of Assessment: 01/07/2021
Learning Outcomes: 2,3

Independent assessed exercise

You will be given a number of programming tasks to complete in your own time. These will be provided as a Jupyter notebook, mirroring the format used throughout the course. You should attempt all tasks. You are allowed to use internet resources and discuss solution strategies, etc, with your fellow students, but the submitted code must be your own work, and you must be able to explain how it works. The Jupyter notebook containing your solution should be submitted using Wattle by 5pm on the last day of the semester.


There will be an oral examination following submission of the end-of-course assessed task. Details and a schedule will be provided in class.

Rubric

GradeCode qualityComments and documentationOutput qualityOral examination

High distinction

Submitted code is a complete and elegant solution to the stated problem. No errors or omissions are present. Code is concise, clear and readily understood, displaying a level of sophistication and a full understanding of the Python language. Solutions may extend beyond the stated problem, or use aspects of Python not directly taught during the course.

Code is fully and clearly documented, with comprehensive, well-structured explanation of function interfaces and program logic.

Output (e.g. maps & figures) is of exemplary quality, conveying all required information in a visually-appealing manner, and of a standard suitable for submission in a top-quality journal.

The student displays a comprehensive understanding of their code, and can fully justify the choices they made. They are able to discuss other potential solution strategies, and evaluate their pros and cons.

Distinction

Submitted code fully addresses the stated problem, providing correct output(s) in all cases. No errors or omissions are present. Code is concise, well-structured and easy to understand. The full range of Python constructs are employed. Errors (e.g. bad user inputs) are handled appropriately.

Code is fully-documented through docstrings and explanatory comments.

Output conveys all required information without error or omission. Figures are suitable for inclusion in a journal publication, being generally well-presented and visually-appealing.

The student displays a comprehensive understanding of their submission, and is able to discuss and justify the decisions and choices they made during implementation.

Credit

Submitted code fully addresses the stated problem, providing correct output(s) in all cases. No significant errors or omissions are present. Code is well-structured and clear, making use of a range of Python constructs as appropriate. Some attempt is made to check for and handle errors (e.g. bad user inputs) as appropriate.

Some attempt is made to document the code through docstrings and explanatory comments, but this is incomplete or lacking in detail.

Output conveys all required information without error or omission. Figures are suitable for inclusion in a journal publication but may lack polish and visual appeal.

Student displays a comprehensive understanding of their submitted code, and can explain how it works.

Pass

Submitted code largely addresses the stated problem. Some errors or omissions may be present, and outputs may not be correct in all cases. Code may be unsophisticated, with significant redundancy or inefficiency, and may use only a limited subset of the Python language. There may be little or no effort to handle common sources of error (e.g. incorrect user inputs).

Little or no attempt is made to document the code through docstrings and explanatory comments.

Output conveys the required information, perhaps with minor errors or omissions. Figure quality is well below the standard expected in a good journal.

Student displays basic familiarity with their submitted solution.

Fail

Submitted code does not provide a solution to the stated problem.

Output entirely fails to convey the required information.

Student is unable to explain how their code works, leading the examiners to believe that the submission does not represent the students own, independent efforts.

Academic Integrity

Academic integrity is a core part of the ANU culture as a community of scholars. At its heart, academic integrity is about behaving ethically, committing to honest and responsible scholarly practice and upholding these values with respect and fairness.


The ANU commits to assisting all members of our community to understand how to engage in academic work in ways that are consistent with, and actively support academic integrity. The ANU expects staff and students to be familiar with the academic integrity principle and Academic Misconduct Rule, uphold high standards of academic integrity and act ethically and honestly, to ensure the quality and value of the qualification that you will graduate with.


The Academic Misconduct Rule is in place to promote academic integrity and manage academic misconduct. Very minor breaches of the academic integrity principle may result in a reduction of marks of up to 10% of the total marks available for the assessment. The ANU offers a number of online and in person services to assist students with their assignments, examinations, and other learning activities. Visit the Academic Skills website for more information about academic integrity, your responsibilities and for assistance with your assignments, writing skills and study.

Online Submission

You will be required to electronically sign a declaration as part of the submission of your assignment. Please keep a copy of the assignment for your records. Unless an exemption has been approved by the Associate Dean (Education) submission must be through Turnitin.

Hardcopy Submission

For some forms of assessment (hand written assignments, art works, laboratory notes, etc.) hard copy submission is appropriate when approved by the Associate Dean (Education). Hard copy submissions must utilise the Assignment Cover Sheet. Please keep a copy of tasks completed for your records.

Late Submission

Late submission not permitted. If submission of assessment tasks without an extension after the due date is not permitted, a mark of 0 will be awarded.

Referencing Requirements

Accepted academic practice for referencing sources that you use in presentations can be found via the links on the Wattle site, under the file named “ANU and College Policies, Program Information, Student Support Services and Assessment”. Alternatively, you can seek help through the Students Learning Development website.

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

Not permitted

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

Prof Louis Moresi
Louis.Moresi@anu.edu.au

Research Interests


Computational Geodynamics including mantle convection, plate tectonics, regional tectonics, Geomechanics. I am also a strong advocate of open source software and open science. My goal is to ensure you are thoroughly marinated in modern programming practice and source-code stewardship which will also happen to be good skills to take into a scientific research career.

Prof Louis Moresi

By Appointment
Prof Louis Moresi
612 53406
Louis.Moresi@anu.edu.au

Research Interests


Prof Louis Moresi

By Appointment
Dr Navid Constantinou
612 53406
Navid.Constantinou@anu.edu.au

Research Interests


Dr Navid Constantinou

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