CECS Professional Skills Mapping

COMP3320 — High Performance Scientific Computing

code: COMP3320
name: High Performance Scientific Computing
unit value: 6
description: This course provides an introduction to High Performance Computing with an orientation towards applications in science and engineering. Aspects of numerical computing and the design and construction of sophisticated scientific software will be considered. The focus will be on the C and C++ programming languages, although reflecting the reality of modern scientific computation this course will also touch on other languages such as Python, Java and FORTRAN95. The course will study high performance computer architectures, including modern parallel processors, and will describe how an algorithm interacts with these architectures. It will also look at practical methods of estimating and measuring algorithm/architecture performance.
The following topics will be addressed: the C++ programming language; basic numerical computing from aspects of floating point error analysis to algorithms for solving differential equations; the engineering of scientific software; general high performance computing concepts and architectural principles; modern scalar architectures and their memory structure; performance and programmability issues, and program analysis techniques for high performance computing; parallel computing paradigms and programming using the OpenMP standard; trends in HPC systems.
P&C: https://programsandcourses.anu.edu.au/course/COMP3320
course learning outcomes:
  1. Appreciate the building blocks of scientific and engineering software.
  2. Demonstrate a basic knowledge of numerical computing using an appropriate programming language.
  3. Be competent in experimental computing in a numerical context and of the optimisation of algorithms on high performance architectures.
  4. Be able to reason about the accuracy of mathematical and numerical models of real physical phenomena.
  5. Have an awareness of the modern field of computational science and engineering and of the impact of high performance computing on science and industry.
  6. Have an understanding of the various paradigms of high performance computing and their potential for performance and programmability.
  7. Be capable of writing algorithms that yield good performance on high-performance architectures, and to be able to estimate and evaluate their performance.
assessment:
  1. Assignment 1 (20%)
  2. Assignemnt 2 (20%)
  3. Mid-Semester Exam (20%)
  4. Final Exam (40%)

Mapped learning outcomes

learning outcome1. KNOWLEDGE AND SKILL BASE2. ENGINEERING APPLICATION ABILITY3. PROFESSIONAL AND PERSONAL ATTRIBUTESassessment tasks
1.11.21.31.41.51.62.12.22.32.43.13.23.33.43.53.61234
  1. Appreciate the building blocks of scientific and engineering software.
  1. Demonstrate a basic knowledge of numerical computing using an appropriate programming language.
  1. Be competent in experimental computing in a numerical context and of the optimisation of algorithms on high performance architectures.
  1. Be able to reason about the accuracy of mathematical and numerical models of real physical phenomena.
  1. Have an awareness of the modern field of computational science and engineering and of the impact of high performance computing on science and industry.
  1. Have an understanding of the various paradigms of high performance computing and their potential for performance and programmability.
  1. Be capable of writing algorithms that yield good performance on high-performance architectures, and to be able to estimate and evaluate their performance.

Course contribution towards the Engineers Australia Stage 1 Competency Standard

This table depicts the relative contribution of this course towards the Engineers Australia Stage 1 Competency Standard. Note that this illustration is indicative only, and may not take into account any recent changes to the course. You are advised to review the official course page on P&C for current information..

1. KNOWLEDGE AND SKILL BASE
1.1
 
1.2
 
1.3
 
1.4
 
1.5
 
1.6
 
2. ENGINEERING APPLICATION ABILITY
2.1
 
2.2
 
2.3
 
2.4
 
3. PROFESSIONAL AND PERSONAL ATTRIBUTES
3.1
 
3.2
 
3.3
 
3.4
 
3.5
 
3.6
 

Engineers Australia Stage 1 Competency Standard — summary

1. KNOWLEDGE AND SKILL BASE
1.1Comprehensive, theory based understanding of the underpinning natural and physical sciences and the engineering fundamentals applicable to the engineering discipline.
1.2Conceptual understanding of the, mathematics, numerical analysis, statistics, and computer and information sciences which underpin the engineering discipline.
1.3In depth understanding of specialist bodies of knowledge within the engineering discipline.
1.4Discernment of knowledge development and research directions within the engineering discipline.
1.5Knowledge of contextual factors impacting the engineering discipline.
1.6Understanding of the scope, principles, norms, accountabilities and bounds of contemporary engineering practice in the engineering discipline.
2. ENGINEERING APPLICATION ABILITY
2.1Application of established engineering methods to complex engineering problem solving.
2.2Fluent application of engineering techniques, tools and resources.
2.3Application of systematic engineering synthesis and design processes.
2.4Application of systematic approaches to the conduct and management of engineering projects.
3. PROFESSIONAL AND PERSONAL ATTRIBUTES
3.1Ethical conduct and professional accountability.
3.2Effective oral and written communication in professional and lay domains.
3.3Creative, innovative and pro-active demeanour.
3.4Professional use and management of information.
3.5Orderly management of self, and professional conduct.
3.6Effective team membership and team leadership.

Updated:  18 February 2021/ Responsible Officer:  Dean, CECS/ Page Contact:  CECS Academic Education Services