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)

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 ancillary sessions. 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:

  • Data science: processing and analysing physical data
  • Introduction to the Unix operating system
  • Concepts in software engineering: Version control
  • Data science: processing and analysing physical data, and use of databases
  • C++ coding for science, including object-oriented programming
  • Applied numerical methods for scientific problems: Monte Carlo, numerical integration
  • 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. Apply data handling techniques to scientific datasets, to interrogate and analyse information.
  2. Produce C++ code to tackle scientific problems, using a variety of numerical methods
  3. Utilise version control to develop projects
  4. Execute complied code on a computer for more demanding problems

How you will learn

You will learn through a blended approach. This will involve a mixture of face-to-face and asynchronous 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 ancillary sessions 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 material and workshop exercises.

Tasks which count towards your unit mark (summative):
Summative assessment will be through two short coding assignments (15% each, ILOs 1-4), one programming exercise (30%, ILOs 1-3) and a mini project and report (40%, ILOs 1-4). 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, including an analysis of the data it produces.

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 assessment methods listed in this unit specification are designed to enable students to demonstrate the named learning outcomes (LOs). Where a disability prevents a student from undertaking a specific method of assessment, schools will make reasonable adjustments to support a student to demonstrate the LO by an alternative method or with additional resources.

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.