Syllabus

EE 641: A Computational Introduction to Deep Learning

Fall 2025 (2 units)

PDF Version

Machine learning using large datasets is the most transformative technology of the 21st century. Advances in generative ML promise solutions to almost any problem imaginable. This course provides in-depth knowledge of deep learning systems theory and practice. It builds on prerequisite software skills from EE541: A Computational Introduction to Deep Learning and analytical skills from EE 559: Machine Learning I: Supervised Methods.

Class Information

Lecture: Wednesday (section: 3404), 15:00 – 16:50

Enrollment is in-person ONLY. Attendance is mandatory to all lectures. Taping or recording lectures or discussions is strictly forbidden without the instructor’s explicit written permission.

Course materials

  1. Neural Networks and Deep Learning, Aggarwal, C., Springer International, 2018. online, via SpringerLink.

  2. Deep Learning, Goodfellow, I., Bengio, Y., Courville, A., The MIT Press, 2016. online, http://www.deeplearningbook.org.

  3. Deep Learning Architectures, A Mathematical Approach, Calin, O., Springer International, 2020. online, via SpringerLink.

NOTE: Texts are secondary to in-class lecture material and homework sets.

“AI” policy

You may use AI-powered tools in this course to enhance your learning and productivity. Use AI as a collaborative tool for understanding concepts, generating ideas, and troubleshooting. Approach AI-generated content critically and use it responsibly. Engage with AI as you would with a knowledgeable peer or tutor, using iterative conversations to deepen your understanding. You must attribute all AI-generated content in your work, including the prompts you used. You are fully accountable for the accuracy and appropriateness of any AI-assisted work. AI should supplement, not substitute, your own critical thinking and problem-solving. For assignments, you may use AI to clarify concepts or resolve issues, but the core work must be your own. Submitting AI-generated work as your own without proper understanding or attribution is academic misconduct and will be treated as such.

You must develop complete mastery of all course material independently of AI assistance. Your knowledge and skills will be evaluated in contexts where AI tools are not accessible, mirroring real-world scenarios where you must rely solely on your own expertise. This ensures you can perform effectively in any situation, with or without AI support. Violations of this policy will result in severe academic penalties. The goal is to prepare you to use AI effectively in your future work while ensuring you develop a strong, self-reliant foundation in the course material.

Course Outline

Week Topics Homework
Week 1
27 Aug
Introduction, PyTorch, and deep learning review.
Advanced CNN architectures and applications.
HW 0 assigned.
Week 2
03 Sep
Object detection and segmentation. HW 1 assigned.
Week 3
10 Sep
Generative Models: Energy based, Generative adversarial networks (GANs), and Variational autoencoders (VAEs).
Week 4
17 Sep
Recurrent Neural Networks (RNNs) and Long Short-Term Memory (LSTM). HW 2 assigned.
Week 5
24 Sep
Sequence-to-sequence models and attention mechanisms.
Week 6
01 Oct
Transformers and self-attention. HW 3 assigned.
Week 7
08 Oct
Exam #1 (weeks 1–6).
Week 8
15 Oct
Large language models (LLMs) and Mixture of experts (MoE).
Week 9
22 Oct
Reinforcement learning principles.
Project Overview
HW 4 assigned.
Week 10
29 Oct
Reinforcement learning applications. Draft project proposal due (31 Oct).
Week 11
05 Nov
Project proposal meetings. Revised project proposal due (07 Nov).
Week 12
12 Nov
Semi-supervised training, similarity learning, and contrastive learning.
Week 13
19 Nov
Exam #2 (weeks 8–12).
(22 Nov) Status report due.
(26 Nov) No class, Thanksgiving Holiday.
Week 14
03 Dec
Project presentations (mandatory) — EXTENDED TIME.
Sunday
07 Dec
Project deliverables, due 23:59.

Grading Procedure

Homework (35%)

Assignments include analytic and programming problems and encourage experimentation and curiosity. You may discuss homework problems with classmates but each student must submit their own original work. Cheating warrants an “F” on the assignment. Turning in substantively identical homework solutions counts as cheating.

