Teaching

This page contains syllabi, problem sets, past exams, and other resources for the courses that I am currently teaching and have taught in the past.

Launch of a rocket built by students in PHYB54 on the roof of the Science Wing.

Mechanics: From Oscillations to Chaos (PHYB54)

From the calendar: The linear, nonlinear and chaotic behaviour of classical mechanical systems such as oscillators, rotating bodies, and central field systems. The course will develop analytical and numerical tools to solve such systems and determine their basic properties. The course will include mathematical analysis, numerical exercises (Python), and demonstrations of mechanical systems.

Introduction to python

This is a short tutorial on python, specifically intended for those who have no previous python or programming experience.

Tutorials

Note that the tutorials will be in SW505B.

Chapter 1.1 -1.6

Chapter 2.1 -2.6. Journal Questions:
• What is the Reynolds number?
• What is the terminal speed in a linear or quadratic medium?
• Guesstimate the characteristic drag timescale of an every day object as it moves through air!

Chapter 3. Journal Questions:
• Where is the centre of mass of the Earth Moon system (approximately)?
• Which body contains most of the angular momentum in the solar system? Quantify!
• Look up the specifications for an A8-5 rocket motor. Write down the thrust duration, the maximum thrust and the total impulse in SI units.

Chapter 4. You do not need to read 4.6 and 4.7 very carefully. You may skip 4.5. Journal Questions:
• What it the kinetic energy of the Earth going around the Sun (in kWh)?
• What it the potential energy in the Earth-Sun system (in kWh)? Compare to the kinetic energy!
• Come up with one explicit example of a position dependent force which is not conservative!

First part of Chapter 5, from 5.1 to 5.4 (inclusive). Journal Questions:
• Write down the general solution for the simple harmonic oscillator in four different ways: as a linar combination of two trigonometric functions, one trigonometric function with a phase, a linear combination of two exponentials, and as the real part of one exponential.
• While your on a bus or in a car, try to estimate the frequency when you drive over a bump in the road. Also try to estimate if you are in a regime of over or underdamping.

Second part of Chapter 5, from 5.5 to 5.8 (inclusive). No journal questions this week (I have your journal!). However, think about these two questions:
• What is the differential equation for the driven, damped harmonic oscillator!
• At what driving frequency does one get the maximum amplitude in a driven, damped harmonic oscillator? Write down the condition in terms of the natural frequency and the damping parameter.

Chapters 7.1, 7.2, 7.3, 7.5, 7.7, 7.10. Journal Questions:
• How is the Lagrangian defined?
• Show that Newton's second law implies the Lagrange equations! (two line proof)
• What are two major advantages of using Lagrange equations to solve problems in dynamics compared to just using Newton's laws?

Chapter 7.8. Journal Questions:
• Who was Emmy Noether?
• What is Noether's theorem?

Chapter 8
• How many orbital parameters do you need to describe the orbit of an asteroid orbiting the Sun? Make a list with symbols and names!
• Sketch the orbit of Earth, Mars and the NASA InSight spacecraft! What is this type of orbit called?

Chapter 11 (exclusive 11.7). Journal Questions:
• Sketch the normal modes of a system consisting of two carts (Fig 11.1) where the masses of the two carts are equal and all spring constants are equal!
• Sketch again the normal modes, but this time for a system where the oscillators are weakly coupled!

Chapters 12.1, 12.2, 12.3, 12.4, 12.5. Journal Questions:
• Write the equation of motion for the DDP in your journal!
• Describe where the Feigenbaum number appears in the discussion of the DDP!
• What is the Lyapunov exponent?

Chapters 12.6, 12.7, 12.8, 12.9. Journal Questions:
• What are the differences between a bifurcation diagram, a state-space orbit, and a Poincare section?
• What is the recursion equation for the logistic map?

Old Final Exam from 2018

Simulation of the formation of large scale structure and galaxies in the early universe (Max Planck Institute for Astrophysics).

(Fall 2018) Introduction to Scientific Computing (PSCB57)

From the calendar: Scientific computing is a rapidly growing field because computers can solve previously intractable problems and simulate natural processes governed by equations that do not have analytic solutions. During the first part of this course, students will learn numerical algorithms for various standard tasks such as root finding, integration, data fitting, interpolation and visualization. In the second part, students will learn how to model real-world systems from various branches of science. At the end of the course, students will be expected to write small programs by themselves. Assignments will regularly include programming exercises.

Tutorial 2 Preparation

Check out this notebook to prepare for the test in tutorial 2.

Lecture 1

Download the slides as PDF. The interactive part of the first lecture is based on this notebook (note that we did not cover all parts during the lecture).

Lecture 2

Video of Ariane 5 rocket launch. Lecture notes as a PDF.

Lecture 3

Notebook of matplotlib and numpy introduction.

Lecture 4

Lecture notes as a PDF.

Lecture 5

Assembler intepreter as a python file. Lecture notes as a PDF. Link to Micropython. Link to a description of the microcontroller board. Link to some of the sensors that you can use (I have also have other sensors not listed here).

Lecture 6

Lecture notes as a PDF. Python notebook on solving the heat equation.

Lecture 7

Lecture notes as a PDF.

Lecture 8

Lecture notes as a PDF.

Lecture 9

Lecture notes as a PDF. Slides on long term N-body integrations as a PDF. Python notebook and initial conditions for the N-body problem.

Lecture 10

Lecture notes on random numbers as a PDF. Slides on Bayes' Theorem as a PDF.

Lecture 11

For the various aspects of numerical integration we covered in the first 20 minutes of the lecture, see Computational Physics by Newman, chapter 5, which is freely available online.
Launch of a rocket built by students in PHYB54 on the roof of the Science Wing.

