I am currently teaching Introduction To Proofs at Johns Hopkins University

Mathematical and Computational Foundations of Data Science (Spring 2023)

Upper level undergraduate course, Johns Hopkins University

The emphasis is on fundamental mathematical ideas (basic functional analysis, reproducing kernel Hilbert spaces, concentration inequalities, uniform central limit theorems), basic statistical modeling techniques (e.g. linear regression, parametric and non-parametric methods), basic machine learning techniques for unsupervised (e.g. clustering, manifold learning), supervised (classification, regression), and semi-supervised learning, and corresponding computational aspects (linear algebra, basic linear and nonlinear optimization to attack the problems above).

Instructor for Introduction to Proofs (Fall 2021)

Upper level undergraduate math course, Johns Hopkins University

This course introduces students to the natural deduction style of encoding proofs in intuitionistic propositional logic and first order logic. Proof strategies such as proof by cases, negation introduction, proof by contradiction, induction, etc are justified by natural deduction. Later, students are familiarized with proofs on abstract mathematical structures such as finite and infinite sets, ordered sets, metric spaces, and topological spaces. They are introduced to methods of writing proofs which are rigorous, readable, and elegant. Mathematical communication, both written and spoken, is emphasized throughout the course. In this course, students also explore proof-relevant mathemetics by interacting with the Lean proof assistant.

Demonstrator for Models Of Computation

2nd year undergraduate module, University of Birmingham, School of Computer Science, 2018

Demonstrator for Team Project Module

2nd year undergraduate module, University of Birmingham, School of Computer Science, 2017

  • Team Project, Semester 2, 2017
    • Module Lecturer: Ian Kenny
    • This year’s theme: Video Game Design in Java
    • Core features of the game:

      • Competitive play.Your game must allow players to compete.
      • Networking.Your game must allow multiple players to play across a network. The specific net-working arrangement depends on the type of game but, for example, you might create a client-server typearrangement in which multiple clients connect to a controlling server, or a server performing some otherservice.
      • Artificial Intelligence.Your game must have the option of computer-controlled players. These mightbe individual or team players, depending on the type of game.
      • User Interface.Your game must have a user interface, i.e. a convenient way for players to interactwith the game. This will almost certainly require a menu as a minimum but will more than likely alsorequire other interface entities such as dialog windows that have a range of controls, clickable icons, etc.The user interface will also include crucial feedback information for the player.

  • Activities:
    • Supervising projects
    • Helping students in the Lab on an individual basis
    • Meeting students in office hours

Demonstrator for Introduction to Mathematics for Computer Science

1st year undergraduate module, University of Birmingham, School of Computer Science, 2016

  • Introduction to Mathematics for Computer Science, Semester 2, 2016
    • Module Lecturer: Steve Vickers
    • Content:

      • Coordinate geometry: Equations of lines and circles; gradients.
      • Functions and their graphs: A very vivid way to describe functions and their properties.
      • Functions at large x: This aspect of functions is interesting in its own right, but also important for analysing the efficiency of computer algorithms.
      • Differential calculus: Rules for finding gradients. This lies right at the heart of mathematical applications.
      • Differential calculus continued.
      • Polynomials: Manipulating them, and something about finding their roots.
      • Trigonometry: Calculating with angles.
      • Complex numbers: What happens if you invent an "imaginary" square root of -1. The amazing idea that trigonometry is just imaginary exponentiation.
      • Integration: Finding areas - or the opposite of differentiation.
      • Simultaneous linear equations: Solving linear equations simultaneously.

    • Activities:
      • Joinlty running exercise classes

Teaching Assistant for MATH 1228 (Finite Maths)

An undergraduate course for social science students, Mathematics Department, Western University, 2014

  • Methods of Finite Mathematics, Autumn 2013
    • Lecturer: Vicky Olds
    • Activities:
      • Running exercise classes
      • Marking mid-term and final exmas papers
      • Private tutorials

Putnam Training Sessions

Preparation and Selection of Western's Team for Putnam Competitions, Faculty of Science, Western University, 2014

  • Putnam Training Sessions, Autumn 2013 & Autumn 2014
    • The William Lowell Putnam is a mathematics contest for undergraduates in Canada and the U.S. This year’s contest will be written on Saturday, December 6th. Additional information can be found at math.scu.edu/putnam/
    • Preparation sessions for the Putnam Mathematics Competition are run by the Math department and are open to all students interested in mathematical problem-solving. There will be an organizational meeting for the Preparation sessions this Friday, September 26th at 5pm in MC 108 (in Middlesex).
    • Exercise material: Putnam and Beyond by Gelca and Andreescu

Teaching Assistant for Calculus 1225

University-wide undergraduate course, Mathematics Department, Western University, 2014

  • Methods of Calculus, Autumn 2014
    • Intructors: Stuart Rankin, Gord Sinnamon, Vicky Olds
    • Activities:
      • Helping students on an individual basis in Help Center
      • Marking mid-term and final exmas papers
      • Proctoring for final exams

Teaching Assistant for Linear Algebra Math 1600A

An undergraduate course for social science students, Faculty of Science, Western University, 2014

  • Linear Algebra I, Spring 2014
    • Lecturer: Gord Sinnamon
    • Activities:
      • Running exercise classes
      • Marking mid-term and final exmas papers
      • Private tutorials
      • Proctoring final exam

High school Mathematical Olympiad Camp

Training High School students for partaking in national mathematics olympiad, NODET High School, Iran, 2011

  • Number theory and Combinatorics Training Sessions, 2011-2012