CSE 30124 is an elective course in the Computer Science and Engineering program at the University of Notre Dame. This course serves as an introduction to programming (in python) through the semester long goal of building, from scratch, a large-language model (LLM) similar to ChatGPT. Along the way students will learn the fundamentals of using generative ai, including topics such as: prompt engineering, meta-prompting, retrieval-augmented generation, context engineering, and agentic workflows.
Upon successful completion of this course, students will be able to:
Click on the next to a topic for additional resources. indicates the required resource for the topic.
| Unit | Date | Topics | Assignments |
|---|---|---|---|
| Unit 01: GOFAI | Mon 01/12 | History of AI | |
| Wed 01/14 | Uninformed Search | Reading 01 | |
| Mon 01/19 | MLK Day | ||
| Wed 01/21 | Informed Search | ||
| Mon 01/26 | Constraint Satisfaction Problems | Reading 02 | |
| Wed 01/28 | Adversarial Search | Lab 00 | |
| Mon 02/02 | K-Nearest Neighbors | Reading 03 | |
| Wed 02/04 | Decision Trees | Homework 01 | |
| Mon 02/09 | Markov Models | Reading 04 | |
| Wed 02/11 | Bayesian Reasoning | ||
| Mon 02/16 | Linear Regression | Reading 05 Lab 01 | |
| Wed 02/18 | Perceptrons | ||
| Exam 01 | Mon 02/23 | Review 01 | |
| Wed 02/25 | Exam 01 | Practice Packet 01 Practice Packet 01 Solutions Exam 01 Exam 01 Solutions | |
| Unit 02: Machine Learning | Mon 03/02 | Logistic Regression | Reading 06 Homework 02 |
| Wed 03/04 | Support Vector Machines | Reading 07 | |
| Mon 03/09 | Spring Break | ||
| Wed 03/11 | Spring Break | ||
| Mon 03/16 | Clustering | Lab 02 | |
| Wed 03/18 | Principal Component Analysis | Reading 08 | |
| Mon 03/23 | Practicum (Model Evaluation and Ensemble Methods) | ||
| Exam 02 | Wed 03/25 | Review 02 | |
| Mon 03/30 | Exam 02 | Practice Packet 02 Practice Packet 02 Solutions Exam 02 Exam 02 Solutions | |
| Unit 03: Deep Learning | Wed 04/01 | Feed-Forward Neural Networks | Reading 09 Homework 03 |
| Mon 04/06 | Easter Monday | ||
| Wed 04/08 | Backpropagation | ||
| Mon 04/13 | Convolutional Neural Networks | Reading 10 Lab 03 | |
| Wed 04/15 | Recurrent Neural Networks | Reading 11 | |
| Mon 04/20 | Transformers | Reading 12 Homework 04 | |
| Wed 04/22 | Diffusion Models | Reading 13 | |
| Mon 04/27 | Reinforcement Learning | Reading 14 Lab 04 | |
| Exam 03 | Wed 04/29 | Review 03 | Reading 15 |
| Tue 05/05 | Exam 03 | Homework 05 Bonus Homework Cif Bribe Practice Packet 03 Practice Packet 03 Solutions Exam 03 Exam 03 Solutions |
There's loads of additional resources out there! If you find one that particuarly resonates with you, I'd appreciate it if you were willing to share it with the rest of the class. You'll even have the option to tag it with your name so future students can see who to thank!
Submit any additional resources to this google form: Additional Resources
| Component | Points |
|---|---|
| Readings Readings | 15 × 1 |
| Labs Individual Labs | 5 × 5 |
| Homework Homework Assignments | 5 × 10 |
| Midterm Midterm Exams (10 points for turning in exam practice packet) | 2 × 65 |
| Exam Final Exam (10 points for turning in exam practice packet) | 1 × 80 |
| Total | 300 |
| Grade | Points | Grade | Points | Grade | Points |
|---|---|---|---|---|---|
| A | 279-300 | A- | 270-278 | ||
| B+ | 260-269 | B | 250-259 | B- | 240-249 |
| C+ | 230-239 | C | 220-229 | C- | 210-219 |
| D | 195-209 | F | 0-194 |
Readings are due at 3:00PM on the day of the due date.
Homeworks are due at midnight on the Monday of the due week.
I do something a little different in this class than I've seen in other ones. Instead of giving you old versions of the exams with which to practice, I will release a "practice packet". If you turn in this practice packet on the day of the exam (either online or paper is fine) then you will receive points on the exam itself for actually studying. The practice packet is graded entirely on completion. There will be an entry in canvas worth 0 points for each practice packet, the points you receive for doing it will be reflected in the exam score itself.
Students are expected to attend and contribute regularly in class. This means answering questions in class, participating in discussions, and helping other students.
Foreseeable absences should be discussed with the instructor ahead of time.
Recalling one of the tenets of the Hacker Ethic:
Hackers should be judged by their hacking, not criteria such as degrees, age, race, sex, or position.
Students are expected to be respectful of their fellow classmates and the instructional staff.
Any student who has a documented disability and is registered with Disability Services should speak with the professor as soon as possible regarding accommodations. Students who are not registered should contact the Office of Disabilities.
Any academic misconduct in this course is considered a serious offense, and the strongest possible academic penalties will be pursued for such behavior. Students may discuss high-level ideas with other students, but at the time of implementation (i.e. programming), each person must do his/her own work. Use of the Internet as a reference is allowed but directly copying code or other information is cheating. It is cheating to copy, to allow another person to copy, all or part of an exam or a assignment, or to fake program output. It is also a violation of the Undergraduate Academic Code of Honor to observe and then fail to report academic dishonesty. You are responsible for the security and integrity of your own work.
In the case of a serious illness or other excused absence, as defined by university policies, coursework submissions will be accepted late by the same number of days as the excused absence.
Otherwise, there is an automatic 25% late penalty for assignments turned in 12 hours pass the specified deadline.
This course will be recorded using Zoom and Panopto. This system allows us to automatically record and distribute lectures to you in a secure environment. You can watch these recordings on your computer, tablet, or smartphone. In the course in Sakai, look for the "Panopto" tool on the left hand side of the course.
Because we will be recording in the classroom, your questions and comments may be recorded. Recordings typically only capture the front of the classroom, but if you have any concerns about your voice or image being recorded please speak to me to discuss your concerns. Except for faculty and staff who require access, no content will be shared with individuals outside of your course without your permission.
These recordings are jointly copyrighted by the University of Notre Dame and your instructor. Posting them to other websites (including YouTube, Facebook, SnapChat, etc.) or elsewhere without express, written permission may result in disciplinary action and possible civil prosecution.
For the assignments in this class, you are allowed to consult printed and online resources and to discuss the class material with other students. You may also consult AI Tools such as CoPilot or ChatGPT for help explaining concepts, debugging problems, or as a reference. Viewing or consulting solutions, such as those from other students, previous semesters, or generated by AI Tools is never allowed.
Likewise, you may copy small and trivial snippets from books, online sources, and AI Tools as long as you cite them properly. However, you may not copy solutions or significant portions of code from other students or online sources, nor may you generate solutions via AI Tools.
Finally, when preparing for exams in this class, you may not access exams from previous semesters, nor may you look at or copy solutions from other current or former students.
| Resources | Solutions | |
|---|---|---|
| Consulting | Allowed | Not Allowed |
| Copying | Cite | Not Allowed |
See the CSE Guide to the Honor Code for definitions of the above terms and specific examples of what is allowed and not allowed when consulting resources.
If you are unclear about whether certain forms of consultation or common work are acceptable or what the standards for citation are, you responsible for consulting your instructor.
If an instructor sees behavior that is, in his judgement, academically dishonest, he is required to file either an Honor Code Violation Report or a formal report to the College of Engineering Honesty Committee.
Submit any questions or suggestions to this anonymous google form: Questions and Suggestions
Note: This form is genuinely anonymous but anonymity is a priviledge. Please don't misuse it.
If you're interested in being a TA please apply via this google form: TA Applications
Note: Applications are due by the day of the second exam and will be evaluated shortly after.
Note: TAing for CSE 30124 is quite competitive and usually there are only 1 or 2 open slots a semester (if any), so it may be worth having a backup plan.
One of the benefits of ML/AI being extremely popular is there are many online resources available for learning it. The best teachers of the topics release much of their material avaible for free online. If something in class seemed unclear, you're encouraged to seek out an explanation that makes the most sense to you! If you find one that you really like, please share it with the rest of the class. Below are links to books, blogposts, and lectures that I personally find very useful.