Late homework is accepted with a 0.5% deduction per hour, up to 48-hours – no exceptions. Technical issues while submitting are not grounds for extension. No submissions will be accepted 48-hours after the due date. Graders score what is submitted and will not follow up if the file is incorrect, incomplete, or corrupt. It is your responsibility to ensure you submit the correct files and that they are accessible.

Exams (20%)

Exams are non-cumulative and cover the most recent material (approximately 6-weeks). They test your ability to apply major principles, demonstrate conceptual understanding, and may require writing Python code. You are expected to bring a scientific (non-graphing) calculator. You may use a single 8.5”x11” reference sheet (front and back OK). You may not use any additional resources. Any cheating may result in an “F” in the course and will be referred to Student Affairs for other penalties.

Exams include multiple-choice and short answer questions. They may also include free-response or open-ended questions to demonstrate conceptual understanding. You are expected to write reasonably correct code as well as determine expected behavior of novel computer code. Grading primarily follows correct reasoning but may include deductions for major syntax errors, algorithmic inefficiency, or poor implementation.

Final Project (45%)

This course culminates with a final project in lieu of a final exam. Teams of three students (teams of two with instructor approval) design and implement a deep-learning system to a self-identified problem. Students should treat the project as a platform to demonstrate mastery of problem specification, model selection, data analysis, testing, debugging, and results validation and analysis. The instructor will guide teams with difficulty identifying a suitable problem. Teams will prepare and present their approved project and show how it applies course concepts and deep learning best-practices. Attendance and participation during the project presentation session is mandatory.

Course Grade

A if 90 - 100 points,
B if 80 - 89 points,
C if 70 - 79 points,
D if 60 - 69 points,
F if 0 - 59 points.
(“+” and “–” at ≈ 1.5% of grade boundary).

Cheating

Cheating is not tolerated on homework or exams. Penalty ranges from F on exam to F in course to recommended expulsion.


Final Project

Requirements

Teams of two students design and implement a deep learning system that addresses a substantial problem in machine learning. Teams should identify problems from personal interests or research areas. Teams may select problems with existing solutions provided their implementation demonstrates innovation beyond reproducing prior work. Projects must incorporate substantial depth and demonstrate mastery of problem specification, model selection, experimental design, and rigorous evaluation. Teams must obtain written approval from the instructor before beginning their projects.

All projects must use PyTorch as the primary deep learning framework unless approved explicitly in writing by the instructor. Projects may use additional languages and frameworks for tooling and support.

Scoring and Milestones

Deliverable Timing Weight
Initial Proposal Week 10 4%
Revised Proposal Week 11 8%
Status Report Week 14 8%
Presentation Finals Week 20%
Final Report Finals Week 25%
Model Card Finals Week 3%
Video Finals Week 2%
Source Code Finals Week 30%

Project Deliverables

Proposals: The initial proposal describes the problem, prior related work, candidate datasets, proposed technical approach, and expected outcomes. The revised proposal incorporates instructor feedback and reflects any changes based on early implementation work. Proposals communicate that the topic is adequately prepared and outline immediate next steps. The proposal is a guidepost—reasonable deviations in method, approach, and scope are expected as understanding evolves.

Status Report: Documents implementation progress, preliminary results, technical challenges encountered, and remaining work. This checkpoint demonstrates substantial progress toward a working system.

Presentation: Approximately 15-minute presentation describing the project problem, approach, and results. Focus on what was accomplished and why, with minimal theoretical background. Attendance and participation during all presentations is mandatory.

Final Report: A comprehensive technical document that captures the complete project including problem specification, methodology, experimental results, and critical analysis. The report must provide sufficient detail for an uninformed expert to understand models, analytic decisions, outcomes, and implementation. Teams provide quantifiable metrics justifying engineering tradeoffs. The report must explicitly address extensions, what question was answered, and what questions remain.

Model Card: A document providing transparency about the trained model. It summarizes intended use, performance metrics, limitations, training data characteristics, fairness considerations, and ethical implications.

Video: A 3-4 minute video describing the topic, implementation, and results for a broader technical audience. The video should be engaging and teach viewers something interesting about the work.

Source Code: Submitted through a private GitHub repository with read access granted to the instructor. Code must include README files describing repository structure, execution instructions, and technical requirements. Training data and model files are not included in the repository. Code should be well-organized, documented, and reproducible.