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 exercises in semester 1 (completed in a group of 2-3) that lead to a mini-project to write a full simulation code in semester 2 - with an individually marked write-up report. All material is available through Learn. The first three exercises are marked by a demonstrator during a timetabled CP Lab session, or uploaded through Learn to be marked by the lecturers.
- 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 2017/18, Available to all students (SV1)
|Learning and Teaching activities (Further Info)
Lecture Hours 9,
Supervised Practical/Workshop/Studio Hours 25,
Programme Level Learning and Teaching Hours 2,
Directed Learning and Independent Learning Hours
|Assessment (Further Info)
|Additional Information (Assessment)
||100% Coursework: In-class marked checkpoints, submitted source code and written reports.
Checkpoints 30% (marked as a group):
- Checkpoint 1 (0%, formative feedback, assessed in-class)
- Checkpoint 2 (15%)
- Checkpoint 3 (15%)
Mini-project 70% (submitted online):
- Code and Algorithm Design (10%, as a group)
- Source Code (20%, as a group)
- Project Report (40%, individual)
||- Formative feedback for checkpoint 1, regarding Python programming skills and adherence to good programming practices.
- Written feedback for checkpoints 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
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
||9 lectures. 1 out of 2 lab sessions in alternate weeks.
|Course organiser||Dr Andreas Hermann
Tel: (0131 6)50 5824
|Course secretary||Miss Yolanda Zapata-Perez
Tel: (0131 6)51 7067