Skip to main content

Unit information: Intermediate Scientific Computing in 2021/22

Please note: you are viewing unit and programme information for a past academic year. Please see the current academic year for up to date information.

Unit name Intermediate Scientific Computing
Unit code SCIF20001
Credit points 20
Level of study I/5
Teaching block(s) Teaching Block 4 (weeks 1-24)
Unit director Dr. Tunnicliffe
Open unit status Not open
Pre-requisites

SCIF10001

Co-requisites

None

School/department Science Faculty Office
Faculty Faculty of Science

Description including Unit Aims

This unit is designed for students in the second year of the new “X with Scientific Computing” degrees. It will cover the intermediate scientific computer programming, as well as methods of data acquisition and processing, and data visualisation and graphics programming. At the end of this course students will have the knowledge necessary to participate in scientific computing courses at levels H and M.

Teaching will be delivered, as much as possible, through non-lecture-based approaches. Much of the material lends itself to flipped/modular/bite-sized teaching allowing the students to accumulate credits throughout the teaching period. The topics covered are as follows:

  • Object-oriented programming using a modern computer language (such as C++)
  • Concepts in software engineering: Version control, testing and reproducibility, library/package management
  • Data science: processing and analysing physical data, and use of databases
  • Numerical methods: differential equations; random number generation; linear algebra, matrices and eigenvalues; libraries
  • Introduction to supercomputing: hardware design, compiled languages, command line interface and job submission

Intended Learning Outcomes

After completing this unit, students should be able to:

  1. Write and test scientific programs using an object oriented approach
  2. Construct and use a simple database for handling scientific data
  3. Examine data for trends and perform multivariate data analysis and visualisation
  4. Write a simple program to animate sequential data sets
  5. Write a computer simulation of a simple system
  6. Write a simple computer program in a compiled language, and run the program on a Linux cluster

Teaching Information

The unit is taught through a flipped approach, using a combination of asynchronous online material to introduce the more mathematical or theoretical concepts, with structured asynchronous self-paced activities to allow students to develop understanding and put into practice what they have learnt, supported by synchronous online, and subsequently, if possible, face-to-face group workshops and office hours. We will make use of online forum and collaboration tools such as wikis to foster a collaborative and creative mindset. Feedback will be provided for both coursework and formal assessments.

Assessment Information

Formative assessment will be through a set of on-line tutorials and exercises.

Summative assessment will be through five online tests (25%, ILOs 2 & 3), a set of three programming exercises (45%, ILOs 1 - 3 & 6) and a mini-project (30%, ILOs 1, 4 & 5).

The mini-project will draw together the concepts learned throughout the course. Assessment of the mini-project will require submission of both a working piece of code and a short report (1500 words) describing the design and use of the program.

Resources

If this unit has a Resource List, you will normally find a link to it in the Blackboard area for the unit. Sometimes there will be a separate link for each weekly topic.

If you are unable to access a list through Blackboard, you can also find it via the Resource Lists homepage. Search for the list by the unit name or code (e.g. SCIF20001).

How much time the unit requires
Each credit equates to 10 hours of total student input. For example a 20 credit unit will take you 200 hours of study to complete. Your total learning time is made up of contact time, directed learning tasks, independent learning and assessment activity.

See the Faculty workload statement relating to this unit for more information.

Assessment
The Board of Examiners will consider all cases where students have failed or not completed the assessments required for credit. The Board considers each student's outcomes across all the units which contribute to each year's programme of study. If you have self-certificated your absence from an assessment, you will normally be required to complete it the next time it runs (this is usually in the next assessment period).
The Board of Examiners will take into account any extenuating circumstances and operates within the Regulations and Code of Practice for Taught Programmes.

Feedback