Course Description
Welcome to Artificial Intelligence for Engineers, a course offered by Prof. Chahat Deep Singh at the University of Colorado Boulder. This cross-listed undergraduate and graduate course provides a comprehensive exploration of both the mathematical foundations and practical applications of traditional and modern AI methodologies. The course begins with the theoretical underpinnings of classical machine learning techniques and progresses toward contemporary advancements in deep learning. Its primary objective is to equip students with a formal understanding of AI tools and frameworks relevant to perception, language, data modeling, and optimization.
Key topics include supervised and unsupervised learning, classification and regression, the perceptron, neural networks, convolutional neural networks (CNNs), computer vision, autoencoders, adversarial networks, semantic understanding, generative AI, natural language processing, recurrent and large language models, AI ethics and responsible AI, as well as reinforcement learning, multi-agent systems, and multi-modal AI frameworks.
Pre-requisites: Fundamental understanding of Linear Algebra and proficiency with Python (or any other scripting language like MATLAB). Students DO NOT require an understanding of AI or machine learning before enrolling in this course.
Course Logistics
All the course announcements will be made through Piazza, which will be the main mode of communication during this course. Please do NOT contact the Instructor or the TA via email unless it is an emergency. DO NOT contact the Instructor or the TA on any social media platform such as Facebook or WhatsApp (please respect their privacy) regarding course content. Canvas will only be used for Grading and uploading student assignments.
| Assignment | Grade Weightage |
|---|---|
| Projects (2) | P1: 20% | Final Project: 30% |
| Homework (2) | 20% total |
| In-class Midterm (1) | 25% |
| In-class quizzes (2) | 2.5% each |
| Collaboration rules | Projects must be completed in teams of two students. Homeworks, quizzes and exam must be completed and submitted individually. |
Final Project
The final project is open-ended. You are expected to propose and execute a novel idea.
Note: You will receive detailed guidelines for each component of the final project closer to the submission dates.
| Component | Weight | Description |
|---|---|---|
| Project proposal (1 page) | 5% | Concise problem statement, motivation, related work, and plan. |
| Progress report | 5% | Status update, preliminary results, obstacles + revised plan if needed. |
| Final presentation | 15% | Clear technical story, experiments, and a demonstration. |
| Final report | 15% | Well-written paper-style report: method, experiments, analysis, and limitations. |
| Originality and creativity | 25% | Novelty of the idea and quality of contributions. |
| System implementation | 25% | Correctness and a working end-to-end demo. |
| Integration of concepts | 10% | Appropriate and explicit use of principles/techniques taught in the course. |
Lectures
| No. | Date | Topics | Slides | Reference Materials |
|---|---|---|---|---|
| 1. | Jan 12, 2026 | Introduction Course Logistics. What is AI? History of AI. |
Link | McCulloch-Pitts Paper Rosenblatt's Paper Hartley's Theory of the Human Mind Minsky and Papert's Perceptrons |
| 2. | Jan 14, 2026 | Fundamentals of Machine Learning I Supervision. Classification vs Regression. KNN. |
Link | Supervised ML - McGill CMU ML Notes: Pg 7-9 |
| — | Jan 19, 2026 | No class (MLK day) | — | — |
| 3. | Jan 21, 2026 | Fundamentals of Machine Learning II Line Fitting. Linear Regression. K-Means. SVM. |
Link | Unsupervised ML - CME250 CMU ML Notes: SVM Linear Least Squares |
| 4. | Jan 26, 2026 | Neural Networks as Universal Approximators Soft-Margin SVM. Perceptrons. Network Depth. |
Link | Soft Margin SVM Wide and Deep Networks |
| 5. | Jan 28, 2026 | Neural Network Training I MLP. Universal Approximator. Training |
Link | Multi-Layer Perceptron Notes MLP as Universal Approximator |
| 6. | Feb 2, 2026 | Neural Network Training II Gradients. Optimization. Gradient Descent. |
Link | MIT 6.7220 - Gradient Descent Gradient Descent - 3Blue1Brown Logistic Regression by Gradient Descent |
| 7. | Feb 4, 2026 | Neural Network Training III Convergence. Learning Rate. Chain Rule |
Link | Gradient Descent - Cornell |
| 8. | Feb 9, 2026 | Neural Network Training IV Forward Pass. Backpropagation. |
Link | BackProp Notes Stanford BackProp Slides |
| 9. | Feb 11, 2026 | Neural Network Training V Backprop by Hand. Momentum. AdaGrad. RMSProp. |
Link | Momentum Importance of Initialization and Momentum |
| 10. | Feb 16, 2026 | Neural Network Training VI Adam Optimizer. Vanishing/Exploding Gradients. Loss Functions. |
Link | Adam Optimizer Paper Regularization and Optimization |
| 11. | Feb 18, 2026 | Neural Network Training VII Training. Validation. Regularization. Dropout. |
Link | Mini-Batch Gradient Descent Dropout Paper |
| 12. | Feb 23, 2026 | Convolutional Neural Network I CNNs. Convolutions. Pooling. |
Link | Convolutions Pooling Layer |
| 13. | Feb 25, 2026 | Convolutional Neural Network II CNNs. Data. BatchNorm. AlexNet. |
Link | Batch Normalization AlexNet |
| 14. | Mar 2, 2026 | Residual Networks R-CNN. VGGNet. GoogLeNet. ResNet. |
Link | Regional CNN, VGGNet GoogLeNet, ResNet |
| 15. | Mar 4, 2026 | Time Series and Recurrent Networks Encoder. Decoder. RNN. LSTM. |
Link | UNet Recurrent Neural Networks Understanding LSTMs |
| 16. | Mar 9, 2026 | Introduction to Reinforcement Learning RL. Agents. Rewards. Q-Learning. |
Link | |
| 17. | Mar 11, 2026 | Q-Learning and Deep RL Q-Learning. Exploration. Exploitation. Deep RL. |
Link | |
| 18. | Mar 23, 2026 | Efficient Neural Networks Edge Devices. Pruning. Quantization. Distillation. |
Link | |
| 19. | Mar 25, 2026 | Transformers GPT. Embeddings. Attention. |
Link | |
| — | Mar 30, 2026 | Midterm Exam In-Class |
— |
Assignments
| No. | Release Date | Due Date | Assignment | Link |
|---|---|---|---|---|
| 0.A | — | — | Python Tutorial | Link |
| 0.B | — | — | Google Colab Tutorial | Link |
| 0.C | — | — | Classification and Regression Interactive Python Tutorial |
Classification | Regression |
| 1. | Jan 28, 2026 | Feb 11, 2026 | Homework 1 Machine Learning Fundamentals |
Link |
| 2. | Feb 16, 2026 | In-Class | Quiz 1 | — |
| 3. | Feb 23, 2026 | Mar 9, 2026 | Project 1 Your First Neural Network |
Part A | Part B |
| 4. | — | Mar 13, 2026 | Final Project Proposal | — |
| 5. | Mar 9, 2026 | April 2, 2026 | Homework 2 Reinforcement Learning |
Link |
| 6. | Mar 25, 2026 | In-Class | Quiz 2 | — |
| 7. | Mar 30, 2026 | In-Class | Midterm Exam | — |
| 8. | April 24, 2026 | In-Class | Final Project Presentation | — |
| 9. | — | April 30, 2026 | Final Project Report (See details above) | — |
Software Environment
We will use Python 3 as the programming platform throughout this course, along with packages from PyTorch, Numpy, Scikit, OpenCV, and Matplotlib. We will be using Google Colab for assignments. You can get free Google Colab with GPU access for 1 year. A tutorial can be found here. Alternatively, students are allowed to use their local machines for assignments. Some assignments require a PDF report to be submitted. All reports must be written in LaTeX. For students who are new to LaTeX, please use Overleaf, an online LaTeX editor - No installation needed, real-time collaboration and version control. Please refer to tutorial if you are new to LaTeX: Learn LaTeX in 30 minutes or the Intro to LaTeX video.
Text Books and References
There is no textbook required for this course. Instead, lectures will draw on several references; a list of recommended books is provided at the end of this page. For each class, we will also post links to assigned readings and other relevant resources. You are expected to look over these materials before coming to class. Some readings may be technical, older in style, or hard to parse on a first pass; that is not a problem. In lecture, we will restate the essential ideas more clearly and work through them with examples. Acknowledgments: Some slides/references are adapted from CMU Deep Learning, Stanford CS229, and Stanford CS224n and CS250 courses.
Textbooks and references:
- Deep Learning, Ian Goodfellow, Yoshua Bengio, and Aaron Courville, MIT Press, 2016. [Link]
- Foundations of Computer Vision, Antonio Torralba, Phillip Isola, and William Freeman, MIT Press, 2024. [Link]
- Reinforcement Learning: An Introduction, Richard S. Sutton and Andrew G. Barto, 2nd Edition, MIT Press, 2018. [Link]
- Artificial Intelligence: A Modern Approach, Stuart Russell and Peter Norvig, 4th Edition, Pearson, 2020. [Link]
- Machine Learning: A Probabilistic Perspective, Kevin P. Murphy, MIT Press, 2012. [Link]
- Natural Language Processing with Python, Steven Bird, Ewan Klein, and Edward Loper, O'Reilly Media, 2009. [Link]
Late Policy
This course is fast-paced, with concepts building upon each other. Staying up to date with the course is crucial. Late assignments incur a 20% penalty per day, but we understand life happens. You have a total of three late days for this course that can be used across different assignments (except the final project). To get full credit on a 2-day-late assignment, you'd need to use two late days. Late days can only be spent as full days (i.e., you can't use only half a late day for an assignment you submit 12 hrs late). If you are using a late day, mention it in the title of your submission as "USING X LATE DAY(S)" and post a comment on Canvas about the usage of a late day.
Collaboration Policy
Collaboration is encouraged, but it is essential to understand the distinction between collaboration and cheating. Cheating is strictly prohibited and will result in serious consequences. Cheating may be defined as using or attempting to use unauthorized assistance, material, or study aids in academic work or examinations. Some examples of cheating are: collaborating on a take-home exam or homework unless explicitly allowed; copying homework; handing in someone else's work as your own; and plagiarism. You are welcome to collaborate with your peers on Piazza and in person. However, it's important that the work you submit is an expression of your understanding, and not merely something you copied from a peer. So, we place strict limits on collaboration: Firstly, you must clearly cite your collaborators by name at the top of your report. This includes Piazza posts reference. You may not share or copy each other's code. You can discuss how your code works and the concepts it implements, but you can't just show someone your code. You may use free and publicly available sources, such as books, journals and conference publications, and web pages, as research material for your answers. (You will not lose points for using external sources.) You may not use any service that involves payment, and you must clearly and explicitly cite all outside sources and materials that you made use of. We consider the use of uncited external sources as portraying someone else's work as your own, and as such, it is a violation of the University's policies on academic dishonesty. Instances will be dealt with harshly and typically result in a failing course grade. Unless otherwise specified, you should assume that the CU Boulder Code of Academic Integrity applies. Unless otherwise specified, you should assume that the CU Boulder Code of Academic Integrity applies.
For previous courses offered by Chahat Deep Singh, please visit here or here.