Skip to main content

Unit information: Introductory 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 Introductory Scientific Computing
Unit code SCIF10001
Credit points 20
Level of study C/4
Teaching block(s) Teaching Block 4 (weeks 1-24)
Unit director Dr. Tunnicliffe
Open unit status Not open




School/department Science Faculty Office
Faculty Faculty of Science

Description including Unit Aims

This unit is designed for students in the first year of the new “X with Scientific Computing” degrees. It will cover the basics of computer programming for scientists, as well as methods of scientific programming and important background concepts of computer science to give students the knowledge necessary to participate in higher level computing courses.

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:

  • Introduction to scientific programming using a modern computer language (such as Python)
  • Modern code development environments, version control and debugging
  • Data visualisation and graphics programming
  • Concepts in computer science: programming models, algorithms and data structures
  • Mathematics for computing: models of computation, set theory and logic
  • Computer hardware and architecture, cloud computing concepts and virtual machines

It is anticipated that approximately two-thirds of the time will be devoted to the first two items on modern programming methods.

Intended Learning Outcomes

After completing this unit, students should be able to:

  1. Write and test basic scientific programs using a modern programming language.
  2. Use a modern development environment to develop and debug code.
  3. Explain the difference between different programming models, and choose the most appropriate for a given problem.
  4. Choose appropriate algorithms and data structures for specific applications.
  5. Describe basic models of computation and appreciate that not all problems are computable.
  6. Choose appropriate computer hardware for specific applications and understand how aspects of the hardware can affect the efficiency of scientific programs.

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 ten online tests (30%, ILO's 1, 3, 5 and 6) and a set of four programming exercises (70%, ILOs' 1, 2, 4 and 6).


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

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.

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.