Module overview
This module develops programming skills in Python and Java, introducing object-oriented design and software development through examples relevant to biomedical engineering.
Aims and Objectives
Learning Outcomes
Knowledge and Understanding
Having successfully completed this module, you will be able to demonstrate knowledge and understanding of:
- Libraries, packages, file processing and testing tools in both languages.
- Key programming concepts in Python and Java.
- Fundamental software design practices, including UML.
- Object-oriented principles for structuring biomedical-relevant software.
Subject Specific Intellectual and Research Skills
Having successfully completed this module you will be able to:
- Analyse biomedical problems and implement programming solutions.
- Use object-oriented techniques to design modular applications.
- Implement data persistence and basic storage structures.
- Build Python and Java programs that handle and display biomedical-style data.
- Apply testing frameworks (e.g., PyTest/JUnit) and code analysis tools (e.g., SonarQube) to validate code.
Syllabus
Core Programming Foundations (Python & Java)
• Variables, data types and expressions
• Branching and loops
• Functions, methods and modularity
• Libraries, packages and virtual environments
Object-Oriented Programming (Applied to BIOM)
• Classes and objects
• Methods and constructors
• Inheritance and polymorphism
• Abstract classes and interfaces
• Modelling simple biomedical systems (e.g., sensors, patient data)
Working with Data
• File input/output
• JSON and structured biomedical datasets
• Basic serialisation and persistence
• Strings and encodings
Program Execution and Control
• Exceptions and debugging (Python & Java)
• Recursion
• JVM overview
• Introductory threading (e.g., data capture + display)
User Interaction and Visualisation
• Command-line programs
• Simple GUIs for visualising biomedical data
• Event-driven programming
Testing, Validation and Style
• Programming style and documentation
• Unit testing with PyTest and JUnit
• Black-box, white-box and integration testing approaches
• Motivation from biomedical reliability and safety
Learning and Teaching
Teaching and learning methods
The content of this module is delivered through lectures, the module website, directed reading and pre-recorded materials.
Students work on their understanding through a combination of independent study and preparation for timetabled activities, along with formative assessments in the form of coursework assignments.
Students work on their practical skills and technical understanding in technical laboratories and assessed laboratories.
| Type | Hours |
|---|---|
| Specialist Laboratory | 20 |
| Preparation for scheduled sessions | 10 |
| Revision | 8 |
| Lecture | 36 |
| Completion of assessment task | 38 |
| Wider reading or practice | 20 |
| Follow-up work | 18 |
| Total study time | 150 |
Assessment
Assessment strategy
This module is assessed through a combination of coursework, laboratory work, and a final exam.Summative
This is how we’ll formally assess what you have learned in this module.
| Method | Percentage contribution |
|---|---|
| Coursework | 30% |
| Examination | 50% |
| Laboratory Exercises | 20% |
Referral
This is how we’ll assess you if you don’t meet the criteria to pass this module.
| Method | Percentage contribution |
|---|---|
| Exam | 100% |
Repeat
An internal repeat is where you take all of your modules again, including any you passed. An external repeat is where you only re-take the modules you failed.
| Method | Percentage contribution |
|---|---|
| Exam | 100% |