The Art of Scientific Computation (COMP90072)
Graduate courseworkPoints: 12.5On Campus (Parkville)
For information about the University’s phased return to campus and in-person activity in Winter and Semester 2, please refer to the on-campus subjects page.
Please refer to the LMS for up-to-date subject information, including assessment and participation requirements, for subjects being offered in 2020.
Overview
Availability | Semester 1 Semester 2 |
---|---|
Fees | Look up fees |
The physical, social and engineering sciences make widespread use of numerical simulations and graphical representations that link underlying their theoretical foundations with experimental or empirical data. These approaches are routinely designed and conducted by researchers with little or no formal training in computation, assembling instead the necessary skills from a variety of sources. There is an art to assembling computational tools that both achieve their goals and make good effective use of the available computational resources.
This subject introduces students to a wide range of skills that are commonly encountered in the design and construction of computational tools in research applications:
- Formulation of the task as a sequence of operations or procedures that express the context of the assigned problem in a form accessible to digital computing (Mathematica).
- Implementation of this formulation using computer languages appropriate for numerically intensive computation (C, C++, Fortran)
- Modularization of computationally intensive tasks, either as user-written procedures or existing libraries (for example BLAS, lapack)
- Documentation of the code to explain both its design, operation and limitations (LaTeX)
- Instrumentation of the code to verify its correct operation and monitor its performance (gprof)
- Optimization of the code, including the use of parallelization (OpenMPI)
- Visualization of data using graphical packages or rendering engines (Geomview, OpenGL)
- Interaction with the code through a graphical user interface (Python, Matlab)
These skills are introduced to the student by undertaking a short project that is selected in consultation with the Subject Coordinator.
Intended learning outcomes
The objectives of this subject are:
- to plan and execute a short computational research project that includes conception, implementation and application of appropriate computational methods,
- to understand the effective use and limitations of the numerical algorithms that are used in completing the project,
- to communicate the results obtained from the project using graphical output and computer typesetting software,
- to make efficient use of the available computational resources through the use of tools to profile, optimize and parallelize the code generated in the project,
- to document the project with sufficient detail and clarity that it could be used as the basis of further development by others.
Generic skills
- Time management: the ability to plan and manage an independent project involving a number of different tasks to a deadline
- Computational skills: the ability to adapt existing computational methods and tools to a target application
Last updated: 4 March 2025
Eligibility and requirements
Prerequisites
None
Corequisites
None
Non-allowed subjects
This subject cannot be undertaken by any student admitted to any of the following courses:
MC-ENG Master of Engineering
MC-IT Master of Information Technology
MC-SCICMP Master of Science (Computer Science)
MC-DATASC Master of Data Science
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: 4 March 2025
Assessment
Due to the impact of COVID-19, assessment may differ from that published in the Handbook. Students are reminded to check the subject assessment requirements published in the subject outline on the LMS
Description | Timing | Percentage |
---|---|---|
The software tools that are written by the student and submitted will be assessed on the basis of their accuracy in achieving the goals of the project and the computational efficiency with which these goals are met (60% of total assessment).
| End of semester | 60% |
A document that describes the design of the software tools, the context of the project (which may be in any branch of physical, social or engineering science) and specimen applications of the software will contribute the remaining 40% of the assessment.
| End of semester | 40% |
Additional details
This Dual-Delivery subject has On Campus assessment components.
The subject develops skills through a project-based approach comprising (i) the design and implementation of computer software and (ii) the verification and documentation of that software. The assessment is based on the student's achievement of these two tasks:
Last updated: 4 March 2025
Dates & times
- Semester 1
- Semester 2
Principal coordinator Roger Rassool Mode of delivery On Campus (Parkville) Contact hours Total time commitment 170 hours Teaching period 3 August 2020 to 1 November 2020 Last self-enrol date 14 August 2020 Census date 21 September 2020 Last date to withdraw without fail 16 October 2020 Assessment period ends 27 November 2020
Additional delivery details
This Dual-Delivery subject has On Campus assessment components.
Last updated: 4 March 2025
Further information
- Texts
Last updated: 4 March 2025