ECE448
ECE448/CS440 (Artificial Intelligence) is a 3/4-credit-hour course that satisfies the Technical Elective requirements for ECE majors and satisfies an Advanced Computing Elective for CEs. It is offered in both the fall and spring semesters.
Content Covered
- Naive Bayes likelihood
- Linear Regression
- Perceptron and Softmax networks
- Viterbi algorithm, Hidden Markov Models
- Game Theory
- Repeated Games
- Minimax game algorithms
- Neural networks
- Markov Decision Process
- PyTorch tutorial
- Search algorithms (Dijkstra's, BFS, DFS, A-star)
- Boolean logic and unification
- Transformers
- Robotics
- Reinforcement Learning
Many of these concepts are covered in brief detail, so as to cover a wide range of topics that all relate to AI. The first part of the course covers brief concepts in probability, such as random variables, conditional independence, and Bayes' Theorem. Each probability concept is referenced at some point, and the most notable application of probability is in the Viterbi/HMM MP. The next part covers different methods of implementing classification and learning modules, such as Softmax Networks, Linear Regression, Perceptrons, Convolution Neural Networks (useful for image and face detection), and other Networks. The course then switches gears in the next half. It covers search algorithms (A-star, BFS, Dijkstra's) and two-player-games such as chess, and how different player moves are evaluated using the minimax algorithms. The final part of the course covers broader concepts with emphasis on learning, such as logical unification, robotics, transformers, and Reinforcement Learning.
Prerequisites
A course on probability is necessary for this course, as the first half briefly reviews concepts from ECE313, including random variables, conditional probability, conditional independence, and Bayes' rule. CS225 (Data Structures) is also a necessary course, as a few MPs will involve particular data structures such as queues, trees, and priority queues. A few algorithms come into play (such as recursion and search). The main benefit from CS225 is the programming experience and maturity for the MPs.
When to Take It
The course consists of 50-minute lectures on MWF. The course is offered every semester. AI is a hot topic at the moment with the emergence of generative AI models and GPTs, so if this is something you really want to explore as a career specialization, aim to take CS225 and a probability course such as ECE313 or STAT400 ASAP. Many ECE students take CS225 during their sophomore fall semester. Many ECE students also take ECE313 during their sophomore fall semester, so the earliest you can take this course is sophomore spring semester, but typically, most students take it at some point during their junior year, as this is usually the time where they complete both prerequisite requirements.
Course Structure
The course structure varies slightly between the fall and spring semesters. In the fall semester, this is the grade breakdown for 3-credit-hour:
- 60% Python MPs
- 40% Bi-weekly quizzes and final exam
2 MPs can be dropped, but this is risky as some MPs build on each other. However, the staff makes it clear which MPs they don't recommend dropping. Quizzes are taken during lecture. Students in the 4-hour section also take extra quizzes that involve a research paper.
In the spring semester, this is the grade breakdown:
- 45% Python MPs (33% for 4-credit)
- 15% PrairieLearn quizzes (12% for 4-credit)
- 10% Exam 1 (7.5% for 4-credit)
- 10% Exam 2 (7.5% for 4-credit)
- 20% Final Exam (15% for 4-credit)
- 25% Literature Review (only for 4-credit)
Unlike the fall semester, the MPs are not dropped, but most MPs have an extra credit portion, which if full points are obtained, can make up 10% of an MP grade. MPs have a late policy; the grade for an MP decreases by 5% for every late day. The MP category can go above 100%, so it is highly beneficial to do the extra credit. In the spring semester, MPs are accompanied by a set of tests (grade.py
) and a Jupyter Notebook that are highly useful for testing/debugging and (in the case of the Jupyter Notebook) getting a head start in the MP and gaining hints on how to approach it. It is highly recommend to follow along in the Jupyter Notebook. The PrairieLearn quizzes are released during each lecture and are due by the next lecture. They are usually a single PrairieLearn multiple-choice question with unlimited attempts. You could guess on these questions if you really wanted to, as it's not hard to get it right thanks to the unlimited attempts part. So don't slack off on the quizzes. The 2 exams are taken at CBTF and are multiple-choice format, and each question can be attempted a finite number of times with the point-value decreasing for every wrong attempt. The final exam is the same format, but proctored at the final exam location. The 25% Literature Review consists of quizzes regarding a research article.
Instructors
In the fall semester, the course is taught by Professor Margaret Fleck. In the spring semester, the course is taught by Professor Mark Hasegawa-Johnson.
Course Tips
The course is not terribly time-consuming, as most of the work are the weekly MPs. However, brush up on lecture content and review during exam weeks or quizzes. The PrairieLearn quizzes (for the spring semester) are particularly useful. If you take the class during the fall semester, quizzes will have some history questions, so be exceptionally careful. It can be easy to forget about the concepts. MPs to watch out for are the HMM and the Transformer MPs; they take much more time to understand and debug, and these are the MPs you should start early on. Other than that, if you have a larger courseload alongside this one, MPs can usually be done in 1-2 days and can be put off.
Life After
Notable courses you can take that complement this course are ECE417 (Multimedia Signal Processing), ECE449/CS446 (Machine Learning), CS444 (Deep Learning for Computer Vision) and various CS498 Special Topics. Look out for which sections are being offered and if any of them seem interesting.
Infamous Topics
- HMMs: They are hard to understand mathematically or intuitively, as they require a lot of chained probability rules. This is also an infamous MP.
- Transformers/Neural Networks: Conceptually, these concepts are mathematically confusing and can cause panic attacks on exams.
- Probability: There are many different rules and theorems to keep in mind, such as the chain rule and Bayes' Theorem.
- Reinforcement Learning/Markov Decision Process: These concepts involve rollout buffers and keeping track of different states/timeframes and associating rewards. Essentially, reward is modeled as a function of two different variables, so this can be difficult to understand.
- Game Theory and Two-Player Games: The minimax algorithm is difficult to understand, and you should definitely follow along and pay attention to whichever professor covers this example very carefully.