Welcome to the Spring 2020 homepage for COMPSCI 311: Introduction to Algorithms.

The course will be co-taught: Section 1 (taught by Prof. David Mix Barrington) and Section 2 (taught by Marius Minea) will share TAs and graders, Moodle, Piazza and Gradescope sites, and there will be common assignments, quizzes, and midterms, but and similar finals.

**Description**
This course will introduce you to algorithms in a variety of areas of
interest, such as sorting, searching, string-processing, and graph algorithms.
You will learn to study the performance of various algorithms within a formal, mathematical framework. You will also learn how to design very efficient algorithms for many kinds of problems. Mathematical experience (as provided by COMPSCI 250) is required. You should also be able to program in Java, C, or some other closely related language. Prerequisites: COMPSCI 187 and either COMPSCI 250 or MATH 455.

- Lectures:

Section 1: MW 2:30-3:45 pm, Goessmann 20: David Mix Barrington, office: CS 210.

Section 2: MW 4:00-5:15 pm, Hasbrouck 126: Marius Minea, office: LGRC A261. - TAs: Blossom Metevier (bmetevier), Julian Oks (joks),
Farhan Tasnim Oshim (farhanoshim at cs), Lijun Zhang (lijunzhang)

TA office hours - UCAs: Serena Chan, Mark Dow, Oscar Frasier, Jerry Fu, Jacob Goldman, Anushree Jana, Patrick Lei, Matthew Pearce, Jordan Sheffield
- Moodle
- Piazza
- Gradescope

- Required Textbook: Algorithm Design by Jon Kleinberg and Éva Tardos.
- Optional: Companion slides for Kleinberg and Tardos
- Optional: Introduction to Algorithms by Cormen, Leiserson, Rivest, and Stein
- Optional: Algorithms by Dasgupta, Papadimitriou, and Vazirani

- Midterm 1: Thu Mar 5, 7-9pm, Morrill 1 N375
- Midterm 2: Wed Apr 8

- HW 1 (LaTeX source): released Sun 1/26, due Mon 2/10 at 11:59pm
- HW 2 (LaTeX source): released Sun 2/10, due Mon 2/24 at 11:59pm
- HW 3 (LaTeX source): released Tue 2/25, due Wed 3/11 at 11:59pm
- HW 4 (LaTeX source): released Sun 3/15, due Wed 4/1 at 11:59pm
- HW 5 (LaTeX source): released Thu 4/2, due Wed 4/15 at 11:59pm
- HW 6 (LaTeX source): released Thu 4/16, due Wed 4/29 at 11:59pm

The is a tentative schedule which might suffer changes. See also the page for Fall 2019.

Lecture | Topics | Readings |
---|---|---|

1 | Introduction and Stable Matching | Chapter 1.1 |

2 | Algorithm Analysis and Asymptotics | Ch 2.1, 2.2 |

3 | Algorithm Analysis, Graphs | Ch 3.1, 3.2 |

4 | Graphs | Ch 3.3, 3.4 |

5 | Graphs | Ch 3.5, 3.6 |

6 | Greedy Algorithms | Ch 4.1 |

7 | Greedy Algorithms | Ch 4.2 |

8 | Greedy Algorithms | Ch. 4.4 |

9 | Greedy Algorithms | Ch. 4.5, 4.6 |

10 | Divide and Conquer | Ch. 5.1, 5.2 |

11 | Divide and Conquer | Ch. 5.4, 5.5 |

12 | Divide and Conquer | Ch. 5.2 |

13 | Dynamic Programming | Ch. 6.1, 6.2 |

14 | Dynamic Programming | Ch. 6.3, 6.4 |

15 | Dynamic Programming | Ch. 6.6 |

16 | Dynamic Programming | Ch. 6.8 |

17 | Network Flow | Ch. 7.1, 7.2 |

18 | Network Flow | Ch. 7.2, 7.3 |

19 | Network Flow | Ch. 7.5 |

20 | Intractability | Ch. 8.1 |

21 | Intractability | Ch. 8.2, 8.3 |

22 | Intractability | Ch 8.3 |

23 | Intractability | Ch 8.4 |

24 | Approximation Algorithms | Ch 11.1, 11.2 |

25 | Randomized Algorithms | Ch 13.1, 13.2, 13.4 |

26 | Approximation/Randomization/Review |

- Participation (10%): Discussion section activities (7.5%) and in-class quizzes (iClicker) (2.5%). The lowest two discussion sections and three clicker scores will be dropped.
- Homework (25%) + Weekly Moodle quiz (5%). The weight of the lowest-scoring homework will be reduced to 50%.
- Midterm 1 (18%): Focus on first third of the class.
- Midterm 2 (18%): Focus on second third of the class.
- Final (24%): Covers all lectures.

**Homework**: Collaboration is encouraged on homework assignments. However, you should first understand and attempt the problem individually.**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.**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 suspected.**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.

A 50% penalty will be applied for homework that is late by 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 and counts towards the course grade.

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.