Classes |
MoWe 2:30PM - 3:50PM, Old Computer Science-2-Room 2120 |
---|---|
Instructor |
Prof. Pramod Ganapathi Office hours: Mo 10:30AM - 01:30PM, Room 105 New Computer Science |
TA's
| Google sheets |
Course Description |
This course covers: (i) several interview/technical/programming problems/puzzles and their multiple algorithmic solutions through student presentations, and (ii) practical algorithms from real-world applications. |
---|---|
Prerequisites |
Undergraduate algorithms and undergraduate data structures. Students should NOT take this course if they have not taken and passed undergraduate algorithms and data structures courses. |
Credits |
3 |
Course Outcome |
At the end of the course, the students should have the following knowledge, skills, and wisdom:
|
Resources |
This is the main resource we will use for learning algorithmic problem-solving.
|
Grading |
Course requirements and grading are as follows:
|
Presentations |
The course is majorly based on supervised peer-learning. Each student will be in a group of specified size. Each group will be assigned a set of problems related to a specific algorithm design technique or data structure or problem. The group has to understand those problems and solutions in detail, try to generalize the solutions, implement all the solutions, and present and record the presentations. The presentations will be graded for organization, story telling, clarity, simplicity, lots of diagrams, pseudocodes, examples, clear-cut explanation, generalizations of solutions, implementations, empirical analysis, plots, team collaboration, summarization of all results, proper usage of time duration, etc. If the group also present nontrivial generalized solutions (for example, nontrivial generalized solutions to higher dimensions) that cannot be found online, then more points are awarded for novelty. We will have various presentations on different topics throughout the course. Presentation details will be communicated via Brightspace. Late submissions will have a penalty. |
Homework |
Homework will be posted on Brightspace. Homework must be written on plain sheets of paper, scanned using a good scan app, and a single scanned PDF must be submitted on Brightspace. The PDF must have the student ID as the file name. Late submissions will not be graded for any reason (including oversleeping, forgetting, PC issues, technical issues, Brightspace issues, traveling, etc), except in the case of medical emergencies (with documentation submitted to and verified by the Student Support Team) and on the discretion of the instructor based on a case-by-case basis. It is strongly recommended to submit at least one version three days before the deadline. A student can submit an infinite number of versions of the answer sheets PDF to the Brightspace. We only evaluate the last/final version of the solutions PDF uploaded on Brightspace before the deadline. Students should not submit the first version of their homework at the exact deadline or later or a few seconds/minutes just before the deadline. Because, we do not consider the time at which a homework was submitted, we consider the time at which the homework was successfully up on Brightspace (with all pages in human-readable form) and it takes a few seconds/minutes to upload on Brightspace. If Brightspace flags the homework as late, it is late. Regrade requests deadline is 1 week after getting the homework/exam results on Brightspace. |
Makeup Exams |
Makeup exams will not be given for any reason (including oversleeping, forgetting, PC issues, technical issues, Brightspace issues, traveling, etc), except in the cases of medical emergencies (with documentation submitted to and verified by the Student Support Team) and on the discretion of the instructor based on a case-by-case basis; student participation in university sponsored events (with documentation); and religious absences (with documentation). |
Additional Resources |
|
Lectures |
Class Schedule |
Study Materials |
More Resources |
---|---|---|---|
2 sessions | Introduction, crash course on CSE 582 | [Slides] | |
4 sessions | Practical algorithms → PageRank, Gale-Shapley, String matching (Rabin-Karp, Horspool, Aho-Corasick), Bit tricks | [Slides] | |
1 session | Streaming algorithms → Boyer-Moore | [Slides] | |
2 sessions | Probabilistic algorithms → Miller-Rabin, Bloom filter, Count-Min sketch, Hyperloglog | [Slides] | |
2 sessions | External-memory algorithms → Merge sort | [Slides] | |
3 sessions | Interview problems → Maximum subarray, Palindromic substrings, First missing positive | [Slides] | |
Oct 25, 30 | Presentations → 1. Arrays, Lists, Trees | [Program] | [GFG-bst] |
Nov 01, 06 | Presentations → 2. Decrease-and-conquer, Divide-and-conquer | [Slides], [Slides] | [GFG-dec] |
Nov 08, 13 | Presentations → 3. Dynamic programming | [Slides] | [GFG-dp] |
Nov 15, 20 | Presentations → 4. Puzzles | [Our puzzle book] | |
Nov 27, 29 | Presentations → 5. Advanced algorithms/DS | ||
Dec 04, 06 | Presentations → 6. System Design | [Slides] | |
Dec 12 (Tu) | Final → Time: 5:30-8:00 PM, Venue: Class, Schedule |
Academic Integrity |
Each student must pursue his or her academic goals honestly and be personally accountable for all submitted work. Representing another person's work as your own is always wrong. Any suspected instance of academic dishonesty will be reported to the Academic Judiciary. For more comprehensive information on academic integrity, including categories of academic dishonesty, please refer to the academic judiciary website at
https://www.stonybrook.edu/commcms/academic_integrity/. Students are allowed/encouraged to:
|
---|---|
Student Accessibility Support Center |
If you have a physical, psychological, medical, or learning disability that may impact your course work, please contact the Student Accessibility Support Center, ECC (Educational Communications Center) Building, Room 128, (631) 632-6748, or at sasc@Stonybrook.edu. They will determine with you what accommodations are necessary and appropriate. All information and documentation is confidential. Students who require assistance during emergency evacuation are encouraged to discuss their needs with their professors and the Student Accessibility Support Center. For procedures and information go to the following website: https://ehs.stonybrook.edu/programs/fire-safety/emergency-evacuation/evacuation-guide-people-physical-disabilities and search Fire Safety and Evacuation and Disabilities. |
Critical Incident Management |
Stony Brook University expects students to respect the rights, privileges, and property of other people. Faculty are required to report to the Office of University Community Standards any disruptive behavior that interrupts their ability to teach, compromises the safety of the learning environment, or inhibits students' ability to learn. Further information about most academic matters can be found in the Undergraduate Bulletin, the Undergraduate Class Schedule, and the Faculty-Employee Handbook. |