Teaching


Spring 2022: Applied Scientific Computing in Molecular Engineering

This one-quarter course provides hands-on practical training in scientific computing with a focus on applications to molecular engineering. The course provides: (i) training in core programming concepts, including a broad introduction to Python programming and use of key scientific libraries, (ii) advanced programming topics in CPU and GPU parallel programming and quantum computing, exploring their use through practical examples. Hands-on immersive praxis, mostly using electronic notebooks, will introduce students to the efficient use of several computational resources such as pre-exascale and quantum computers.

Instructor: Marco Govoni

Code: MENG-25610/35610

Room: KPTC 101, University of Chicago

Class: Spring 2022, TTh 5-6:20pm (US central)

Teaching assistant: Baiyang Dai


Winter 2021: Applied Scientific Computing in Molecular Engineering

This one-quarter course provides hands-on practical training in scientific computing with a focus on applications to molecular engineering. The course provides: (i) training in core programming concepts, including a broad introduction to Python programming and use of key scientific libraries, (ii) advanced programming topics in CPU and GPU parallel programming and quantum computing, exploring their use through practical examples. Hands-on immersive praxis, mostly using electronic notebooks, will introduce students to the efficient use of several computational resources such as pre-exascale and quantum computers.

Instructor: Marco Govoni

Code: MENG-25610/35610

Room: University of Chicago NOTE: Because of Covid-19 the course has been taught online using Zoom

Class: Winter 2021, TTh 6-7:20pm (US central)

Teaching assistant: Max Topel


Spring 2020: Applied Scientific Computing in Molecular Engineering

This one-quarter course provides hands-on practical training in scientific computing with a focus on applications to molecular engineering. The course provides: (i) training in core programming concepts, including a broad introduction to Python programming and use of key scientific libraries, (ii) advanced programming topics in CPU and GPU parallel programming and quantum computing, exploring their use through practical examples. Hands-on immersive praxis, mostly using electronic notebooks, will introduce students to the efficient use of several computational resources such as pre-exascale and quantum computers.

Instructor: Marco Govoni

Code: MENG-25610/35610

Room: Cobb 104, University of Chicago NOTE: Because of Covid-19 the course has been taught online using Zoom

Class: Spring 2020, TTh 5-6:20pm (US central)



Lecture notes


Introduction to Jupyter Notebooks

The lecture guides beginner users through the core functionalities of Jupyter Notebooks. This lecture was offered to graduate students of the University of Chicago and to participants of Summer Schools as an warm-up segment in preparation for hands-on sessions.

View the lecture: Jupyter viewer

Download the lecture: GitHub repo


Numerical methods: the 2D Poisson equation

Hands-on lecture on numerical methods for Physics. The 2D Poisson equation is solved: analytically, with the spectral method (FFT), and with finite difference methods. This lecture was offered to graduate students of the University of Chicago.

View the lecture: Jupyter viewer

Download the lecture: GitHub repo


Introduction to Qbox

The lecture guides beginner users through the core functionalities of Qbox, a code used in computational materials science for first-principles molecular dynamics simulations. This lecture was offered to graduate students of the University of Chicago.

Download the lecture: GitHub repo


Quantum mechanics lecture notes

Hands-on lectures for the Quantum Mechanics class, B.S. Physics, University of Modena and Reggio Emilia. This class was taught to ungraduate students in 2009-2012. The class was taught in Italian.

  • Lecture # 01 : Blackbody
  • Lecture # 02 : Compton effect, photoelectric effect, matter waves
  • Lecture # 03 : Atomic models, quantization rules
  • Lecture # 04 : Schrödinger equation
  • Lecture # 05 : One-dimensional scattering problems with step potentials
  • Lecture # 06 : Bound states, Dirac's delta-potential
  • Lecture # 07 : Quantum mechanics
  • Lecture # 08 : Evolution operator, Schrödinger and Heisenberg representations
  • Lecture # 09 : Quantum harmonic oscillator
  • Lecture # 10 : Quantum theory of angular momentum
  • Lecture # 11 : Exercise miscellanea

Some exercises were adapted or rearranged from the following books:

  • P. Mazzoldi, M. Nigro and C. Voci, Fisica (Volume II)
  • A. Messiah, Quantum Mechanics
  • P. Atkins and R. Friedman, Molecular Quantum Mechanics
  • D.J. Griffiths, Introduction to Quantum Mechanics

Download the lectures: GitHub repo