Course Info
Overview
- Continuous computations, **which involve continuous data and operations, are fundamental to diverse areas of computer science, including machine learning and scientific computing. Examples include evaluating continuous functions (e.g., numpy.exp(x)) and computing derivatives (e.g., jax.grad(f)).
- This course introduces the foundations and principles of continuous computations. It covers a broad range of topics: from basic computations (e.g., evaluating elementary functions and generating random numbers), to more advanced computations (e.g., computing derivatives and estimating integrals). Students will learn how to perform these computations correctly and efficiently **on actual computers.
- In essence, this course serves as a continuous counterpart to a traditional algorithm course, and a computational counterpart to a traditional calculus course. Lectures will start from first principles, and emphasize both mathematical theory and relevant computational methods.
Prerequisites
- Students should have a basic knowledge of calculus, probability, and algorithms. As this course is math-intensive, students should be comfortable with understanding and doing rigorous mathematical proofs. The following courses are relevant but not required: Automata & Formal Languages (CSED341), Programming Languages (CSED321), Analysis I (MATH311), and Introduction to Numerical Analysis (MATH351). Students are welcome to audit this course, subject to seat availability.
Grades
- Attendance (0%). Use the electronic attendance check system.
- Homework (50%). There will be 4 homework assignments.
- Project (50%). Each of you will either select a topic from a provided list or suggest a topic by yourself, where each topic consists of several papers. You will then complete three tasks. Ideally, you would study not only the listed papers (including appendices and proofs), but also other relevant papers (e.g., those cited by, or citing, the listed papers).
- Proposal Presentation (10%). Give a 5-minute presentation in English that:
- Introduces the problem investigated in the selected papers.
- Outlines a plan for an in-depth study.
- Final Presentation (20%). Give a 30-minute presentation that explains:
- The main problem with its motivation and significance.
- The main results with their strengths and weaknesses.
- Concrete follow-up research questions and any preliminary results if available.
- Note: Each presentation will be followed by a 5-minute Q&A session.
- Final Report (20%). Write a 5-page report that includes:
- A summary of the selected papers (which may be from outside the provided list), including some mathematical details.
- A discussion of their significance, strengths, and weaknesses.
- A description of concrete follow-up research questions, and any preliminary results (either theoretical or empirical) on the questions if possible.
- Note: References, figures, and tables do not count toward the 5-page limit.
- Important notes
- Weights. The weights of the above items are subject to change.
- LLMs. You should not ask any homework problem and attach any paragraph from project papers, directly to LLMs (e.g., ChatGPT, Gemini, DeepSeek). However, you could use them to get some help for your study (e.g., asking the concepts covered in the class or presented in project papers).
- Homework. You should not use LLMs when solving homework problems.
- Project. You could use LLMs when doing your project. If you do so, you should clearly mention in the final report how and where LLMs are used.
Lectures