top of page


Biomechanics of Movement

An overview of the major challenges in movement biomechanics and the engineering tools we use to address them. Topics include the biological, mechanical, and neurological mechanisms by which muscles produce movement; development and use of mathematical and computational models; and applications in clinical and biomedical research. Lectures are complemented by homework problems, simulation exercises, and student research papers and presentations. Graduate level.

  • BMG 5110, Biomedical Engineering, University of Ottawa

  • MCG 5138 / MCG 4190, Mechanical Engineering, University of Ottawa

  • Fall 2022, Fall 2021, Fall 2020, Fall 2019

System Dynamics

Introduction to fundamental concepts and tools to model and analyze dynamic systems in the mechanical, electrical, fluid, and thermal domains. Topics include lumped-parameter modelling, through and across variables, block diagrams, linearization, solving system equations, and transient and frequency responses of physical systems. Lectures are complemented by discussion groups and assignments. Undergraduate level.

  • MCG 3306, Mechanical Engineering, University of Ottawa

  • Fall 2022, Fall 2021, Fall 2020

Control Systems

Introduction to fundamental concepts and tools of control systems engineering. Topics include feedback theory, analysis in the time and frequency domains, stability criteria, root-locus diagrams, Bode and Nyquist plots, and controller design. Lectures are complemented by discussion groups, homework exercises, assignments, and a team project. Undergraduate level.

  • MCG 3307, Mechanical Engineering, University of Ottawa

  • Winter 2023, Winter 2022, Winter 2021, Winter 2020, Winter 2019

Software Development for Musculoskeletal Modelling and Simulation of Movement

Review fundamental concepts and tools of software engineering, and application of these tools to model musculoskeletal systems and generate simulations of movement using the OpenSim API. Topics include programming fundamentals, data structures, algorithm design, testing, debugging, and object-oriented programming. Python and C++. Lectures are complemented by assignments, student presentations, and an independent project. Graduate level.

  • BMG 7199, Biomedical Engineering, University of Ottawa

  • Spring 2022

Modeling and Simulation of Human Movement

Students use state-of-the-art computational tools to model the human musculoskeletal system and generate simulations of movement. Learning is guided by lectures, student-led discussions about key journal papers, labs, and a project completed in a small team. Graduate level.

  • BIOE 485, Bioengineering, Stanford University (co-instructor)

  • Spring 2018, Spring 2017, Spring 2014, Spring 2013

bottom of page