PhysCat DeCal

Class Homepage

Welcome!

The PhysCat DeCal aims to bring students up to speed with the ins and outs of modern scientific computing so that they can jump right into applying their skills in research and in industry.

We will be introducing a broad array of topics, from computer architecture, optimization and acceleration; to modern numerical methods, digital signal processing, probabilistic programming, and the Julia programming language. This class will primarily be taught in Python with a brief intro to Julia, and although Python experience is not required, some programming experience is highly recommended.

Our lecture recordings are now publicly viewable here!

Administration

Classes: Monday and Wednesday, 7-8 PM

If you’ve enrolled and aren’t yet on the Discord, please let us know by emailing us (emails on the About page). We’ll host office hours and make further announcements via Discord. The Zoom link will also be made available over email and the Discord.

Homework links will be posted here before the first lecture of the week they are due.

Week Topic Assignment Primary Facilitator
01/25 Overview and Environment Setup HW 1 Aditya
02/01 Python Review, Future Concept Demo Aled
02/08 Computer Architecture HW 2 (Due 02/25) Aled
02/17 SIMD and Vectorized Computation Aled
02/22 Threading HW 3 (Due 03/15) Aled
03/01 GPUs and High-Performance Computing Aled
03/08 The Julia Programming Language, Code Efficiency HW 4 (Due 04/08) Aditya
03/15 Asymptotic Analysis, Numerical Methods Aditya
03/22 Spring Break
03/29 Applications to Computational Physics HW 5 (Due 04/20) Aditya
04/05 Git, Github, Package Management Aditya
04/12 Application to Computational Physics Project (Due 05/03) Aditya + Aled
04/19 Best Practices and Documentation Aditya
04/26 Advanced Topics: FPGAs and DSP Aled