APPM 4720/5720 "Open Topics in Applied Mathematics: Scientific Machine Learning (SciML)"
University of Colorado Boulder, Fall 2024. Instructor Stephen Becker, with assistance from Nic Rummel, and course prep help from Cooper Simpson
See syllabus.md for details on topics.
More class info (grades, discrimination policies, secret zoom link, piazza link, etc.) are on our Canvas page (sign in via the CU SSO)
Requires prerequisite course of APPM 4600 Numerical Methods and Scientific Computing or the older version of that course, APPM 4650 - Intermediate Numerical Analysis 1, minimum grade C-. Also acceptable are MATH 4650 Intermediate Numerical Analysis, CSCI 3656 Numerical Computation and MCEN 3030 Computational Methods. In particular, students must be familiar with differential equations.
For graduate students, there is no enforced prereq, but we suggest mathematical maturity and hopefully an undergraduate or graduate class in numerical analysis.
Familiarity with linear algebra and probability is assumed, and some familiarity with machine learning (like CSCI 5622) is nice but not essential.
- The instructor is Stephen Becker, Associate Professor of Applied Mathematics
- Contact him at [email protected]
- Office: 338 ECOT (engineering center, office tower)
- There is no teaching assistant, but there is a part-time assistant (Nic Rummel)
Meeting time: MWF 11:15 AM - 12:05 AM
Location: ECCS 1B14 (Engineering Center)
Classes are in person
3 hours per week, held in a hybrid fashion: attend the physical office (338 ECOT) or via zoom (link is posted in Canvas)
Times:
- TBD
This is intended to have less of a workload than a core class, though it will depend a lot on the student's background. This is a three credit course (the standard kind of course).
The course will involve chalkboard lectures (especially at the beginning of the semester when covering background material), live computer demonstrations, in-class coding, paper presentations and guest lectures.
The first third or half of the course will be more traditional, focusing on background knowledge. Later on in the course we will look at particular SciML papers and will have guest lectures.
Students should bring a laptop to class every Friday for coding. This will be part of the participation grade.
The homework will involve significant programming.
There will be homeworks, due either weekly or bi-weekly. You are allowed to drop one homework (this will be done automatically).
- 70% Homeworks
- Late homework is not accepted, but you are allowed one free "dropped" homework
- 10% Participation (in class)
- 20% Final Project (reproduce a SciML paper, or try your own approach)
There is no final exam.
The overall grade may be curved as appropriate (not guaranteed), but note that there is no set "quota" of A's, B's, etc., so you are not directly competing with your classmates.
Graduate students or anyone enrolled in 5720 (instead of 4720) will be given extra problems to do on the homework. For example, they may be asked to implement code using two different languages or packages rather than just one.
In general, late homework assignments are not accepted; instead, you can use your one dropped homework. Under exceptional circumstances (such as serious illness, including COVID-19, or serious family issues), homework can be turned in late. If the reason is foreseeable (e.g., planned travel), you must contact the instructor in advance.
Examples:
- Your sister is getting married and you have to travel out-of-state. That's great, but this is when you use the one dropped homework, or turn the homework in early. This is foreseeable, and not an "emergency", so it does not count as an exceptional circumstance.
- A close family member becomes infected with COVID-19 and you have to return to your home country to take care of family. This does count as an exceptional circumstance. Please email the instructor to discuss arrangements.
Cheating is not acceptable. Take-home exams and homeworks are easy to cheat on if you really want to, but as this is an upper-division course, I am relying on the fact that students are here to learn (and paying the university to do so), and thus cheating does not make sense. Cheating does not hurt the instructor, it hurts the student (and hurts the grades of honest classmates).
If a student is caught cheating, on the first occurrence, the penalty ranges from losing points on the item in question (like one test problem; this is for very minor infractions) to losing all points for the assignment (i.e., the entire homework or entire exam). Students may be referred to the honor council. On the second occurrence of cheating, similar penalties may apply, and additionally the student may fail the class, at the instructor's discretion.
"Minor infractions" include not following the instructions during an exam (in person or remote). For example, if the instructions on a remote test are to keep your microphone on and your hands in sight of your webcam, then failing to follow these instructions construes a minor infraction, and (even though cheating may not be proven) you are subject to losing points.
On homeworks, you are free to collaborate with other students, and to use resources like the internet appropriately. However, you must do your own work. There is a gray area between collaboration and cheating, and we rely on the students' and instructors discretion. Copying code verbatim is never permissible. You should be writing up your own work, and explaining answers in your own words. Snippets of code are allowed to be similar (sometimes there is only one good way to do it), but longer chunks of code should never be identical. If not expressly forbidden by the assignment, you may use the internet, but you may never post for help on online forums. (Regarding forums, please use our Piazza website if you want a Q&A forum).
Cheating is not usually an issue in this class, and I have faith that students will continue to act appropriately.
We will use github for public content (notes, demos, syllabus), and use CU's default LMT Canvas for private content like grades and homework solutions. Canvas will also be used to organize things, like any recorded lectures, comments made via Gradescope, and Q&A forums via piazza.
The class is intended to be in person most of the time, but in case we have to switch to zoom for some reason, below are our policies.
On zoom, please have your webcam on if at all possible
- Valid reasons for not having the camera on: to protect the privacy of your family or roommate, if you cannot have a virtual background
- Invalid reason: you don't feel like it, or you didn't wash your hair.
We have the same standards of behavior as we would in a classroom: appropriate attire, appropriate and not distracting virtual backgrounds, verbal and chat remarks should be respectful, etc. Real-world backgrounds should be appropriate and professional (please, no drugs or alcohol behind you).
It's always important to have respectful remarks, and even more so in an online setting, since it is easier to get carried away with chat comments since you cannot see the effect on other people.
If we enable private chat on zoom, remember that the zoom host can later see even "private" chats. Inappropriate or inconsiderate remarks, even on private chats, are not allowed.
Advice from your department advisor is recommended before dropping any course. After 11:59 PM Friday Sept. 11 2024, dropping a course results in a "W" on your transcript and you’ll be billed for tuition. After 11:59 PM Friday Nov. 1 2024, dropping the course is possible only with a petition approved by the Dean’s office.
The last day to add a class is Wed Sept. 9 2024
For classroom behavior, requirements for COVID-19, accommodation for disabilities, preferred student names and pronouns, honor code, sexual misconduct/discrimination/harassment/retaliation and religious holidays, please refer to the policies document posted on Canvas.