Timetable information in the Course Catalogue may be subject to change.

University Homepage
DRPS Homepage
DRPS Search
DRPS Contact
DRPS : Course Catalogue : School of Physics and Astronomy : Undergraduate (School of Physics and Astronomy)

Undergraduate Course: Computer Modelling (PHYS09057)

Course Outline
SchoolSchool of Physics and Astronomy CollegeCollege of Science and Engineering
Credit level (Normal year taken)SCQF Level 9 (Year 3 Undergraduate) AvailabilityAvailable to all students
SCQF Credits10 ECTS Credits5
SummaryThe course is a practical introduction to computational simulation techniques in physics, using the Python programming language. The rationale behind computer simulation will be introduced and the relationship between simulation, theory and experiment discussed. The course introduces good software development techniques, the algorithm/code design process and how to analyse/understand the results of simulations. Assessment is by a series of individual exercises in semester 1 that lead to a group mini-project to write a full simulation code in semester 2. The final assessment is an individual write-up report, and/or a written exam. All material is available through Learn. All assessments are uploaded through Learn, with the first three exercises being marked by a demonstrator.
Course description Computer Modelling is the Junior Honours follow-up course to the Scientific Programming component of Practical Physcs/Programming & Data Analysis. It aims to improve your python skills, and offer an understanding of computing as a key component of modern physics. The course begins with a traditional lecture, covering:

- Computer simulation and modelling as part of science
- Basic code and algorithm design
- Python3 refresher
- Debugging
- The role of AI in coding

From then on, the course takes a hands-in approach, with 3h lab sessions in the CPLab* that begin with short presentations. The presentations cover:

- Good programming practices
- An introduction to numpy
- Object-oriented programming
- Time integration
- N-body simulations
- Software design
- Practical AI using CoPilot
Entry Requirements (not applicable to Visiting Students)
Pre-requisites Students MUST have passed: Programming and Data Analysis (PHYS08049) OR Experimental Physics 2 (PHYS08056) OR Experimental Physics 2 (PHYS08058)
Prohibited Combinations It is RECOMMENDED that students do NOT also take Computer Simulation (PHYS08026)
Other requirements Chemical Physics DE students ONLY may take this course without the pre-requisite courses.
Information for Visiting Students
High Demand Course? Yes
Course Delivery Information
Academic year 2024/25, Available to all students (SV1) Quota:  0
Course Start Full Year
Timetable Timetable
Learning and Teaching activities (Further Info) Total Hours: 100 ( Lecture Hours 2, Supervised Practical/Workshop/Studio Hours 27, Programme Level Learning and Teaching Hours 2, Directed Learning and Independent Learning Hours 69 )
Assessment (Further Info) Written Exam 0 %, Coursework 100 %, Practical Exam 0 %
Additional Information (Assessment) 100% Coursework: uploaded checkpoints, source code and written reports.

Semester 1 - Exercises and Preliminary Checkpoints
Semester 2 - Mini Project
Feedback - Formative feedback for checkpoint 0, regarding Python programming skills and adherence to good programming practices.
- Written feedback for first semester checkpoints and exercises
- Written feedback for project source code components, regarding layout, functionality, performance and accuracy.
- Written feedback for individual project report, regarding implementation, results, discussion, and style.
No Exam Information
Learning Outcomes
On completion of this course, the student will be able to:
  1. Explain the position of computer modelling in the scientific method, and name examples where it is the appropriate tool to use to solve certain physical problems.
  2. Be able to design algorithms and software to implement models of physical systems.
  3. Write simple, modular programs in Python, while adhering to good software development practices.
  4. Analyse critically and comprehensively the results of physical simulations, e.g. by interfacing with third-party visualisation packages, and comparisons to experimental and theoretical data.
  5. Work as part of a software development team, and resolve conceptual and technical difficulties by locating and integrating relevant information from a diverse range of sources.
Reading List
Additional Information
Course URL
Graduate Attributes and Skills Not entered
Additional Class Delivery Information One 2 hour lecture, followed by 9 lab sessions every other week
Course organiserDr Joseph Zuntz
Tel: (0131 6)68 8262
Course secretaryMrs Catherine MacMillan
Help & Information
Search DPTs and Courses
Degree Programmes
Browse DPTs
Humanities and Social Science
Science and Engineering
Medicine and Veterinary Medicine
Other Information
Combined Course Timetable
Important Information