Unit information: Intensive Scientific Computing with Data Science in 2028/29

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 Intensive Scientific Computing with Data Science
Unit code CHEMM0053
Credit points 40
Level of study M/7
Teaching block(s) Teaching Block 1 (weeks 1 - 12)
Unit director Dr. Tunnicliffe
Open unit status Not open
Units you must take before you take this one (pre-requisite units)

None

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

CHEMM0025 Group Project in Scientific Computing with Data Science

Units you may not take alongside this one

None

School/department School of Chemistry
Faculty Faculty of Science

Unit Information

Why is this unit important?

Computational methods are now critical for almost all aspects of scientific data analysis. This unit will provide you with the skills required to visualise and analyse scientific datasets and construct simulations of physical systems. These abilities will allow you to tackle a far wider array of scientific problems, and pursue a wider array of careers, than students with little computational experience.

This unit is suitable for students with no prior experience of coding but also provides extended material suitable for students who have some prior experience, but not necessarily its application to scientific computing or data science.

How does this unit fit into your programme of study

This intensive unit is designed to provide you with the tools needed to carry out independent scientific computing projects.

Your learning on this unit

An overview of content

This unit will cover the key concepts and techniques that you will require to carry out independent scientific computing research projects. The topics covered are:

  • Programming using modern interpreted and compiled languages
  • Research software engineering best practice, including version control, modern programming environments and testing
  • Data science methods including data manipulation and cleaning, regression and machine learning
  • Data visualisation
  • Numerical methods

How will students, personally, be different as a result of the unit

The ability to code is transformative in increasingly diverse fields. With the advanced computational skills developed you will be able to tackle conceptually challenging or time-consuming tasks that your peers cannot, increasing your career options and employability.

Learning Outcomes

At the end of the unit you will be able to:

  • Write and test basic scientific programs using a modern programming language
  • Develop, test and share code following software engineering best practice
  • Choose appropriate algorithms and data structures for a range of scientific applications
  • Describe the basic principles of data science, machine learning and regression, including choice of models and tuning of parameters
  • Apply commonly used machine learning and regression algorithms to scientific problems
  • Write multi-threaded computer programs and use them for solving scientific problems
  • Visualise data and numerical model outputs

How you will learn

The learning of programming languages and computational techniques is most effective when it is practice-based. Therefore, this unit is primarily taught through a set of interactive workshops and student-led activities, supported by seminars and tutorials. At workshops, delivered following a flipped-classroom model, students will be provided with interactive coding worksheets (for example, using Jupyter Notebooks) that they can complete with guidance from a lecturer. To ensure rapid progress from the outset, a cloud-based coding platform will be used. As the course progresses, material will become increasingly inquiry-led and student-centred, recognising that students at this level are experienced learners. Regular seminars and tutorials will provide a small-group environment to explore the wider context.

How you will be assessed

This unit will be continuously assessed using a hierarchy of methods aimed at assessing specific key concepts, through to broader applications.

Tasks which help you learn and prepare you for summative tasks (formative):

Formative assessment is built into every aspect of this practice-based course. At workshops, you will be provided with interactive coding worksheets containing a range of problems in scientific computing. By working through these problems in a workshop environment, you will be provided with instant feedback from the lecturer and your peers. Between workshops, online tests will be provided that will allow you to further interrogate your level of knowledge and understanding of key concepts.

Tasks which count towards your unit mark (summative):

This unit will be assessed through:

2 online tests (20%)

2 mini programming projects (30%)

2 capstone projects and reports (50%)

Alongside these summative assessments formative assessment will be delivered through a set of quizzes. The online tests are focused units of assessment aimed at evaluating your knowledge and ability in key scientific computing concepts.

Mini programming projects will require you to use your problem-solving skills to tackle a real-world scientific problem. Compared to the online tests, each programming project is less prescriptive, and requires a wider array of techniques, within a particular section of the course, to solve.

For each programming project, you will be expected to submit your annotated code for assessment and feedback.

For the capstone projects, you will need to draw on methods and concepts from across the course to solve a problem. Your code will be assessed, along with a report that outlines the methods you have used and discusses your results.

Online tests and mini programming projects will be evenly spaced throughout the unit, with capstone projects and reports being set in the middle and end of the unit.

When assessment does not go to plan

We will set an alternative synoptic assessment to test all of the ILOs of this unit on an appropriate reassessment timescale to permit progression to the final research project. If the appropriate standards are not reached after reassessment, then exit awards or a repeat year will be explored, depending on individual circumstances.

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

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.