Name | Office Hours | Office |
---|---|---|
Prof. Tiago Januario | CDS 801, Mon/Thu, 4-5pm | CDS 911 |
Teaching Fellow: Islam Faisal | CDS 801, Tue/Wed, 4-5pm | CDS 1015 |
Piazza
Q&A, discussion, as well as distribution of lecture notes, homework, additional
material, course logistics info:
https://piazza.com/bu/summer2023/cascs330
Email
Please do not contact us by email. Post a private message to instructors on Piazza instead.
Lectures
The purpose of the lectures is to introduce
concepts, computational and algorithm design principles, analysis.
Make-up classes on two Fridays:
Discussion Labs
Discussion labs will be an invaluable part of the course involving interactive
problem-solving sessions, tips on homework questions, and supplemental material not covered in
lecture. The objective of the discussions is to reinforce the concepts covered in the lecture
through problem-solving. The
problems discussed are often closely related to that week’s homework assignment. We will post
lab notes on Piazza in advance -- please read before coming to lab. Lab
solutions will be posted after all discussion labs conclude.
Topics
We will mostly follow the order and content in the textbook. Topics are subject to
change.
Lec. | Date | (Tentative) Topics | Reading | Handouts/Homework |
---|---|---|---|---|
1 | Wed, May 24 |
Introduction, Pseudocode Slides with notes |
KT 1.1 |
Collaboration and Honesty Policy Lab0 - HW0 |
2 | Thu, May 25 |
Asymptotics Slides with notes |
KT 2.2 |
HW1 out HW0 due |
-- | Mon, May 29 | Holiday (Memorial Day) classes suspended |
-- | -- |
3 | Wed, May 31 |
Graph Theory Slides with notes |
KT 3.1 Video |
Lab 1 - Lectures 2 and 3 |
4 | Thu, June 1 |
Graph Traversal: BFS and DFS Slides with notes |
KT 3.2 Video |
HW1 due Online visualisation |
5 | Fri, June 2 Monday Schedule |
Directed Acyclic Graphs Topological Order Slides with notes |
KT 4.1 |
Lab 2 - Lectures 4 and 5 HW2 out |
6 | Mon, June 5 |
Greedy algorithms
Slides with notes |
KT 4.4 | Lab 3 - Lecture 6 Practice midterm problems out |
7 | Wed, June 7 |
Dijsktra algorithm Divide and conquer Slides with notes |
KT 4.5 | Lab 4 - Lecture 7 |
8 | Thu, June 8 |
Recurrences
Slides with notes |
CLRS 4 |
HW3 out HW2 due |
9 | Mon, June 12 |
Dynamic programming I
Slides with notes |
KT 5 |
Lab 5 - Lectures 8 and 9 Practice midterm solutions out |
10 | Wed, June 14 |
Dynamic programming II
Slides with notes |
KT 6.1, 6.2 | Lab 6 - Lectures 10 |
-- | Thu, June 15 | Midterm - SHA110 | KT 6.6 |
HW4 out HW3 due |
-- | Mon, June 19 |
Holiday (Juneteenth) classes suspended |
-- | -- |
11 | Wed, June 21 |
Dynamic programming III
Slides with notes |
KT 7.1 |
Lab 7 - Lectures 10 and 11 Practice final problems out |
12 | Thu, June 22 |
Maximum flows Ford-Fulkerson algorithm Slides with notes |
KT 7.2 Video |
HW4 due The Plumber Game Trains: on-time-every-time |
13 | Fri, June 23 Monday Schedule |
Bipartite matchings Min-cut max-flow theorem Slides with notes |
KT 7.5 | Lab 8 - Lectures 12 and 13 |
14 | Mon, June 26 |
Reductions and NP P, NP, and hardness Slides with notes |
KT 8.1, 8.5 |
Lab 9 - Lecture 14 Video |
15 | Wed, June 28 |
Review
course evaluation Slides with notes |
Lab 10 - Review Video |
|
-- | Thu, June 29 | Final Exam at CAS224 | Last day of class |
Accommodations
All are welcome in the course. If you require particular accommodations for
exams or coursework, please contact the instructor (and forward any relevant documentation from
Disability and Access Services) in a timely manner.
If you are facing unusual circumstances
during the semester, please reach out to us early on so that we can find a good arrangement.
Personal difficulties Unfortunately, it may happen that you find yourself under circumstances that are affecting your ability to perform well in this class. We are here to support you and find the best way to help you in this course. Please reach out, so that we can help.
TopHat
TopHat is a web-based platform for interactive questions during class. Our goal in using it
is to make lectures more interactive, get you thinking actively about the material, and get some
feedback on what you are learning. TopHat questions are generally multiple choice. Most of the
points (80%) are for participation. The remaining 20% is for correctness. You will get the full
5% of the course grade if you get at least 80% of the possible TopHat points for the semester.
There is a per-semester fee for a
TopHat account. If you do not have an account and the fee represents a financial hardship,
please let me (the instructor) know via a private Piazza post.
Course TopHat page: Tophat.com Join Code: 677208
Homework Submission
Assignments will be due Thursday by 11:59PM ET, electronically via
Gradescope.
Gradescope
https://www.gradescope.com/courses/541943
Workload
CS 330 is a substantial amount of work. There is a problem set every week as well as
two exams to study for. As you likely already know, assignments requiring substantial creativity
can take more time than you expect, so plan to finish a day early.
Late Policy
Late assignments will not be accepted as we intend to post solutions the next
morning. Be
mindful that sometimes it’s ok to submit partial results if you weren’t able to fully finish
your assignment, don’t miss the due date because of last minute work.
Regrade Policy
If, after reviewing the solutions and your answer, you still believe a portion
of your homework was graded in error, you may request a regrade, via Gradescope, *NOT* through
email. One of the staff will consider your request and adjust your grade if appropriate. Note
that when we regrade a problem, your score may go up or down. Regrade requests can be submitted
up to one week (7 days) after grades for a given assignment have been posted.
Citation policy
You can reference anything from the textbook, lecture and discussion notes,
information given by the course staff without having to cite it. However, if you make use of any
other information, you have to include proper citation. If you omit to do this you are
committing plagiarism.
You are allowed and encouraged to further your knowledge by finding related material online or
in books, but you have to cite it. Your citation may be a url, the title and chapter of a book,
or a paper reference.
Searching explicitly for answers to problems on the Web or from persons not enrolled in the
class this current semester is strictly forbidden. (This includes students who took the course
in previous semesters, posted solutions, Chegg, GitHub, etc. )
Collaboration Policy
Collaboration on homework is permitted and even encouraged. If you choose
to collaborate on some problems, you are allowed to discuss each problem with at most 3 other
students currently enrolled in the class. Before working with others on a problem, you should
think about it by yourself for at least 45 minutes.
You must write up each problem solution by yourself (using your own words) without assistance,
even if you collaborate with others to solve the problem. Identical worded answers, including
identical pseudocode, will receive no grade. You must also identify your collaborators clearly
on the first page of your assignment. If you did not work with anyone, you should write
``Collaborators: none.'' It is a violation of this policy to submit a problem solution that you
cannot orally explain to the instructors. You may get help on Piazza or in office hours from the
instructors for the class for specific problems. You don’t need to list them as collaborators.
No collaboration whatsoever is permitted on exams!
Collaboration strategies
If you do collaborate, use it as an opportunity to practice group work
skills: give everyone a chance to speak, listen carefully, acknowledge good suggestions. If you
have a tendency to be shy, speak up! If you have the tendency to dominate conversations, make
sure to give others the floor. We strongly encourage you to find a small group of classmates
that you regularly discuss and review material with. Feel free to post on Piazza to find a study
mate.
Sample nameplate
Change the name to yours in this PPTX file, print it,
and
bring to class.
LaTeX resources
TexShop is a latex editor for the Mac
platform;
TexNiCenter is a tex editor for Windows;
Overleaf is a web-based latex system (allows you to
avoid
latex installation on your machine).
Not so short intro to latex;
a latex tutorial.
Homework template files:
tex,
pdf,
jpg.
This document was last modified:
januario at but dot edu
Lecturer in Computer Science
College of Arts and Sciences
Boston University