THE UNIVERSITY of EDINBURGH

DEGREE REGULATIONS & PROGRAMMES OF STUDY 2020/2021

Information in the Degree Programme Tables may still be subject to change in response to Covid-19

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. Students are expected to work both individually and as part of a group. 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. 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

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
Entry Requirements (not applicable to Visiting Students)
Pre-requisites Students MUST have passed: Practical Physics (PHYS08048) OR Programming and Data Analysis (PHYS08049) OR Experimental Physics 2 (PHYS08056)
Students MUST have passed:
Co-requisites
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
Pre-requisitesNone
High Demand Course? Yes
Course Delivery Information
Academic year 2020/21, Available to all students (SV1) Quota:  None
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.

Individual Checkpoints - 25%:
- Checkpoint 0 (0%, formative feedback, assessed in-class)
- Checkpoint 1 (10%)
- Checkpoint 2 (5%)
- Checkpoint 3 (10%)

Mini-project - 75%:
- Design Document (10%)
- Source Code (25%)
- Project Report (40%, individual)

Feedback - Formative feedback for checkpoint 0, regarding Python programming skills and adherence to good programming practices.
- - Written feedback for checkpoints 1, 2 and 3.
- Written feedback for the project design document, regarding feasibility and efficiency of proposed project implementation.
- Written feedback for project source code, regarding its layout, functionality, performance and accuracy.
- Written feedback for individual project report, regarding the 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
None
Additional Information
Course URL https://www.learn.ed.ac.uk
Graduate Attributes and Skills Not entered
Additional Class Delivery Information One 2 hour lecture, followed by 9 lab sessions every other week
KeywordsCMod
Contacts
Course organiserDr Miguel Martinez-Canales
Tel: (0131 6)51 7742
Email: miguel.martinez@ed.ac.uk
Course secretaryMiss Denise Fernandes Do Couto
Tel: (0131 6)51 7521
Email: Denise.Couto@ed.ac.uk
Navigation
Help & Information
Home
Introduction
Glossary
Search DPTs and Courses
Regulations
Regulations
Degree Programmes
Introduction
Browse DPTs
Courses
Introduction
Humanities and Social Science
Science and Engineering
Medicine and Veterinary Medicine
Other Information
Combined Course Timetable
Prospectuses
Important Information