Introduction to Algorithms (Section 1; Sheldon)

Welcome to the Spring 2019 homepage for CMPSCI 311: Introduction to Algorithms. Below find basic information, coursework and schedule, and detailed course policies.

Instructor | Dan Sheldon, (email: sheldon at cs ) |

Lecture | Monday, Wednesday 4:00-5:15pm, Integrated Learning Center S140 |

Required Textbook | Algorithm Design, 1st edition by Jon Kleinberg and Eva Tardos |

Piazza | TBD |

Moodle | https://moodle.umass.edu/course/view.php?id=53649 |

Gradescope | TBD |

TAs | Karine Tung (email: karine at cs) Tengyang Xie (email: txie at cs) Jesse Lingeman (email: lingeman at cs) Raghavendra Addanki (email: raddanki at cs) TAs are shared with Section 2 |

Office Hours | TBD |

- Midterm 1: Thursday, February 21 from 7–9pm ILC N151 and ILC N101
- Midterm 2: Thursday, April 11 from 7–9pm in ILC N151 and ILC N211
- Final exam: Thursday, May 8 from 3:30–5:30pm in ILC S140

(dates are tentative)

- HW 1: released 1/24, due Thursday 2/7 at 11:59pm
- HW 2: released 2/7, due Monday 2/18 at 11:59pm
- HW 3: released 2/21, due Thursday 3/7 at 11:59pm
- HW 4: released 3/7, due Thursday 3/28 at 11:59pm
- HW 5: released 3/28, due Monday 4/8 at 11:59pm
- HW 6: released 4/11, due Thursday 4/25 at 11:59pm

Here is an approximate schedule for the course. This is subject to change and will be updated as we go. Slides will be added after class—links will be broken until they are added. Note that lectures will include a mixture of slides and board work, and material presented on the board is not necessarily reflected in the slides. Another set of slides that roughly matches the material we cover can be found here.

Week | Date | Topic | Reading and Background | |
---|---|---|---|---|

1 | Lec 01 | 1/23 | Introduction and Stable Matching | Chapter 1 |

Dis 01 | ||||

2 | Lec 02 | 1/28 | Algorithm Analysis | Chapter 2.1, 2.2 |

Lec 03 | 1/30 | Algorithm Analysis, Graphs | Chapter 3.1, 3.2 | |

Dis 02 | ||||

3 | Lec 04 | 2/4 | Graphs | Chapter 3.3, 3.4 |

Lec 05 | 2/6 | Graphs | Chapter 3.5, 3.6 | |

Dis 03 | ||||

4 | Lec 06 | 2/11 | Greedy | Chapter 4.1 |

Lec 07 | 2/13 | Greedy | Chapter 4.2 | |

Dis 04 | ||||

5 | 2/18 | NO CLASS – PRESIDENT’S DAY | ||

Lec 08 | 2/19 | Greedy (Monday schedule) | Chapter 4.4 | |

Lec 09 | 2/20 | Greedy | Chapter 4.5-4.6 | |

Dis 05 | ||||

6 | Lec 10 | 2/25 | Divide and Conquer | Chapter 5.1, 5.2 |

Lec 11 | 2/27 | Divide and Conquer | Chapter 5.4, 5.5 | |

Dis 06 | ||||

7 | Lec 12 | 3/4 | Divide and Conquer | Chapter 5.2, 5.6 |

Lec 13 | 3/6 | Dynamic Programming | Chapter 6.1, 6.2 | |

Dis 07 | ||||

SPRING BREAK (3/11–3/15) | ||||

8 | Lec 14 | 3/18 | Dynamic Programming | Chapter 6.3, 6.4 |

Lec 15 | 3/20 | Dynamic Programming | Chapter 6.6 | |

Dis 08 | ||||

9 | Lec 16 | 3/25 | Dynamic Programming | Chapter 6.8 |

Lec 17 | 3/27 | Network Flow | Chapter 7.1, 7.2 | |

Dis 09 | ||||

10 | Lec 18 | 4/1 | Network Flow | Chapter 7.2, 7.3 |

Lec 19 | 4/3 | Network Flow | Chapter 7.5, 7.10 | |

