For more details please follow the syllabus here.
For consistency, I am planning to follow the
general plan from previous years. But I would like to emphasize the
topics you believe are more interesting and useful to you, the
students who are taking the class this spring.
Below I am listing the major topics of the class:
- teaching programming: in C and R. Here I am contemplating some changes.
One option is to teach only C, a second to teach only python, a third to allow everyone to program in their language of choice and to offer support (such as tutorials by the TA -- Kristof Glauninger) in python and maybe R. The third option means implicitly that teaching programming will get much less class time, but that you will be supported to improve on your own.
- data structures and algorithms
Shall we include basic data structures such as lists, arrays and maps? Shall we include advanced topics like dynamic programming?
- data structures and algorithms for graphs, trees and sequences
- MCMC (aka Markov Chain Monte Carlo)
- parallel programming with MPI
- optimization -- this could be a special topic
Old topics
|
How do programs run? Fundamentals of computer architecture, the
meaning of pointers, dynamic memory allocation.
|
|
Programming, debugging and commenting strategies. How to choose a
programming language?
|
|
Basic data structures. Static sets and C arrays. Dynamic sets, queues,
lists and their implementation.
|
|
Binary trees.
|
|
Dynamic programming. Some applications of dynamic programming to
string data.
|
|
Hidden Markov models.
|
|
Other topics (if there is time and interest) kernel density
estimation, K-D trees, support vector machines.
|
|
|
|
|
|
|
|
|
|