Hello, if you have any need, please feel free to consult us, this is my wechat: wx91due
CSE 595: Algorithmic Problem-Solving
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
|
|
Academic calendar
The tentative lecture/class schedule is as follows.
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 |