Dis 10 | ||||

11 | Lec 20 | 4/8 | Intractability | Chapter 8.1 |

Lec 21 | 4/10 | Intractability | Chapter 8.2, 8.3 | |

Dis 11 | ||||

12 | 4/15 | No Class — Patriot’s Day | ||

Lec 22 | 4/17 | Intractability (Monday schedule) | Chapter 8.3 | |

Dis 12 | ||||

13 | Lec 23 | 4/22 | Intractability | Chapter 8.4 |

Lec 24 | 4/24 | Approximation Algorithms | Chapter 11.1, 11.2 | |

Dis 13 | ||||

14 | Lec 25 | 4/29 | Randomized Algorithms | Chapter 13.1, 13.2, 13.4 |

Lec 26 | 5/1 | Review |

CS 187 and CS 250 are important prerequisites. These provide familiarity with basic data structures and mathematical reasoning. You should be able to program in Java, C, or a related language.

The required textbook is Algorithm Design, 1st edition by Jon Kleinberg and Eva Tardos. It will be used for readings and homework problems.

Students will complete:

- Roughly 7 homework assignments
- Two evening exams
- One final exam
- Readings
- Quizzes

- Participation (10%): Discussion and in-class participation (iClicker)
- Homework: (25%): Homework assignments and Moodle quizzes
- Midterm 1 (20%): Focuses on first third of class
- Midterm 2 (20%): Focuses on second third of class
- Final (20%): Covers all lectures

**Homework**: Collaboration is encouraged on homework assignments. These will be difficult, and students will benefit from developing ideas and solutions in small groups after first understanding and attempting the problem individually.**However, each student must write their own solutions.****Looking at solutions from other students or any other source (including the web) is a violation of the Academic Honesty Policy.**It is easy to tell when a student has referred to solutions that are not their own. Formal charges will be pursued if cheating is suspected.**Quizzes**: No collaboration is allowed, but you may use the book and lecture notes. Formal chages will be pursued if cheating is expected.**Discussion**: Exercises during discussion sections will be completed in assigned groups.**Exams**: Closed book and no electronics. Cheating will result in an F in the course.

You will receive credit for completing discussion exercises and answering iClicker questions during lectures. The lowest two discussion grades dropped and lowest three lecture participation grades will be dropped.

Quizzes will be issued before the weekend and must be submitted before 8pm on Monday. No credit will be given for late quizzes, but the lowest scoring quiz will be dropped.

Homework will be submitted via GradeScope. You may type up your answers in Latex and compile to pdf (preferred) or hand-write your homework and scan to pdf. If scanned, the pdf must be rotated correctly, scanned at high quality, and readable at a standard letter size. If the homework is not submitted in the correct format, it will not receive credit. Unreadable work, scratching out, etc. will not be graded. You should view the pdf once you submit to ensure it meets these minimum standards. Review the gradescope submission workflow (here and here) to make sure you upload and annotate your homework correctly. (Important: **use one of the Gradescope recommended scanning apps**.)

**Late policy**. A 50% penalty will be applied for homework that is late by 5 minutes up to 24 hours. Homework that is late by more than 24 hours receives no credit. However, each student is allowed to submit *one* homework up to 24 hours late without penalty.

The discussion section will be used every week except when noted on the course schedule and will consist of exercises to practice solving problems in small groups. Attendance is required.

- We will use Piazza for the class discussion forum and contacting instructors and TAs. [link]
- We will use Moodle for quizzes and posting HW solutions and grades. [link]
- We will use Gradescope for submitting and returning homework and exams. [link]

Please read the CICS inclusivity statement, copied here:

The College of Computer and Information Sciences shares UMass Amherst’s commitment to diversity. We welcome all individuals regardless of age, background, citizenship, disability, sex, education, ethnicity, family status, gender, gender identity, geographical origin, language, military experience, political views, race, religion, sexual orientation, socioeconomic status, and work experience. We expect all members of our community to treat others with respect and civility.

If you have a disability and would like to request accommodations, please contact Disability Services, located in 161 Whitmore Hall, (413) 545-0892. If you are eligible, they will grant you accommodations and notify the instructors.