Announcements
- Please join the course group http://groups.google.com/group/cs-1510-pitt-2009
This group should be used for questions of general interest. You need
not reveal you identity, so your questions are confidential.
- Bill Gates quote on Computer Science Education from an interview
(local copy)with Maria Klawe:
- Well, certainly it's the goal of our University
Relations Group to make sure that we're talking about what we think the
state of the art problems are, finding out from the universities and a
lot of dialogue back and forth about that. In a certain sense, yeah,
the curriculum has changed, but say somebody came for an interview and
they said, "Hey, I read the 'Art of Computer Programming', that's all I
ever read, I did all the problems, I would hire them right then."
Even if they didn't do the double-star problems, I mean, just the fact
that they'd read the whole book, you know, those are the kinds of
things you need to know to be a good programmer. Actually, there's some
of that you don't even need to know, but the kind of algorithmic
thinking that's promoted there.
- A Microsoft interview?


Reading Assignment
- Syllabus
- Chapter 4 on greedy algorithms.
- Chapter 3 on dynamic programming.
- Chapter 9 on computational complexity, reductions, NP-hardness,
and approximation algorithms.
- Chapter 10 on parallel algorithms
Notes
Disclaimer: These are intended to to be minimal notes for those
missing class, etc. They are not meant as an equal substitute for
either
the text or for attending class.
Homework Problems
An explanation of the problem difficulty rating can be found
here .
Homework Assignments
- Due Wednesday September 2 (you need not use LaTeX for
these problems):
- Google " Google interview
questions"
and Bing " Microsoft interview
questions".
Turn in three purported interview questions that are "algorithmic" in
nature. Spend a half hour trying to solve the question that you
think
is most interesting algorithmically, and write-up your thoughts using
(you
don't need to have solved the problem).
- Sign-up as a member of the class group: http://groups.google.com/group/cs-1510-pitt-2009.
Turn in your login name. You may use a login name that doesn't reveal
your identity, and we will not reveal your identity.
- Greedy Homework problem number 1
- Due Wednesday September 9 (you must use LaTeX to write-up
solutions starting from this date)
- Greedy homework problems 2, 3, and 4.
- Due Monday September 14
- Greedy homework problems 5, 7, 11
- Due Wednesday September 16
- Greedy homework problems 6, 8, 13
- Due Monday September 21
- Greedy homework problems 9, 10, 15
- Dynamic programming problem 1
- Due Wednesday September 23
- Greedy homework problem 14 (As a warm up, you might
try the original
U2 problem first)
- Dynamic programming problem 2, 3 and 4
- Due Monday September 28
- Dynamic programming homework problems 5, 9, 12, 15
- Due Wednesday September 30
- Dynamic programming homework problems 16, 18, 19, 20, 21
- Due Monday October 5
- Dynamic programming homework problems 22, 23, 24
- Due Wednesday October 7
- Dynamic programming homework problems 25, 27, 28
- Due Friday October 9
- Dynamic programming problem 26 (If you are not going to be in
recitation, email your solution to the TA Yao Sun at yaosun@cs.pitt.edu
before 2PM on Friday)
- Due Monday October 12 (These are extra credit. email your
solutions to the TA Yao Sun at yaosun@cs.pitt.edu before 1PM)
- Dynamic programming homework problems 29, 30
- Wedneday October 14 Midterm 1
- Monday October 19
- Dynamic programming problems 14 and 17 (These are extra credit.)
- Wednesday October 21
- Reduction homework problems 1 and 2
- Monday October 26
- Reduction homework problems 3 and 4
- Wednesday October 28
- Reduction homework problems 5, 6 9, 11, and 17
- Monday November 2
- Reduction homework problems 7, 8, 10, 12, and 13 (note I
updated the statement of problem 13 on October 26)
- Wednesday November 4
- Reduction homework problems 14, 15, 16, and 18
- Monday November 9
- Reduction homework problem 19. Parallel algorithms homework
problem 1, 2 (Note that this
refers to the new numbering of the problems from Friday November 6)
- Wednesday November 11
- Parallel algorithms homework problems 3, 5, and 6 (Note that this refers to the new
numbering of the problems from Friday November 6)
- Monday November 16
- Parallel algorithms homework
problems 4, 7, 8, 9, and 10 (Note that this refers to the new
numbering of the problems from Friday November 6)
- Wednesday November 18
- Parallel algorithms homework
problems 11, 12, 13 and 14
- Monday November 23
- Parallel algorithms homework
problems 15 and 16
- Monday November 30
- Parallel algorithms homework
problems 17 and 18
- Wednesday December 2
- Parallel algorithms homework
problems 19 and 20
- Monday December 7 (There is no class on this day)
- Wednesday December 9 The second midterm.
Old Tests
- 1995(postscript): Midterm
1 ,
Midterm 2 , Midterm 3
,
Midterm 4 .
- 1996(postscript): Midterm
1 ,
Midterm 2 , Midterm 3
.
- 1997 (html):
Midterm 1 ,
Midterm 2 .
- 1998 summer (html):
Final .
- 1998 (html):
Midterm 1 ,
Midterm 2 .
- 1999 (html):
Midterm 1 ,
Midterm 2 .
- 2000 (html):
Midterm 1 .
Midterm 2 .
- 2001 (html):
Midterm 1 .
Midterm 2 .
- 2002 (html):
Midterm 1 and Midterm 2.
- 2003: Midterm 1, and Midterm 2, and Midterm 3, and Midterm 4.
- 2005: Midterm 1 and Midterm 2
- 2007: Midterm 1 and Midterm 2
- 2008: Midterm 1 and Midterm 2
WWW Resources
If you find any good sources of information on the WWW, related
to what we're doing in class, I'd appreciate if you would let me know.