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.

Puri Gagarin the Cosmocat visiting the UTSC Observatory.

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.

Syllabus

Includes tentative schedule and grading scheme. Download as PDF.

Github Repo

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

Lab Report 1

Download the instructions for lab report 1 as a PDF file.

Lab Report 2

Download the instructions for lab report 2 as a PDF file.

Slides Lecture 1

Download the slides of lecture 1 as a PDF file.

Slides Lecture 2

Download the slides of lecture 2 as a PDF file.

Slides Lecture 4

Download the slides of lecture 4 as a PDF file.

Slides Lecture 5

Download the slides of lecture 5 as a PDF file.

Slides Lecture 6

Download the slides of lecture 6 as a PDF file.

Slides Lecture 7

Download the slides of lecture 7 as a PDF file.
Simulation of the formation of large scale structure and galaxies in the early universe (Max Planck Institute for Astrophysics).

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.

Syllabus

Includes tentative schedule and grading scheme. Download as PDF.

Github Repo

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

Geotab Project

Geotab project description with instructions and deliverables. Download as PDF.

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) and
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.

Syllabus

Includes tentative schedule and grading scheme. Download as PDF.

Problem Sets

Problem Set 1

Due: Monday, January 16th. Download as PDF.

Problem Set 2

Due: Monday, January 23rd. Download as PDF.

Problem Set 3

Due: Monday, January 30th. Download as PDF. Download solutions as PDF.

Problem Set 4

Due: Monday, February 6th. Download as PDF (updated 2017/2/3).

Problem Set 5

Due: Monday, March 6th. Download as PDF.

Problem Set 6

Due: Monday, March 13th. Download as PDF.

Problem Set 7

Due: Monday, March 27th. Download as PDF.
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.

Syllabus

Download as PDF.

Problem Set 1

Due: Tuesday, February 7th. Download as PDF.

Problem Set 2

Due: Tuesday, March 7th. Download as PDF.
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/.

Syllabus

Includes tentative schedule and grading scheme. Download as PDF.

Old exams

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

Midterm

Download as PDF.

2014 Final exam

Download as PDF.

2015 Final exam

Download as PDF.

Assignments

Assignment 1

Python and Fibonacci numbers. Download as PDF.

Assignment 2

Floating point numbers, integers and computational complexity. Download as PDF.

Assignment 3

Linear least square fit. Download as PDF. Download climate data: climate.txt. Download solution: Solution_A3.py.

Assignment 4

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

Assignment 5

Differential equations. Download as PDF.

Assignment 6

Your own project!. Download as PDF.

Lecture notes

Lecture 1

Introduction to Scientific Computing. Download slides as PDF. Floating point numbers. Download notes as PDF.

Lecture 2

Floating point number review, algorithmic complexity, matricies. Download as PDF.

Lecture 3

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

Lecture 4

Linear least square fit and root finding methods. Download as PDF.

Lecture 5

Root finding, interpolation. Download as PDF.

Lecture 6

Cubic spline, plotting, colour maps. Download as PDF.

Lecture 7

Differential Equations 1. Download as PDF.

Lecture 8

Differential Equations 2. Download as PDF.

Lecture 9

Monte Carlo. 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

Numerical integration. See Computational Physics by Newman, chapter 5.

Lecture 11

Bayes' Theorem. See Think Bayes - Bayesian Statistics Made Simple