Home | Syllabus | Lectures | Readings | Assignments | Codes | Links |
---|

**Course Number:** CSCI 596

**Section:** 30280D (lecture); 30146R (hands-on)

**Session:** 048

**Instructor:**
Aiichiro Nakano;
office: VHE 610; email: anakano@usc.edu

**TA:** Taufeq Razakh (razakh@usc.edu)

**Lecture:** 3:30-4:50pm M W, SOS B2

**Hands-on:** 3:30-4:20pm F, ZHS 159

**Office Hour:** 4:30-5:50pm F, VHE 610

**CARC (Center for Advanced Research Computing) Office Hour:**
2:30-5:00 pm T

**Assignment Submission and Grade Posting:** TBA

**Prerequisites:** Basic knowledge of programming, data structures,
linear algebra, and calculus;
A nice introduction for a non-computer science student to fill the gap:
Y. Patt and S. Patel,
Introduction to Computing Systems: From Bits and Gates to C and beyond;
A fun reading about the whole computer-science discipline: T. Hey and G. Papay,
The Computing Universe;
A survival guide for daily computational research: A. Scopatz and K. D. Huff,
Effective Computation in Physics --
USC students have free access through
Safari Online;
Introductory courses on mathematical methods:
Methods of Computational Physics &
part I of Deep Learning book.

**Textbooks:**

W. D. Gropp, E. Lusk, and A. Skjellum, "Using MPI, 3rd Ed."
(MIT Press, 2014)--recommended

M. Woo, et al., "OpenGL Programming Guide, Version 4.5, 9th Ed."
(Addison-Wesley, 2016)--recommended

A. Grama, A. Gupta, G. Karypis, and V. Kumar,
"Introduction to Parallel Computing, 2nd Ed."
(Addison-Wesley, 2003)--recommended

** Course Description **

Particle and continuum simulations are used as a vehicle to learn basic elements of high
performance scientific computing and visualization. Students will obtain
hands-on experience in: 1) formulating a mathematical model to describe a physical
phenomenon; 2) discretizing the model, which often consists of continuous differential
or integral equations, into algebraic forms in order to allow numerical solution on
computers; 3) designing/analyzing numerical algorithms to solve the algebraic equations
efficiently on parallel computers; 4) translating the algorithms into a program;
5) performing a computer experiment by executing the program;
6) visualizing simulation data in an immersive and interactive virtual environment;
and 7) managing/mining large datasets. For details, please see
course information sheet.

Visualization of 112 million-atom reactive molecular dynamics simulation to study high-temperature oxidation of a silicon-carbide nanoparticle on 786,432 IBM Blue Gene/Q cores.

- 8/26 (M): The class begins.
- 9/2 (M): Labor day--no class.
- 10/11 (F): Fall recess--no class.
- 11/11 (M): Veterans day--no class.
- 11/27 (W) & 11/29 (F): Thanksgiving holiday--no class.
- 12/13 (F): Final project repository due.

- 8/26 (M): Course information
- 8/28 (W):
Introduction: what is scientific computing?;
see
ten computer codes that transformed science,
J. Perkel,
*Nat. Phys.***589**, 345 (2021) - 8/30 (F): Introduction (continued): what you will learn in CSCI 596
- 12/2 (M): Final-project presentations (1)
- 12/4 (W): Final-project presentations (2)
- 12/6 (F): Final-project presentations (3)