uwloo

ECE 457AArtificial and Natural Intelligence

Units
0.50
Faculty
Engineering
Subject
Electrical and Computer Engineering

When it runs

  1. F24
  2. W25
  3. S25
  4. F25
  5. W26
  6. S26
  7. F26
  8. W27
  9. 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:
        • BME122 - Data Structures and Algorithms (0.50)
        • CS240 - Data Structures and Data Management (0.50)
        • ECE250 - Algorithms and Data Structures (0.50)
        • MSE240 - Algorithms and Data Structures (0.50)
        • MTE140 - Algorithms and Data Structures (0.50)
        • SYDE223 - Data Structures and Algorithms (0.50)
      • Must have completed the following:
    • Students must be in level 4A or higher
    • 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

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. …”

View on RedditRemove this

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”

View on RedditRemove this

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 …”

View on RedditRemove this

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”

View on RedditRemove this

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. …”

View on RedditRemove this

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. …”

View on RedditRemove this

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 …”

View on RedditRemove this

Spring 2022

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. …”

View on RedditRemove this

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? …”

View on RedditRemove this

Check it elsewhere for Fall 2026

Calendar versions

Undergraduate Calendar