Scientific Programming in Python - 2023 entry
MODULE TITLE | Scientific Programming in Python | CREDIT VALUE | 15 |
---|---|---|---|
MODULE CODE | PHY2035 | MODULE CONVENER | Dr Jennifer Hatchell (Coordinator) |
DURATION: TERM | 1 | 2 | 3 |
---|---|---|---|
DURATION: WEEKS | 11 |
Number of Students Taking Module (anticipated) | 120 |
---|
A knowledge of a computing language and how to write programs to solve physics related problems is a valuable transferable skill. It is taught though a series of practical sessions in which the student will initially learn to understand the logic of the source code and are required to modify the code for a number of prepared projects. This module teaches the Python programming language, but the principles involved are applicable to almost every procedural programming language.
This module aims to build on the introduction to programming in Python given in the IT Skills training in Stage 1 (e.g. PHY1027) in order to develop students' ability to write clear, structured, debuggable and maintainable computer programs in Python and to understand such programs written by others.
- Running Python and Jupyter notebook
- Loading modules and packages
- Using Python as a graphical calculator; simple calculations, maths, functions and plotting
- Objects, assignments and variables, dynamic typing
- Numbers, comparisons and logic
- Strings and print statements
- Lists and tuples
- Sets and dictionaries
- Control flow: loops and if-statements
- File I/O
- Functions
- Python scripts
- Self-documenting code with comments, docstrings and markdown cells
- Testing and debugging
- Handling errors and exceptions
- NumPy
- Matplotlib
- SciPy
- Astropy
- Creating a Python module
- Introduction to classes and Object Oriented Programming
Scheduled Learning & Teaching Activities | 33 | Guided Independent Study | 117 | Placement / Study Abroad |
---|
Category | Hours of study time | Description |
Scheduled learning & teaching activities | 11 hours | 11×1-hour lectures |
Scheduled learning & teaching activities | 22 hours | 11×2-hour supervised computer labs |
Guided independent study | 56 hours | Directed self-study and project work |
Guided independent study | 61 hours | Reading to support own learning requirements |
Coursework | 70 | Written Exams | 0 | Practical Exams | 30 |
---|
Form of Assessment | % of Credit | Size of Assessment (e.g. duration/length) | ILOs Assessed | Feedback Method |
---|---|---|---|---|
Homework assignment | 13% | 8 hours (Deadline Monday, Week 4, Term 1) | 1-16 | Written and verbal |
Homework assignment | 13% | 8 hours (Deadline Monday, Week 6, Term 1) | 1-16 | Written and verbal |
Programming Knowledge and Skills Test | 30% | 1 hour 30 (Term 1, Week 6) | 1-9, 11, 13-16 | Written and verbal |
Homework assignment | 13% | 8 hours (Deadline Monday, Week 9, Term 1) | 1-16 | Written and verbal |
Programming Project | 31% | 32 hours (Deadline Friday, Week 12, Term 1) | 1-16 | Written and verbal |
Original Form of Assessment | Form of Re-assessment | ILOs Re-assessed | Time Scale for Re-assessment |
---|---|---|---|
Programming Knowledge and Skills Test | Test (1hr 30min) 30% wt | 1-9, 11, 13-16 | August/September assessment period |
Programming Project and Homework Assignments | Programming Project (32 hours) 70% wt | 1-16 | August/September assessment period |
information that you are expected to consult. Further guidance will be provided by the Module Convener
Reading list for this module:
Type | Author | Title | Edition | Publisher | Year | ISBN |
---|---|---|---|---|---|---|
Set | Hill, C. | Learning Scientific Programming with Python | Cambridge | 2020 | 978-1-108-74591-8 |
CREDIT VALUE | 15 | ECTS VALUE | 7.5 |
---|---|---|---|
PRE-REQUISITE MODULES | PHY1025, PHY2021 |
---|---|
CO-REQUISITE MODULES |
NQF LEVEL (FHEQ) | 5 | AVAILABLE AS DISTANCE LEARNING | No |
---|---|---|---|
ORIGIN DATE | Monday 6th December 2021 | LAST REVISION DATE | Thursday 26th January 2023 |
KEY WORDS SEARCH | Physics; Program; Structures; Function; Codes; Project; Data; Computing; Arrays; Designing. |
---|
Please note that all modules are subject to change, please get in touch if you have any questions about this module.