- UCAS course code
- F3FA
- UCAS institution code
- M20
Course unit details:
Introduction to Programming for Physicists
Unit code | PHYS20161 |
---|---|
Credit rating | 10 |
Unit level | Level 2 |
Teaching period(s) | Semester 1 |
Offered by | Department of Physics & Astronomy |
Available as a free choice unit? | No |
Overview
Introduction to Programming for Physicists
Aims
The aim of the course is to give a practical introduction to computer programming for physicists assuming little or no previous programming experience.
Learning outcomes
‘This course unit detail provides the framework for delivery in 20/21 and may be subject to change due to any additional Covid-19 impact. Please see Blackboard / course unit related emails for any further updates.’
On completion successful students will:
- Be able to write programs in Python to aid them in practical situations they will face in their degree course and future work in physics or in other fields.
- Implement basic programming theory to write efficient code.
Syllabus
Elements of Programming – (3 weeks)
- Introduction to Phython
- Variable types and lists
- Operators
- Input / output
- Conditional expressions
- Loops
- Introduction to debugging, testing and errors
- Functions
Basic Python libraries and validation – (2 weeks)
- Python Modules
- Introduction to math and numpy
- Numpy arrays, built-in functions and indexing
Introduction to algorithms and visualisation – (3 weeks)
- Algorithms and their uses
- Basic manipulation and visualisation of data
- Read and write files
- Data validation
- Root finding
- Basic optimization algorithms
Introduction to scientific programming libraries – (3 weeks)
- Advanced uses of numpy and matplotlib
- Introduction to scipy
- Using inbuilt functions
Assessment methods
Weekly programming tasks continually assessed in the laboratory sessions by demonstrators and a final task assessed by the lecturer.
Feedback methods
Feedback is offered orally by demonstrators in the lab, automated responses in the quizzes, and specific written comments for each assignment.
Recommended reading
Hill, C. Learning scientific programming with python (Cambridge Uni. press)
Study hours
Scheduled activity hours | |
---|---|
Lectures | 10 |
Practical classes & workshops | 33 |
Independent study hours | |
---|---|
Independent study | 57 |
Teaching staff
Staff member | Role |
---|---|
Clive Dickinson | Unit coordinator |
Lloyd Cawthorne | Unit coordinator |
Additional notes
Note: Laboratory facilities are not available for resits. A student who has failed may be permitted to submit further assessments, based on laboratory work already carried out, in order to pass the course unit.