Skip to main content

Unit information: Programming and Data Analysis for Scientists in 2025/26

Please note: Programme and unit information may change as the relevant academic field develops. We may also make changes to the structure of programmes and assessments to improve the student experience.

Unit name Programming and Data Analysis for Scientists
Unit code SCIF20002
Credit points 20
Level of study I/5
Teaching block(s) Teaching Block 4 (weeks 1-24)
Unit director Dr. Stancliffe
Open unit status Not open
Units you must take before you take this one (pre-requisite units)

Introductory Scientific Computing or Introduction to Coding and Data Analysis for Scientists

Units you must take alongside this one (co-requisite units)

None

Units you may not take alongside this one

None

School/department School of Physics
Faculty Faculty of Science

Unit Information

Why is this unit important?
Computing is increasingly important for the analysis and interpretation of data. In this unit, students will develop their computer programming skills and explore data analysis and visualisation techniques, all with a focus on applications in science and data science.

How does this unit fit into your programme of study
This unit is designed for students in the second year of the “X with Computing” and “Data Science” degrees. At the end of this unit students will have the knowledge necessary to participate in scientific computing courses at level H. Teaching will be delivered through hands-on programming workshops, supported by seminars and some lectures. Much of the material lends itself to flipped/modular/bite-sized teaching, allowing the students to accumulate credits throughout the teaching period.

Your learning on this unit

An overview of content

The topics covered are as follows:

  • Object-oriented programming using a modern computer language
  • Concepts in software engineering: Version control, module and package development
  • Data science: processing and analysing physical data, and use of databases
  • Numerical methods: linear algebra; solving differential equations; Python modules for numerical methods;
  • Introduction to supercomputing: hardware, compiled languages, command line interface and job submission


How will students, personally, be different as a result of the unit
The ability to code is transformative in increasingly diverse fields. You will be able to tackle conceptually challenging or time-consuming tasks that other students cannot, increasing your career options and employability.

Learning outcomes
After completing this unit, students should be able to:

  1. Write scientific programs using an object-oriented approach
  2. Organise software projects in modules and packages
  3. Develop software using a version control system
  4. Apply data handling techniques to scientific datasets and use a simple database, or similar framework, to store and interrogate scientific data
  5. Examine data for trends and perform simple multivariate data analysis and visualisation
  6. Write a computer simulation of a simple system
  7. Write a simple computer program in a compiled language, and run the program on a Linux cluster

How you will learn

You will learn through a blended approach. This will involve a mixture of face-to-face and online teaching, asynchronous lectures, online material to introduce the more mathematical or theoretical concepts, synchronous group workshops to allow you to develop your understanding and put into practice what you have learnt, as well as tutorials and seminars to explore the context and applications of the course material. 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.

How you will be assessed

Tasks which help you learn and prepare you for summative tasks (formative):
Formative assessment will be through a set of on-line tutorials and exercises.

Tasks which count towards your unit mark (summative):
Summative assessment will be through five online tests (25%, ILOs 1-7), one programming exercise (35%, ILOs 1-5) and a mini project and report (40%, ILOs 1, 6 & 7).

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.

When assessment does not go to plan
If you are unable to complete successfully the assessment for the unit, either because of exceptional circumstances or through academic failure, you will be set a single alternative synoptic assessment to test all of the intended learning outcomes of this unit on an appropriate reassessment timescale to permit you to.

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

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 University 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. For appropriate assessments, if you have self-certificated your absence, you will normally be required to complete it the next time it runs (for assessments at the end of TB1 and TB2 this is usually in the next re-assessment period).
The Board of Examiners will take into account any exceptional circumstances and operates within the Regulations and Code of Practice for Taught Programmes.

Feedback