(Winter 2018) Mechanics: From Oscillations to Chaos (PHYB54)

From the calendar: The linear, nonlinear and chaotic behaviour of classical mechanical systems such as oscillators, rotating bodies, and central field systems. The course will develop analytical and numerical tools to solve such systems and determine their basic properties. The course will include mathematical analysis, numerical exercises (Python), and demonstrations of mechanical systems.

Driven Damped Pendulum

View the notebook from the March 29 lecture as a gist.

Slide from last lecture

View the slides from the last lecture as PDF.
Puri Gagarin the Cosmocat visiting the UTSC Observatory.

(Fall 2017) Practical Astronomy: Instrumentation and Data Analysis (ASTC02)

From the calendar: A hands-on introduction to astronomical observing using the UTSC telescope. Lectures cover topics of astronomical instrumentation and data reduction. Observations of Solar System planets, moons, planetary nebula, globular clusters and galaxies will be made. Students will present their results in the style of a scientific paper and a talk.

Github Repo

Various files for the tutorials and assignments can be found on the course's github repo.

Slides Lecture 11

Simulation of the formation of large scale structure and galaxies in the early universe (Max Planck Institute for Astrophysics).

(Fall 2017) Introduction to Scientific Computing (PSCB57)

From the calendar: Scientific computing is a rapidly growing field because computers can solve previously intractable problems and simulate natural processes governed by equations that do not have analytic solutions. During the first part of this course, students will learn numerical algorithms for various standard tasks such as root finding, integration, data fitting, interpolation and visualization. In the second part, students will learn how to model real-world systems from various branches of science. At the end of the course, students will be expected to write small programs by themselves. Assignments will regularly include programming exercises.

Submissions

To submit an assignment, go to portal.utoronto.ca.

Github Repo

Various files for the tutorials and assignments can be found on the course's github repo.

Lecture Notes

Lecture 1

Introduction, floating point numbers. The following material is available: slides (pdf) and lecture notes (pdf).

Lecture 2

Floating point number boot camp and algorithmic complexity. The following material is available: slides (pdf) and solutions to the hand-out (pdf).

Lecture 3

Matricies, algorithmic complexity, LU decomposition. The following material is available: slides (pdf) and lecture notes (pdf).

Lecture 4

Review and examples for the linear least square fit (see handout from class), root finding algorithm, geotab walk through. The following material is available: lecture notes (pdf). The geotab example and the LU decomposition code are available as jupyter notebooks in the course repository on github.

Lecture 5

Root finding methods beyond bisection, gravitational wave discovery, plotting with matplotlib. The following material is available: lecture notes (pdf). The gravitational wave notebooks are available on the LIGO Open Science Center.

Lecture 6

Midterm, interpolation methods. The following material is available: lecture notes (pdf).

Lecture 7

Interpolation examples, introduction to differential equations. The following material is available: lecture notes (pdf), interpolation examples (github).

Lecture 8

Integration examples, N-body simulations. The following material is available: lecture notes (pdf).

Lecture 9

Numerical integration, Monte Carlo. The following material is available: lecture notes (pdf). Details on Buffon's Needle can be found on wikipedia. Details on random number generators and cryptography can be found in the Computational Physics book, chapter 10. A good introduction to Monte Carlo methods can be found in Helmut Katzbraber's lecture notes . In particular, read the chapter 2.2 on Markov Chains.

Lecture 10

Monte carlo methods, Bayes's theorem. The following material is available: slides (pdf).

Lecture 11

Quiz 4 (retake), review of material for the final exam. The following material is available: slides (pdf).

Lecture 12

Geotab presentations.

Final exams from previous years

Launch of a rocket built by students in PHYB54 on the roof of the Science Wing.

(Winter 2017) Mechanics: From Oscillations to Chaos (PHYB54)

From the calendar: The linear, nonlinear and chaotic behaviour of classical mechanical systems such as oscillators, rotating bodies, and central field systems. The course will develop analytical and numerical tools to solve such systems and determine their basic properties. The course will include mathematical analysis, numerical exercises (Python), and demonstrations of mechanical systems.

Problem Sets

Problem Set 7

Image of M51 taken with the UTSC Observatory.

(Winter 2017) Galactic Structure and Dynamics (AST1420)

This is an introductory course to the galactic structure and dynamics. The course starts with discussing observational properties of star clusters, galaxies and galaxy clusters, before going into the mathematical details of modelling these systems. Assignments include numerical exercises.

Problem Set 2

Simulation of the formation of large scale structure and galaxies in the early universe (Max Planck Institute for Astrophysics).

(Fall 2016) Introduction to Scientific Computing (PSCB57)

From the calendar: Scientific computing is a rapidly growing field because computers can solve previously intractable problems and simulate natural processes governed by equations that do not have analytic solutions. During the first part of this course, students will learn numerical algorithms for various standard tasks such as root finding, integration, data fitting, interpolation and visualization. In the second part, students will learn how to model real-world systems from various branches of science. At the end of the course, students will be expected to write small programs by themselves. Assignments will regularly include programming exercises.

Submissions

To submit an assignment, go to http://rein.utsc.utoronto.ca/submit/.

Old exams

Note that the topics changed. For example, we did not do cover the assembler language this year.

Assignments

Assignment 4

Newton's methods, data files, bisection method. Download as PDF. (updated Monday Oct 24)

Lecture notes

Lecture 3

No lecture notes for this lecture. See Computational Physics by Newman, chapter 6.1. Code sample form the lecture: linearequations.py.