PHY-10028 - Scientific Programming
Coordinator: Barry Smalley Room: LJ2.05 Tel: +44 1782 7 34229
Lecture Time: See Timetable...
Level: Level 4
Credits: 15
Study Hours: 150
School Office: 01782 734921

Programme/Approved Electives for 2025/26

None

Available as a Free Standing Elective

No

Co-requisites

None

Prerequisites

None

Barred Combinations

None

Description for 2025/26

Scientific programming is a key skill in fast-evolving science fields like Physics and Astrophysics. In this module you will learn the basics of computer programming with python, including flow control, defining functions, the use of external libraries and the generation of graphs and images. You will demonstrate how these highly-valued programming skills can be used to solve a series of computational problems faced by physicists and astrophysicists, and equip yourself for future study and careers.

Aims
The aim of this module is to introduce students to the fundamental concepts and techniques of Python programming, with a specific focus on applications in Physics and Astrophysics. Students will develop the skills necessary to write, debug, and execute Python programs, enabling them to analyse and interpret physical data effectively. It will develop students' ability to apply programming knowledge to real-world physics scenarios, enhancing their problem-solving skills and analytical thinking.

Talis Aspire Reading List
Any reading lists will be provided by the start of the course.
http://lists.lib.keele.ac.uk/modules/phy-10028/lists

Intended Learning Outcomes

Develop and test well-structured programs using appropriate functions, including effective use of external libraries: 1,2
Implement basic numerical algorithms to solve physics problems: 1,2
Test and evaluate the effectiveness of numerical algorithms in physics applications: 1

Study hours

Active Learning:
Lectures: 18
Computer Laboratory: 28
Independent Study
Programming Examination: 2
Independent work on assignments: 38
Class test preparation and private study: 64

School Rules

None

Description of Module Assessment

1: Exercise weighted 50%
Programming Assignments
Three in-course programming exercises. The first two exercise sheets in Semester 1 will involve writing a short computer program to solve a physics problem, with students expected to spend around 6 hours on each. The final exercise in Semester 2 will involve writing and evaluating a python program to investigate an aspect of physics, with students expected to spend around 26 hours on this. The first two exercises will be worth 10% each with the final one worth 30%.

2: Class Test weighted 50%
Practical programming examination
A two-hour invigilated open book programming test. Unseen class test, comprising around 3 or 4 compulsory questions.