STAT 534 Statistical Computing
A many-threaded roadmap through the course
python
- python data structures -numpy, list, string, dict -simple variables and references
- file input/output
- functions and modules -range/scope of variables
- random number generation
- parallel programming in python
Elements of computer systems
- the RAM (Random Access Memory)
- garbage collection and memory management
- pointers/memory addresses
- computer architecture in a nutshell
- processes, threads, programs
- interpreted vs compiled programming languages
- stacks, heaps, queues
Data structures (and algorithms)
- the basics -dynamic sets (i.e. sets of varying size): stack, heap, queue, list CRLS 10.1, 10.2, 10.3 -static sets (i.e. pre-allocated): arrays
- storing and retrieving data from trees (and maybe tries) CRLS 12.1, 12.2, 12.3
- dynamic programming CRLS 15
- hashing and hash-tables CRLS 11.1, 11.2, [11.3]
- a data structure for disjoint sets (one of the 10 most elegant algorithms on a list by Robert E. Tarjan
- graph algorithms this is already a lot! will we get to do it all?
Markov Chains and MCMC
- Markov chains
- MCMC
- Gibbs sampling
- Metropolis-Hastings sampling
- Swendsen-Wang if time