382 Syllabus
382 Syllabus
Algorithms
Fall 2022
Motivation
Writing algorithms is fun, but how do you show that your algorithm behaves correctly on all
possible inputs? Can you estimate your algorithm's worst-case runtime? Is it possible that
there is no efficient algorithm for the computing task that you are trying to solve? To answer
these questions, you have to mathematically reason about algorithms.
Sequence of topics
1. Data Structures
2. Greedy Optimization
3. Dynamic Programming
4. Randomized Algorithms
5. Maximum Flow
6. NP-completeness
● Lectures for the two sessions are held together on Tuesdays and Thursdays,
10:50am-12:05pm, at DH 1055 (McMurtry Auditorium).
● The lab for Section 002 is from 4:00pm-5:15pm on Thursdays, and the lab for
Section 003 is from 5:30pm-6:45pm on Thursdays. The classroom for the labs is
TBD.
Canvas and Piazza
We will make heavy use of the Canvas and Piazza systems for this course. Specifically, all
course announcements will be made on Piazza. Course lecture slides and homeworks will
be made available through Canvas. We will also use Canvas to receive soft copies of
assignment submissions.
In-class quizzes
To test your understanding, we will have in-class quizzes. These are not going to be graded.
In general, this class adopts a "no-open laptop" policy. The main exception to this policy is
that you can (need to!) use laptops for your in-class quizzes. The use of internet-connected
electronic devices is forbidden during exams.
We will not take attendance at the lectures. However, many of our lectures will have an
active learning component, and we will not follow a fixed textbook. Given this, you are
strongly encouraged to attend every lecture.
We will mark participation at labs. This participation will account for 10% of the course credit.
Evaluation
Assignments
We will have seven homework assignments, roughly one every two weeks. Late homework
will generally not be accepted. If there are extenuating circumstances, you should make
arrangements at least 48 hours in advance with the instructors. Only serious excuses will be
considered in cases where prior arrangements were not made.
You will need to submit soft copies of solutions on Canvas. Assignments need to be typed,
although you are allowed to use hand-drawn figures.
You should be as clear and concise as possible in your write-up of solutions.
Understandability of your answer is as desirable as correctness, because communication of
technical material is an important skill. A simple, direct analysis is worth more points than a
convoluted one, both because it is simpler and less prone to error and because it is easier to
read and understand. Points may be subtracted for solutions that are too long.
Examinations
In addition to the assignments, we will have one in-class midterm examination (we will
announce details about this later) and a final. No collaboration whatsoever is permitted on
exams. Violations of this policy will be dealt with according to university regulations.
Credit breakdown