This course is ad advanced introduction to modern programming (Part I) and numerical analysis (Part 11) techniques used in statistics, modeling and data analysis.
Part I course topics include: basic data structures, structured data formats, iteration and recursion, functional programming, classes and object-oriented programming, memory management, strategies for documenting and debugging code. This part of the course will cover programming fundamentals relevant for research on statistical methodology, and for working with large and complex data sets.
Part II course topics include: sorting and binary searches, root finding in one dimension, interpolation techniques, low-dimensional numerical integration, solving triangular systems, basic matrix factorizations (LU, Cholesky, QR), Schur and singular value decompositions, sparse matrices. This part of the course will cover elementary algorithms that are useful for numerical analysis and programming with data.