- MSRI-UP 2017: Solving Systems of Polynomial Equations (I was research director
during June 24 - August 6, 2017)

- Math 470/470H: Communications and Cryptography (stacked honors section)

- Math 689: Introduction to Semidefinite Programming and Algebraic
Optimization

- Math 470H: Honors Communications and Cryptography, Fall 2016

- Math 673: Information, Secrecy, and Authentication I, Fall 2016

- REU in Algorithmic Algebraic Geometry, Summer 2016

- Math 416: Modern Algebra II, Spring 2016

- Math 423: Linear Algebra II, Spring 2016

- MA 5115: The Complexity of Solving Polynomial Equations over Local Fields, course for Master's-level students at Technische Universität München, Fall 2015

- REU in Algorithmic Algebraic Geometry, Summer 2015

- Math 654 (Graduate Algebra II), Spring 2015

- Math 304 (Linear Algebra), Fall 2014

- Math 323 (Honors Linear Algebra), Fall 2014

- Math 423 (Linear Algebra II), Summer II, 2014

- REU in Algorithmic Algebraic Geometry, Summer 2014

- Math 689 (Statistical Algebraic Geometry), Spring 2014
- Math 470 (Communications and Cryptography), Spring 2014

- Math 648 (Introduction to Algorithmic Algebraic Geometry), Fall
2013

- REU in Algorithmic Algebraic Geometry, Summer 2013

- Math 470 (Communications and Cryptography), Spring 2013

- Math 415 (Modern Algebra I), Fall 2012

- Math 470 (Communications and Cryptography), Fall 2012

- Math 491 (Undergraduate Research Course in Polynomial Factoring), Fall
2012

- Math 691 (Graduate Research Course in Real Algebraic Geometry), Fall
2012

- REU/Math 662/Math 685 (Algorithmic
Algebraic Geometry and Applications), Summer 2012

- Math 685 (Graduate Directed Studies), Spring 2012

- Math 691 (Graduate Research Course in Arithmetic Tropical Geometry), Spring 2012

- Math 648 (Graduate Introduction to Algorithmic Algebraic Geometry and its Applications), Fall 2011

- Math 311 (Undergraduate Topics in Applied Mathematics I), Fall 2011

- REU/Math 662/Math 685
(Introduction to Algorithmic Algebraic Geometry and its Applications),
Summer 2011

- Math 489 (Undergraduate
Introduction to Algebraic Geometry and its Applications), Spring 2011

- Math 220 (Fundamentals of Mathematics, 1 honors section and 1
regular section), Fall 2010

- REU/Math 662 (Algorithmic
Algebraic Geometry and Applications), Summer 2010

- Math 685 (Graduate Directed Studies: Topics in Algorithmic Fewnomial Theory), Summer 2010
- Math 685 (Graduate Directed Studies: Topics in Algorithmic Fewnomial Theory), Spring 2010
- Math 171 (Analytic Geometry and Calculus I), Fall 2009
- Math 648 (Introduction to Algorithmic Algebraic Geometry), Fall 2009
- REU: Algorithmic Algebraic Geometry and Physical Modelling, Summer 2009
- Math 685 (Graduate Directed Studies course: Topics in Algorithmic p-adic Algebraic Geometry), Spring 2009
- Math 171 (Calculus and Analytic Geometry I), Sec. 504, Fall 2008
- Math 323 (Linear Algebra), Sec. 501, Fall 2008
- IAS/PCMI Summer 2008 Undergrad Program: Algorithmic Fewnomial Theory
- Randomized Algebraic Algorithms Seminar, Fall 2006 - Spring 2008
- REU: Algebraic Methods in Computational Biology, Summer 2008
- Math 171 (sec. 501): Analytic Geometry and Calculus, Spring 2008
- Math 685 (Graduate Directed Studies course: Topics in Algorithmic p-adic Algebraic Geometry), Spring 2008
- Math 289 (Mathematics of Modern Life), Fall 2007
- Math 685 (Graduate Directed Studies Course: Topics in Algorithmic p-adic Algebraic Geometry), Summer 2007
- REU Course/Math 662 (section 100): Algebraic Methods in Bioinformatics, Summer 2007
- Math 685 (Graduate Directed Studies Course: Topics in Algorithmic Real Algebraic Geometry), Spring 2007
- Math 685 (Graduate Directed Studies Course: Ultrametric Aspects of Algorithmic Algebraic Geometry), Fall 2006
- REU Course/Math 662 (section 100): Algebraic Methods in Computational Biology, Summer 2006
- Math 431: Structures and Methods of Combinatorics, Spring 2006.
- Math 304: Linear Algebra (Sec. 504), Spring 2006.
- Algebraic Methods in Computational Biology (REU/VIGRE Math 662, Section 100), Summer 2005
- Algorithmic Algebraic Geometry (Math 648, Section 600), Spring 2005
- Discrete Mathematics (Math 302, Sections 502 and 505), Fall 2004
- Math 685 (Graduate Directed Studies Course: Analytic Approaches to Algebraic Geometry), Fall 2004
- Math 491 (Undergraduate Research Course: Experiments in Real Algebraic Geometry), Fall 2004
- Math 662 (REU/VIGRE Seminar in Computational Algebraic Geometry), Summer 2004
- Math 485 (Undergraduate Research Course: Real Solving and Protein Structures), Spring 2004
- Math 630 (Graduate Combinatorics), Fall 2003
- Math 302 (Discrete Mathematics), Fall 2003
- Math 662 (Introduction to Algorithmic Number Theory), Spring 2003
- 2 Sections of Math 302 (Discrete Mathematics), Spring 2003
- Math 662 (Introduction to Computational Algebraic Geometry), Fall 2002
- Math 302 (Discrete Mathematics), Fall 2002
- Math 662 (Introduction to Computational Algebraic Geometry), Spring 2002
- Math 431 (Structures and Methods of Combinatorics), Fall 2001
- Math 302 (Discrete Mathematics), Fall 2001
- Math 304 (Linear Algebra), Spring 2001
- Optimization I, Fall 2000 (and Fall 1999 and Spring and Fall 1998) (City U of HK)
- Advanced Mathematics Laboratory, Spring 2000 (City U of HK)
- Algebra, Algorithms, and Applications, Spring 1999 (City U of HK)
- Polyhedral Methods in Optimization and Equation Solving, Fall 1997 (MIT)
- Computational Algebraic Geometry, special course (co-lectured with V. Reiner and B. Taylor) for advanced students in MathCamp! 1997.
- Math 18.410J/6.046 (Introduction to Algorithms), Friday 11:00 and 14:00 Recitations, Spring '97.
- A Simple Introduction to Polynomial Equations, (Math 18.099) (IAP), Tu 12:00-13:30, WTh 12:00-12:55, January 14-29, 1997.