EECS 453 vs ECE/EECS 505 vs ECE/EECS 551 vs EECS 545 vs EECS 553
These courses all have the term "machine learning" in them,
so this web page attempts to explain their relationships.
Some of the 500-level courses
have been renamed as "ECE" instead of "EECS."
First of all,
here are the official course descriptions for them:
Important points about 505 vs 551
-
ECE 505 and ECE 551 are very similar.
They both use matrix methods extensively
and both use the
Julia language
for technical computing.
They are so similar
that you cannot earn credit for both;
you must pick one or the other.
Do not enroll in both!
-
For any course that requires ECE 551 as a prerequisite,
ECE 505 will count as well,
even if it is not officially listed that way.
(We do not enforce prerequisites at the graduate level anyway,
because they are just advisory.)
-
ECE 551 is required for SIPML majors in ECE
-
ECE 551 assumes that students have an EE background
and already understand convolution and the DFT
(e.g., from EECS 351).
-
When enrollment is limited by room size,
SIPML majors and other ECE students
have priority for ECE 551.
-
ECE 505 is targeted at a broader audience
and usually is taught on central campus.
Most non-EECS students should take ECE 505.
-
If ECE 505 is not offered
and you are unable to get into ECE 551,
then another course to consider
(for non-SIPML majors)
is
EECS 453: Principles of Machine Learning
-
ECE 505 is an
approved course
for the MIDAS data science certificate.
See
listing here.
-
There is a draft syllabus for ECE 505
for F20
at this url:
[gdrive ]
ECE 505 uses a cool "computational textbook" that Prof. Nadakuditi developed.
You can learn more about it from his
2020 Juliacon video
-
For comparison,
here is a
draft outline for ECE 551 in F20.
-
If you are part of some other grad program that recommends ECE 551,
then tell your adviser that ECE 505 is equivalent
ask them to approve it for you.
Have your adviser contact Prof. Fessler or Prof. Nadakuditi
if they want to discuss it further.
-
In recent years,
ECE 505 has not been offered,
so students should choose between 453 and 551.
Important points about 545 vs 553
-
EECS 453
is targeted at senior undergraduates in EECS.
Students outside the ECE program interested in machine learning
are welcome as well.
-
EECS 545 and EECS 553
are more advanced Machine Learning courses.
-
There is quite a bit of overlap between 545 and 553,
so you cannot take both for credit;
you must choose one of them!
Typically CSE students will choose 545
and ECE students will choose 553.
We expect ECE SIPML majors to take 553.
-
EECS 545 has
"Coursework in probability, linear algebra, and programming"
as advisory prerequisites.
-
EECS 553 has
"Graduate coursework in probability and linear algebra"
as advisory prerequisites.
Note that added word "Graduate" !
-
In short,
we strongly recommend that you take
ECE 501 and
ECE 505 or ECE 551
before taking EECS 553.
The linear algebra background
and the software experience
from 505/551
are very helpful for 553.
-
If you take EECS 445 first,
then you *cannot* take EECS 545 for credit.
However,
you *can* take EECS 553 for credit,
because EECS 553
builds more on the graduate background
from ECE 501 and ECE 505/551.
Notes for UM ECE SUGS students in SIPML track
-
ECE 501 and ECE 551 are both required for SIPML majors.
They are both prereqs (formally or effectively)
for many of the subsequent SP courses.
-
501 is offered both F/W.
-
551 is offered only in Fall (typically),
so schedule planning is needed.
-
551 often has a long wait list, but be persistent
because you have equal priority as any other SIPML graduate student
and we will get you into it.
-
301 is sufficient preparation for 501.
-
For 551, it is helpful to have some undergraduate linear algebra course first
(as well as EECS 351).
-
It is fine to take EECS 453
for your undergrad degree
and then take EECS 553
for your graduate degree.
Notes
Some of the material in ECE 505 / ECE 551 overlaps with
Math 571, Numerical linear algebra