Skip to main content

Unit information: Intensive Introductory Scientific Computing with Data Science in 2023/24

Unit name Intensive Introductory Scientific Computing with Data Science
Unit code CHEMM0027
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)

CHEMM0026

Units you may not take alongside this one

CHEMM0028

School/department School of Chemistry
Faculty Faculty of Science

Unit Information

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 other students with little computational experience.

How does this unit fit into your programme of study

This intensive unit is one of the foundations of the MSc Scientific Computing with Data Science programme. It is designed for students from a broad range of backgrounds, who have minimal prior experience in coding. The unit runs in parallel with another intensive unit for students who have more experience of coding from their undergraduate studies or employment. It will provide you with the tools needed to carry out independent scientific computing projects.

Your learning on this unit

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:

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

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

The ability to code is transformative in increasingly diverse fields. As a student with advanced computational skills, you will be able to tackle conceptually challenging or time-consuming tasks that other students cannot, increasing your career options and employability.

Learning Outcomes

Learning by doing:

On successful completion of the unit, you will be able to:

  1. Write and test basic scientific programs using a modern programming language
  2. Develop, test and share code following software engineering best practice
  3. Choose appropriate algorithms and data structures for a range of scientific applications
  4. Describe the basic principles of data science, machine learning and regression, including choice of models and tuning of parameters
  5. Apply commonly used machine learning and regression algorithms to scientific problems
  6. Construct simple computer models of physical systems
  7. 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, you 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, more open-ended applications. The format of assessment puts a strong emphasis on basic coding competency.

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 interrogate further your knowledge and understanding of key concepts.

Tasks which count towards your unit mark (summative):

This unit will be assessed through: 1) 3 online tests (20%), 2) 2 mini programming projects (30%), 3) 2 open-ended projects and reports (50%). Alongside these summative assessments will be 9 quizzes for formative assessment (approximately 3 per month). 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 their 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 their annotated code for assessment and feedback. For the open-ended projects, you will need to draw from methods and concepts from across the course to solve a more open-ended problem. Your code will be assessed, along with a report that outlines the methods they have used and discusses their results. Online tests and programming projects will be evenly spaced throughout the unit, with open-ended projects and reports being set in the middle and end of the unit.

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 progress to the dissertation stage. If the appropriate standards are not reached after reassessment, such that you cannot progress to the dissertation stage, then it may be possible for you to qualify for an unclassified exit award, 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. CHEMM0027).

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