CSE 595: Algorithmic Problem-Solving

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:
  • An ability to appreciate the beauty of our world full of algorithms.
  • An ability to understand where/how/why to apply different algorithmic design techniques.
  • An ability to use algorithmic thinking and problem-solving to attack and solve computational problems.
Resources
This is the main resource we will use for learning algorithmic problem-solving.
  • Algorithms and Data Structures. GeeksForGeeks.
The following textbooks are recommended for learning on algorithms and data structures, respectively.
  • [AL] Introduction to the Design and Analysis of Algorithms (3rd Edition). Anany Levitin.
  • [MAP] Mathematical and Algorithmic Puzzles.
  • [GTG] Data Structures and Algorithms in Java (6th Edition). Michael T. Goodrich, Roberto Tamassia, and Michael H. Goldwasser.
Grading
Course requirements and grading are as follows:
  • Presentations: 60%
  • Assignments: 20%
  • Final exam: 20%
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
  • Algorithmic Problem-Solving
    • Algorithms. LeetCode.
    • Algorithms. CodeChef.
    • Programming Problems. TechieDelight.
    • Problems on Algorithms (2nd Edition). Ian Parberry and William Gasarch.
  • Books/Websites
    • VisualAlgo.
    • [PDV] Algorithms (1st Edition). Christos Papadimitriou, Sanjoy Dasgupta, and Umesh Vazirani
    • [SS] The Algorithm Design Manual (2nd Edition). Steven S. Skiena
    • [JE] Algorithms. Jeff Erickson
    • [CLRS] Introduction to Algorithms (3rd Edition). Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein
    • Proving Correctness and Analyzing Complexity. Minko Markov.
  • Video Courses
    • Easy to Advanced Data Structures. William Fiset.
    • Data Structures. Steven.
    • Algorithms: MIT Course 2015. Erik Demaine, Srini Devadas, and Nancy Lynch.
    • Algorithms: MIT Course 2011. Erik Demaine and Srini Devadas.
    • The Design and Analysis of Algorithms: Stanford University Course. Tim Roughgarden.
    • Algorithms I: Princeton University Course. Robert Sedgewick and Kevin Wayne.
    • Graph Algorithms. William Fiset.
  • Mathematical Puzzles
    • Wu Riddles
    • TED-ED Puzzles
    • 3Blue1Brown
    • Kurzgesagt
    • Numberphile
    • Brainzilla
  • LaTeX
    • [OL] Learn LaTeX in 30 Minutes. Overleaf.
    • [WBL] Wikibook on LaTeX. Wikipeople.
    • [NSIL] The Not So Short Introduction to LaTeX. Tobias Oetiker.
    • [LCN] LaTeX for Complete Novices. Nicola L. C. Talbot (More Books).
    • [MML] More Math into LaTeX. George Gratzer. 4th Edition.
    • [LT] LATEX Tutorials. Indian Users Group.
    • [SIL] A Simplified Introduction to LaTeX. Harvey J. Greenberg.
    • More Books
  • Mathematical Writing
    • [SMW] Mathematical Writing. Donald E. Knuth, Tracy Larrabee, and Paul M. Roberts.
    • [HWMS] Handbook of Writing for the Mathematical Sciences. 2nd Edition. Nicholas J. Higham. (Paid)

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

发表评论

电子邮件地址不会被公开。 必填项已用*标注