Introduction to Algorithms (Section 2; Sheldon)

Welcome to the Spring 2017 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, Goessmann Laboratory Room 20 |

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

Piazza | https://piazza.com/umass/spring2017/cmpsci311section2/home |

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

Gradescope | https://gradescope.com/courses/5956 |

TA | Pardis Malekzadeh (email: pardismlkzdh at gmail) |

Office Hours | (Dan) Thursday, 2–3pm (CS 246) (Pardis) Thursday 10-11am (LGRC A303) (Pardis) Friday 10-11am (LGRC A303) |

- Midterm 1: March 2, 7–9pm, Morrill 2 Room 222
- Exam and solutions
- Covers Lectures 1–9 and Chapters 1–4.5
- Practice midterm and solutions; 2006 practice and solutions; 2006 exam and solutions

- Midterm 2: April 13, 7–9pm, Goessmann Room 64
- Exam and solutions
- Practice midterm and solutions; 2006 practice and solutions; 2006 exam and solutions

- Final exam: May 5, 3:30-5:30pm, Goessmann Laboratory Room 20
- Practice exam and solutions; 2006 practice and solutions; 2006 exam and solutions

- HW 1 [pdf] [tex]: due Friday, Feb 10 at 8pm in Gradescope
- HW 2 [pdf] [tex]: due Friday, Feb 24 at 8pm in Gradescope
- HW 3 [pdf] [tex]: due Friday, Mar 10 at 8pm in Gradescope
- HW 4 [pdf] [tex]: due Friday, Mar 31 at 8pm in Gradescope
- HW 5 [pdf] [tex]: due Friday, Apr 7 at 8pm in Gradescope
- HW 6 [pdf] [tex]: due
**Tuesday, May 2 at 11:59pm**in Gradescope

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 |

Lec 02 | 1/25 | Algorithm Analysis | Chapter 2.1, 2.2 | |

Dis 01 | ||||

2 | Lec 03 | 1/30 | Algorithm Analysis, Graphs | |

Lec 04 | 2/1 | Graphs | Chapter 3.1, 3.2 | |

Dis 02 | ||||

3 | Lec 05 | 2/6 | Graphs | Chapter 3.3–3.6 |

Lec 06 | 2/8 | Greedy | Chapter 4.1 | |

Dis 03 | ||||

4 | 2/13 | MISSED LECTURE | ||

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

Dis 04 | ||||

5 | 2/20 | No Class – President’s Day | ||

Lec 08 | 2/22 | Greedy | Chapter 4.4 | |

Dis 05 | ||||

6 | Lec 09 | 2/27 | Greedy | Chapter 4.5-4.6 |

Lec 10 | 3/1 | Review | ||

Dis 06 | ||||

7 | Lec 11 | 3/6 | Divide and Conquer | Chapter 5.1, 5.2 |

Lec 12 | 3/8 | Divide and Conquer | Chapter 5.4, 5.5 <!– Integer multiplication, closest pair of points – | |

Dis 07 | ||||

SPRING BREAK (week of 13 Mar) | ||||

8 | Lec 13 | 3/20 | Dynamic Programming | Chapter 6.1, 6.2 |

Lec 14 | 3/22 | Dynamic Programming | Chapter 6.3 | |

Dis 08 | ||||

9 | Lec 15 | 3/27 | Dynamic Programming | Chapter 6.4 |

Lec 16 | 3/29 | Dynamic Programming | Chapter 6.8 | |

Dis 09 | ||||

10 | Lec 17 | 4/3 | Network Flow | Chapter 7.1 |

Lec 18 | 4/5 | Network Flow | Chapter 7.2 | |

Dis 10 | ||||

11 | 4/10 | CLASS CANCELED | ||

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

Dis 11 | ||||

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

Lec 20 | 4/18 | Intractability (Monday schedule) | Chapter 8.1 | |

Lec 21 | 4/19 | Intractability | Chapter 8.2 | |

Dis 12 | (only Tuesday Discussion) | |||

13 | Lec 22 | 4/24 | Intractability | Chapter 8.3 |

Lec 23 | 4/26 | Intractability | Chapter 8.4 | |

Dis 13 | ||||

14 | Lec 24 | 5/1 | Approximation Algorithms / Wrap-Up | Chapter 11.1, 11.2 |

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 section and any in-class quizzes
- Homework: (30%): 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.

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.

**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. Exercises will be submitted at the end of the discussion and count toward course grade.

- 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.