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
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.
Assessment
Assessment strategy
This module is assessed through a combination of coursework, laboratory work, and a final exam.