CS 2150 Grad Algorithms,
Spring 2024
Announcement:
- CS 2150 is the 4th course in the algorithm
course sequence in the CS department.
Freshman/sophomores start with our required introductory
algorithms and data structures course CS 0445, then take
our sophomore/junior level required course on algorithms CS
1501 (both 0445 and 1501 are primarily implementation based),
and then maybe take the elective junior/senior level algorithm
design course CS 1510 (which is also numbered 2012 for masters
students), which is the prereq to CS 2150. Here are some
questions to help you find the appropriate entry point into
this sequence for you:
- Do you know (understand the
design and analysis, and could implement without undue
effort) most of the 25
essential algorithms for software engineers? If not,
then the appropriate entry point for you would be no later
than CS 1501.
- Have you taken an algorithms
course where you had to design and analyze your own
algorithms (e.g. design dynamic programming algorithms for
novel problems) and received a grade of B or better?
If not, then the appropriate entry point for you would be
no later than CS 1510/2012.
- In Spring 2023 a large number
of students registered for CS 2150 in spite of not
having anywhere close to the algorithmic background
necessary to be able to gain some reasonable benefit from
the course. Having so many students who were so ill
prepared resulted in discussions during lecture that were
frustrating for both the instructor and for reasonably
prepared students (and presumably also for the poorly prepared
students). Thus I have instituted a requirement for instructor
approval to register for CS 2150 in Spring 2024. If you want
instructor approval, shoot me an email requesting it, with
some background information (see below).
- If you are a student in the CS, ISP or OR
PhD programs, or have taken CS 1510/2012 with a grade of B
or better, that is all the information I need.
- For other students, I need some evidence
that you have sufficient algorithmic background to be able
to gain some benefit from the course, that is, you have
taken a course where you design and analyze your own
algorithms. Ideally that means a copy of your final exam
and/or homework assignments, and a transcript showing a
grade of B or better. Note that a self assessment that you
are prepared carries little to no weight as historical
evidence suggests that this is an almost completely useless
predictor.
- See also https://courses.sci.pitt.edu/permission
- If I don't respond in say 3 days, feel free to
followup with a second email. Occasionally emails get buried
so deep in my stack that they are effectively lost.
Course
Material: