Name  Office Hours  Office 

Prof. Tiago Januario  CDS 801, Mon/Thu, 45pm  CDS 911 
Teaching Fellow: Islam Faisal  CDS 801, Tue/Wed, 45pm  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.
Makeup classes on two Fridays:
Discussion Labs
Discussion labs will be an invaluable part of the course involving interactive
problemsolving 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 problemsolving. 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 FordFulkerson algorithm Slides with notes 
KT 7.2 Video 
HW4 due The Plumber Game Trains: ontimeeverytime 
13  Fri, June 23 Monday Schedule 
Bipartite matchings Mincut maxflow 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 webbased 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 persemester 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 webbased 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