PHYS1201 Physics Skills - Programming and Data Analysis
Module Overview
The primary goal is to provide students with the practical programming and data analysis skills that are necessary for both their degree course and most careers in physics. Python is used as the introductory programming language, and numerical simulations will be used extensively in order to introduce and illustrate key statistical concepts. The emphasis throughout will be on developing insight, understanding and practical skills, as opposed to the formal/mathematical aspects of programming and statistics. The skills developed in this module will be required in many experimental/practical modules across all physics programmes.
Aims and Objectives
Module Aims
This module aims to introduce students to the principles of computer programming and to statistics.
Learning Outcomes
Knowledge and Understanding
Having successfully completed this module, you will be able to demonstrate knowledge and understanding of:
- Basic programming constructs, including sequence, selection and iteration, the use of identifiers, variables and expressions, and a range of data types
- Good programming style
- Fundamental statistical concepts, including probability distribution functions, cumulative distribution functions, hypothesis testing, parameter estimation and model fitting
Subject Specific Intellectual and Research Skills
Having successfully completed this module you will be able to:
- Interpret experimental/observational results correctly
Transferable and Generic Skills
Having successfully completed this module you will be able to:
- Analyse problems in a systematic manner and develop algorithms to solve them computationally
- Design, run, debug and test computer programs
- Use existing software libraries in your own code
Subject Specific Practical Skills
Having successfully completed this module you will be able to:
- Write code to analyse and present experimental/observational data
Syllabus
Programming - Writing and running programs - Variables and data types - Basic control flow: looping, branching and function calls - Functional programming - Computational thinking - Python libraries (for mathematics, data analysis and display) - Designing algorithms (Moving from problem to solution) Statistics/Data Analysis - Describing data - Defining & understanding probability - Probility distribution functions and cumulative distribution functions - Statistical distributions: Gaussian, Binomial, Poisson, Chi-squared - The central limit theorem - Understanding uncertainty -- statistical and systematic errors - Testing for and understanding correlations - Hypothesis testing - Understanding statistical significance - Model fitting and parameter estimation via least-squares and Chi-squared
Learning and Teaching
Teaching and learning methods
The aim of this module is to give students practical skills, so the teaching and learning methods used are designed to accomplish this. Formal lectures will be used primarily to introduce key ideas and concepts, but even these will be illustrated with extensive practical/computational examples and visualisations. Most of the teaching will take place during extended "practical" sessions, during which students will be expected to carry out programming and data analysis tasks that are related to -- and illustrative of -- the concepts that are being explored in the module at that time. Ideally, the formal lecture content will take place immediately before or during these sessions, so that new theoretical concepts being introduced can immediately be explored in practice by students. Teaching support in the form of multiple demonstrators will be available during all sessions, so that one-on-one help is available as needed. Additional learning is expected to take place independently, again mostly in the form of practical programming and data analysis. Lecture notes and practical examples will be made available in the form of ipython notebooks.
Type | Hours |
---|---|
Completion of assessment task | 110 |
Wider reading or practice | 40 |
Total study time | 150 |
Resources & Reading list
Staff requirements (including teaching assistants and demonstrators).
Teaching space, layout and equipment required.
Barlow, Roger. Statistics: A Guide to the Use of Statistical Methods in the Physical Sciences.
Software requirements. Enthought may be OK for this module,but Anaconda is strongly preferred
Assessment
Assessment Strategy
Attendance of all practical sessions is mandatory; no mark will normally be returned for any student attending fewer than half of the sessions. Students repeating this module externally will be assessed solely via Assignment 2, which will therefore contribute 100% to the final mark for these students.
Summative
Method | Percentage contribution |
---|---|
Data analysis project | 60% |
Laboratory practicals | 20% |
Programming project | 20% |
Repeat
Method | Percentage contribution |
---|---|
Coursework | 100% |
Referral
Method | Percentage contribution |
---|---|
Coursework assignment(s) | % |
Coursework marks carried forward | % |
Repeat Information
Repeat type: Internal