EECS 453 vs EECS 505 vs 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.
First of all,
here are the official course descriptions for them:
Important points about 505 vs 551
-
EECS 505 and EECS 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 EECS 551 as a prerequisite,
EECS 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.)
-
EECS 551 is required for SIPML majors in ECEl
-
EECS 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 EECS 551.
-
EECS 505 is targeted at a broader audience
and usually is taught on central campus.
Most non-EECS students should take EECS 505.
-
If EECS 505 is not offered
and you are unable to get into EECS 551,
then another course to consider
(for non-SIPML majors)
is
EECS 453: Principles of Machine Learning
-
EECS 505 is an
approved course
for the MIDAS data science certificate.
See
listing here.
-
There is a draft syllabus for EECS 505
for F20
at this url:
[gdrive ]
EECS 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 EECS 551 in F20.
-
If you are part of some other grad program that recommends EECS 551,
then tell your adviser that EECS 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.
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 505 and 551,
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
EECS 501 and
EECS 505 or EECS 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 EECS 501 and EECS 505/551.
Notes for UM ECE SUGS students in SIPML track
-
EECS 501 and EECS 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 EECS 505/551 overlaps with
Math 571, Numerical linear algebra