The courses Medical Engineering I/II promote project-based, hands-on learning at the interplay between medicine and engineering for students in the Bachelor of Medicine. Centered around an exoskeleton, the courses teach fundamentals for restoring mobility in individuals with spinal cord injuries. Topics cover human factors, design, sensing, actuation, control, and user evaluation, building on prior knowledge and fostering transdisciplinary skills. An integrated platform links the device with Jupyter Notebooks, streamlining the integration of instructions, code, and visualizations in one document, enhancing computational competencies through real-time programming and analysis in a practical setting.
Implementation of the Course
The courses Medical Engineering I (12 weeks of 2h theoretical lecture, followed by 2h practical work introducing all the components of the exoskeleton) & II (one-week hackathon requiring students to design, build and evaluate a gripper module and evaluate it in a competition, awarded with KITE Award 2024) are designed to promote student engagement and learning through hands-on exercises.
After receiving the theoretical and technical groundwork in the form of lectures or workshops first, the students immediately are challenged to apply the newly gained knowledge in practice right after. The students are guided through the tasks by the provided instructions and code snippets in Jupyter Notebooks and receive additional on-site support from teaching assistants when needed.
Medical Engineering I includes weekly graded performance assessments (filled-in Jupyter Notebooks on each week’s topics, including answers to theoretical questions, modified code, and interpretation of results) during the semester, each with an (individually weighted) contribution to the final grade, including an exam in the form of a larger exercise covering the content of the whole semester) during the last week of the semester. Students receive feedback in the form of a subgrade and comments for each weekly assessment. Medical Engineering II is an ungraded block course (only pass/fail). During the week, students’ progress is tracked and challenges are discussed during daily progress meetings between the student groups and a TA.
As the courses aim to teach the application of practical skills in a real-world context, the use of AI (or any other available resources) to complete the exercises is not only allowed, but even encouraged. However, compared to the old course design, which used the graphical programming language LabVIEW, the text-based code in Python is now much easier to be created solely by AI. Feedback from students after the first edition of the newly designed course showed that many perceived this as unfair, as students who used AI tended to receive higher grades for the weekly assessments than those trying to solve the exercise completely by themselves. Finding a pragmatic but still fair way to address this issue will be one of the main challenges to be addressed in future editions of the course.
Motivation, Project Mission, Vision Statement
The use and understanding of technology have long become a crucial part of working clinically or in medical research. Further, in recent years, Python has become one of the most used programming languages in data science and engineering. However, its use in real-time signal processing and control of a dedicated hardware (exoskeleton), specifically in an educational context, has not been explored extensively yet. This project combines these aspects by allowing the students to, for the first time in their education, work with and visualize actual signals from a medical technology controlled with Python (e.g., by visualizing measurements in real-time and exploring the effect of different parameters). This will expose them to the important difference between theory and practice when humans and hardware are in the loop. Accordingly, bringing future medical doctors or researchers in direct, hands-on contact with these aspects already early in their studies is expected to be highly beneficial in view of their careers.
Innovative Elements
In accordance with the ETH competence framework, the courses attach great importance to teach students not only subject-specific competences (e.g., computational competencies, mechanical design, usability and importance of technology in medicine), but also method-specific (e.g., project management, problem-solving, decision-making), social (e.g., communication, responsibility, teamwork), and personal competencies (adaptability, creative thinking, critical thinking).
With regards to computational competencies specifically, the use of Python for the course ideally builds upon the theoretical groundwork the students gain during the “basics of computer science” course. The integration of Jupyter Notebooks introduces them to a powerful tool which is more straightforward to interact with and allows them to easily visualize the behaviour of the exoskeleton in real-time, thereby promoting “getting to know your signals”, which is an important pillar of our teaching philosophy. By applying this knowledge to an actual, hands-on medical technology application, students not only solidify their computational skills but can also gain a better understanding of the benefit of having such competencies, even though these (at a first glance) might not seem of direct relevance to a medical career.
ETH Competence Framework
-
Method-specific
Competencies -
Social
Competencies
Which Elements of Your Project Would You Recommend to Others?
Dedicating the majority of the exercise session to practical exercises (which often do not have a straight-forward sample solution) and letting students interact with technology themselves allows them to explore its limitations firsthand. This exposes them to the important difference between theory and practice when humans and hardware are in the loop.
Further, the introduction of Jupyter Notebooks as teaching/exercise environment allows seamless integration of instructions, code snippets, and visualizations of collected real-time signals from the exoskeleton hardware in a single file. This makes the handling of the teaching material and exercises for students, as well as the grading for teaching assistants very efficient. Although not possible for our specific context due to technical reasons, the use of JupyterHub could make the process even simpler for other courses.