ECE 457AArtificial and Natural Intelligence
- Units
- 0.50
- Faculty
- Engineering
When it runs
- F24
- W25
- S25
- F25
- W26
- S26
- F26
- W27
- S27
Ran in 3 of the last 7 terms. Winter 2027: not on the schedule. Spring 2027: schedule not out yet.
The course starts by addressing the ill-structured problems and need for computational intelligence methods. It introduces the concepts of heuristics and their use in conjunction with search methods, solving problems using heuristics and metaheuristics, constraints satisfaction. The course also introduces the concepts of co-operation and adaptations and how they are influencing new methods for solving complex problems. The course starts by illustrating how the concepts of co-operation and adaptation are manifested in nature and how such models are inspiring new types of solutions methods. Topics to be covered include search algorithms, game playing, constraints satisfaction, meta-heuristics, evolutionary computing methods, swarm intelligence, ant-colony algorithms, particle swarm methods, adaptive and learning algorithms and the use of these algorithms in solving continuous and discrete problems that arise in engineering applications.
Prerequisites
- Complete all of the following
- Complete 1 of the following
- Must have completed at least 1 of the following:
- Must have completed the following:
- Students must be in level 4A or higher
- Complete 1 of the following
- Enrolled in H-Software Engineering
- Enrolled in a BASc program
- Complete 1 of the following
Antirequisites
None listed.
Leads to
No course lists it as a requisite.
Reviewed on UW Flow
87% liked it63% easy85% useful
From 82 ratings and 25 comments on UW Flow. The most helpful comments, quoted as written, without names. Read them all on UW Flow.
Very good algorithms course on 4 major topics: metaheuristic optimization, game theory, reinforcement learning, and fuzzy logic. Covers a great deal of content. Not too math-heavy and you get to do some Python in the tutorial, assignment, and project. Low workload - grade breakdown for F23 was 2-3 assignments (30%), group project (6 people) (20%), and final exam (50%). Professor Benyamin Ghojoph delivered the course exceptionally well despite the vast scope of the course and was truly passionate/well-read on all the content
Sep 2023 · liked it · 1 found this helpfulOn UW FlowRemove this
ECE457A includes algorithms as fundamental as search tree algorithms (BFS, DFS, UCS, IDS, etc.) and as advanced as meta-heuristic algorithms (SA, GA, PSO, ACO, etc.). As long as you understand how each algorithm works (e.g. what is each parameter used for), this course will help you learn a lot and you’ll be doing fine on the final.
You ARE required to spend a few hours each week to complete a weekly assignment, which always includes a coding question that allows you to apply the theories to actually solve classic problems. The coding can be a struggle sometimes, but I do find it indispensable as part of any ECE courses.
I have learned a lot by taking ECE457A, and I will 100% recommend it.Dec 2022 · liked it · 1 found this helpfulOn UW FlowRemove this
This course is incredibly valuable as it teaches you practical ways to solve complex optimization problems. The methods taught in this course are used everyday to solve problems like planning Amazon deliveries and Uber rides to discovering new vaccines.
Mastery of these concepts will make you a valuable asset to transform any business.May 2022 · liked it · 1 found this helpfulOn UW FlowRemove this
For this offering of the course, the assignment component was replaced with a term-long project instead. Would have preferred to have weekly assignments instead so that it naturally prepares us for exams. Learned a variety of search algorithms but the content lacked depth. This is because anything beyond the basic concepts were glossed over.
Aug 2017 · liked it · 1 found this helpfulOn UW FlowRemove this
Assignments were pretty good and relevant.
Jan 2014 · liked it · 1 found this helpfulOn UW FlowRemove this
Discussed on r/uwaterloo
44 posts and comments in 37 threads mention ECE 457A, April 2013 to December 2024. Quoted word for word, newest first; each reply sits under the post and the comment that started its branch. Search r/uwaterloo for newer posts.
Spring 2024
Unlisted ECE457A Playlists 2 points, 0 comments
Youtube playlist for ECE457A 3 points, 1 comment
u/Coaty18: “Anybody got any unlisted youtube playlist for 457A from previous years?”
Course Selection for AI/ML + imaging 7 points, 6 comments
u/jawyau: “… ECE 457A ECE 457B SYDE 522 MSCI/MSE 446 SYDE 575 SYDE 572 ECE 495 CS 488 CS 484 I ideally want a lighter term but I also understand that some of the good courses are difficult so I'm willing to put in the effort if it's really worth it in the long run. …”
u/ConsequenceNo3618: “my experiences ECE 457A (w/Benyamin Ghojeph): Large breadth but not very practical. We studied different adaptive algorithms, game theory, reinforcement learning, and fuzzy logic. RL was really difficult to learn. Course load is light and the prof made the deliverables too easy. …”
Winter 2024
regarding the recent firing in the cs dept 1 point, 1 comment
u/nyephe: “I had him as a professor for ECE 457A in F23 and he was an amazing professor. It's unfortunate that many people insult him for his views without considering every other aspect of his life. Losing the job is justifiable, but it should've been a clean exit without all this drama”
Interesting ML course from Engineering Department from Math Student 7 points, 8 comments
“I am an undergrad from the Faculty of Mathematics interested in data preprocessing and AI/ML stuff. Most of my courses so far in my undergrad has consisted of numerous ML/Data Science course offered …”
u/suiyui: “… Includes coding in all the assessments ECE 457A: Content-heavy but very interesting since it covers many unusual topics (metaheuristic optimization, game theory, reinforcement learning, fuzzy logic) that you typically don't see in undergrad ECE 457C and SYDE 575 are supposedly …”
Fall 2023
Resume Building Courses 7 points, 2 comments
“List some courses preferably that requires no prerequisites or does, that teaches you software or any skill that would boost a resume. …”
u/suiyui: “… interviews - CS 246/346 Application development Theoretical and possibly interesting - ECE 457A for Metaheuristics, game theory, reinforcement learning, and fuzzy logic - SYDE 572 for Mathematics of machine learning - MSCI 333 for Simulation analysis and design”
Winter 2023
Should I commit to Management Engineering? 12 points, 35 comments
“I got into MGTE at Uwaterloo! It was my top choice alongside Statistics and Computer Science at McGill, and somehow I got into both! However I’m stuck on which to choose. …”
u/Emotional_Wonder_123: “Congratulations on two great offers of admission! I think Management Engineering (MGTE) is better suited for AI than is CS, but if you are actually doing Statistics and CS, well, then it might be a …”
u/Emotional_Wonder_123: “… ECE 457A (I'm not sure what 457X is) is on par with MSCI 332 and MSCI 435, but with somewhat different topics. …”
Opinions on these 4A CE Courses: 3 points, 0 comments
u/namomontbleau: “Currently these are the 4A CEs i’m considering: ECE455 Embedded Software ECE452 Software Design and Architecture ECE454 Distributed Computing ECE457A Co-operative and Adaptive Algorithms ECE486 Robot Dynamics and Control I’m most interested in workload, difficulty etc. …”
CE 4A TEs 8 points, 30 comments
u/OkCelery1514: “… Software Design & Architecture ECE 454, Distributed Computing ECE 455, Embedded Software ECE 457A, Co-op & Adaptive Algorithms ECE 457C, Reinforcement Learning ECE 458, Computer Security ECE 481, Digital Control Systems ECE 493, Special Topics: IOT Signal Processing I took ECE …”
Spring 2022
Getting attacked while trying to study for finals 40 points, 3 comments
“&x200B; https://preview.redd.it/xtqaizvuvaf91.png?width=814&format=png&auto=webp&s=0eaa4ea8cc440f65e39647ba851cf990719c92d6”
u/trashiguitar: “Is this ECE 457A? I love me some genetic algorithms”
A GUIDE ON HOW TO PLAN AN OPTION 29 points, 15 comments
u/1000Ditto: “Hey all, here's an example (by yours truly) of how to plan an option. as someone who has been trying to get many options in but having a hard time, might as well write down my process so others can kind of benefit from it. …”
Spring 2021
ECE457A 3 points, 1 comment
u/love11000kmsaway: “I'm going into 4A in Fall and was looking at taking ECE457A as an elective. Anybody who has taken the course recently? How relevant is it to leetcode/getting better at interviewing/co-op jobs? How hard was the course in general? …”
Check it elsewhere for Fall 2026
- Undergraduate Calendar, 2026–27The official entry
- Requirements for Fall 2026Waterloo’s requisite checker
- Schedule of Classes, Fall 2026Instructors, rooms, live seats
- Quest Class SearchWhere you enrol
- Course outlinesSyllabi from past terms (UW login)
- UW FlowStudent ratings and reviews
- WClassesPast sections back to 2004, and who taught them