Undergraduate Course: Computer Modelling (PHYS09057)
|School||School of Physics and Astronomy
||College||College of Science and Engineering
|Credit level (Normal year taken)||SCQF Level 9 (Year 3 Undergraduate)
||Availability||Available to all students
|Summary||The 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.
- Computer simulation and modelling as part of science
- Basic code and algorithm design
- Software engineering good practice
- Simple object oriented programming in Python
- Use of external tools (VMD) for analysing modelling results
Information for Visiting Students
|High Demand Course?
Course Delivery Information
|Academic year 2018/19, Available to all students (SV1)
|Learning and Teaching activities (Further Info)
Lecture Hours 2,
Supervised Practical/Workshop/Studio Hours 27,
Programme Level Learning and Teaching Hours 2,
Directed Learning and Independent Learning Hours
|Assessment (Further Info)
|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 (15%)
Mini-project - 75%:
- Code and Algorithm Design (10%, as a group)
- Source Code (25%, as a group)
- Project Report (40%, individual)
||- Formative feedback for checkpoint 0, regarding Python programming skills and adherence to good programming practices.
- Written feedback for checkpoints 1 and 2.
- 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
On completion of this course, the student will be able to:
- 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.
- Be able to design algorithms and software to implement models of physical systems.
- Write simple, modular programs in Python, while adhering to good software development practices.
- 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.
- 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.
|Graduate Attributes and Skills
|Additional Class Delivery Information
||One 2 hour lecture, followed by 9 lab sessions every other week
|Course organiser||Dr Miguel Martinez-Canales
Tel: (0131 6)51 7742
|Course secretary||Miss Yolanda Zapata-Perez
Tel: (0131 6)51 7067