Automation and Microscopy PHYS5102
- Academic Session: 2026-27
- School: School of Physics and Astronomy
- Credits: 10
- Level: Level 5 (SCQF level 11)
- Typically Offered: Semester 1
- Available to Visiting Students: No
- Curriculum For Life: No
Short Description
This course introduces students to concepts in hardware and software required to implement new, automated microscopy experiments, with an emphasis on practical programming tools. There is a significant practical element during which students will write code and run it to control real and simulated hardware.
Timetable
There will be 9 one-hour lectures on campus, and 5 practical classes lasting 3 hours each.
Requirements of Entry
An introductory programming course in Python is required, this is provided on the programme in the first semester, at University College Dublin.
Excluded Courses
None
Assessment
Two laboratory reports will assess the understanding gained from practical activities (25% each, total 50%).
A written assignment will assess students' understanding of API design and documentation (worth 20%).
A set programming exercise will be used to assess practical programming ability working with simulated equipment, assessed by automated testing and manual reading of code and documentation (15%). An oral assessment will verify each student's understanding of the code written for the set exercise (15%).
Main Assessment In: December
Course Aims
The ability to automate and integrate both custom and ready-made laboratory instruments into a smart, computer-controlled experiment is key to many areas of science, in particular microscopy. This course will equip students with the key programming skills and concepts to tackle the often-tricky challenge of working with hardware in real time, while managing both data collection and user interaction. Thus, the objective of this course is to provide students with the necessary skills and knowledge to automate and integrate laboratory instruments into intelligent, computer-controlled experiments, with a specific emphasis on microscopy.
Intended Learning Outcomes of Course
By the end of this course students will be able to:
■ Design and implement intelligent, computer-controlled experiments in computational microscopy.
■ Understand the architecture and functioning of instrument control software, including version and environment management, to effectively manage automated experiments.
■ Implement concurrent programming techniques using threads and async methods to handle heterogeneous concurrency in microscopy setups.
■ Create and use application programming interfaces (APIs) to facilitate communication between software and hardware components in automated microscopy systems.
■ Employ hardware communication protocols and drivers in newly-written code for efficient control of laboratory instruments.
■ Explain the importance of abstraction and adherence to standards in the design and development of automated systems for microscopy applications.