Fall 2019 Edition
The current drive for energy-efficiency has made approximation a key concept in designing and implementing software in various areas, such as data analytics, mobile computing, multimedia processing, and engineering simulations. This course will focus on foundations and system-level techniques for representing uncertainty in program's data and reasoning about profitable tradeoffs between accuracy, reliability, and energy consumption. In addition to selected algorithmic-level approximations, we will study (i) programming languages that natively operate on probabilistic and/or uncertain data, (ii) compilers and programming systems that automatically approximate programs while verifying or testing the accuracy of optimized programs, and (iii) hardware devices that expose approximate components.
9/4/2019: The paper signup is available here
8/26/2019: Piazza is set up! (link)
8/20/2019: The website is up!
This is a research-oriented course. It will include lectures, reading research papers, in-class discussions, and a final research project. We will compute the final grade using the following table:
| Activity | Grade | Details |
|---|---|---|
| Miniquizzes | 10% |
|
| Reviews and Discussion | 15% |
|
| Presentation | 20% |
|
| Project | 50% |
| Homework | 5% (+ 10% XC) |
|