140.778.01
Statistical Computing, Algorithm, and Software Development
- Location:
- East Baltimore
- Term:
- 3rd term
- Department:
- Biostatistics
- Credits:
- 3 credits
- Academic Year:
- 2022 - 2023
- Instruction Method:
- In-person
- Class Times:
-
- M W, 3:30 - 4:50pm
- Auditors Allowed:
- Yes, with instructor consent
- Undergrads Allowed:
- No
- Grading Restriction:
- Letter Grade or Pass/Fail
- Course Instructor:
- Contact:
- Akihiko Nishimura
- Resources:
- Prerequisite:
Linear algebra; 140.776; and, in future years, 140.777 (to be offered as a special topics course in 2022-23 and will be offered as a permanent course starting in 2023-24.
- Description:
-
Teaches students common algorithms and essential skill sets for statistical computing and software development through hands-on experiences. Takes a large-scale logistic regression as an example and has students work toward implementing a high-performance `hiperLogit` R package for fitting this model. Presents progressively advanced algorithms and computing techniques. Trains students in various best practices for developing statistical software, including how to start with a basic version of the package and progressively integrate more advanced features. Prepares students for further training in statistical computing techniques and algorithms as covered in Advanced Statistical Computing (140.779).
- Learning Objectives:
-
Upon successfully completing this course, students will be able to:
- Explain a basic theory behind optimization algorithms and numerical linear algebra methods
- Diagnose numerical instabilities (and fix simple instances of such), which may arise when implementing mathematical algorithms in finite-precision arithmetic
- Develop a preliminary statistical software package in a maintainable and extensible manner
- Participate in an open-source software project
- Methods of Assessment:
This course is evaluated as follows:
- 70% Homework
- 30% Final Project
- Instructor Consent:
Consent required for some students
- Consent Note:
Consent of instructor required if pre-requisites not satisfied.
- For consent, contact: