CSE 373 - Analysis of Algorithms

Fall 2016

  • Course Time: 1PM - 2:20PM Tuesday-Thursday
    Place: Harriman 137
  • Steven Skiena's office hours are 2:30-4PM Tuesday-Thursday, in 251 New Computer Science, and by appointment. You can also catch me right after class.
  • The course assistants will be:
    • Huidong Liu. His email address is huidliu@cs.stonybrook.edu. His office hours will be 4:30pm-6:00pm, Monday and Thursday in the CS TA room 2203 old Computer Science.
    • Saniago Vargas. His email address is savargas@cs.stonybrook.edu. His office hours will be 11AM to 12:30PM (before class) Tuesday and Thursday. in the CS TA room Old Computer Science 2203 (if full we overflow to 2217).
    • Yi Cao. His email address is yicao1@cs.stonybrook.edu. His office hours will be 2PM to 3PM Friday in the CS TA room Old Computer Science 2203.
    • Our undergraduate TA will be Jake Christensen. He will be responsible for Piazza. His email address is jake.christensen@stonybrook.edu. His office hours will be 4PM to 5:30PM on Wednesday in the CS TA room Old Computer Science 2203.
    • Our course graders are Geoffry Churchill and Yeseul Lee.
  • The CEAS tutoring services claims to offer help in CSE 373 every Tuesday (5:30-7:30PM) and Wednesday (4:30-6:30PM) evening, in Engineering room 236B. Students may request tutoring information by visiting or calling the CEAS Undergraduate Student Office or visiting the CEAS Tutoring Services Website.
  • The course final exam will be held on Monday, December 19 from 5:15PM-8PM. Students whose last name begins A-G will take the exam in Old Computer Science 2311 (the Wireless Seminar room) Students whose last name begins H-Z will take the exam in the usual room (137 Harriman) It will be cumulative and cover everything we did this semester. Good luck!

Lecture Notes

  • The lecture notes from the current semester are available here.
  • Video and audio lectures with links to lecture notes from previous offerings of my course are available at my YouTube channel or http://www.cs.sunysb.edu/~skiena/373/videos/. The associated lecture notes from these old offerings are available here.
  • There is a Wiki with possible solutions to odd numbered problems from the book.

Course Documents

  • Course Syllabus and lecture schedule in pdf format.
  • Daily Homework Problems in pdf format.
  • A list of hard problems suitable to challenge me on.

Homework Assignments

  • Homework 1 - DUE 9/27/16 in pdf format.

    An answer key is now available.

  • Homework 2 - DUE 10/11/16 in pdf format.

    An answer key is now available.

  • Midterm 1 will be held Tuesday, October 4 in class and will cover big oh, data structures, and sorting. Students whose last names start from A - H should report to the overflow room, Old Computer Science 2120.
  • Homework 3 - DUE 10/27/16 in pdf format.

    The four testfiles for Homework 3 are file 1, file 2, file 3, file 4. The first number represents the number of edges, the second the number of vertices, and each subsequent line represents an edge between the pair of numbered vertices.

    An answer key is now available.

  • Come by my office door to sign up for Pizza with the Prof, November 2 at 12PM. Registration is limited to the first 15 students to sign up.
  • Homework 4 - DUE 11/10/16 in pdf format. Test your program on our collection of datasets for HW4.
  • Midterm 2 will be held Tuesday, November 22 in class and will cover graph algorithms, backtracking, and dynamic programming. Students who's last names start from A - H should report to the overflow roomNew CS room 120.
  • Homework 5 - DUE 12/8/16 in pdf. Try to do the dynamic programming problems before the midterm. The answer key is now available.

    Related Links

    Extra Credit

    Interested students may attempt the following extra credit programming challenges from Skiena/Revilla for a small amount of additional points -- small enough that you should be motivated primarily by interest and not greed.

    The solutions to these problems must be submitted on www.programming-challenges.com. Register for an account and join my CSE 373 extra credit class if you are intersted.

    A schedule for doing these problems that is somewhat consistant with this course is:

    • week 1: 110101 3n+1
    • week 2: 110201 Jolly Jumpers
    • week 3: 110303 Common Permutation
    • week 4: 110401 Vito's family
    • week 5: 110405 Shoemakers problem
    • week 6: 111101 Is Bigger Smarter?
    • week 7: 111104 Unidirectional TSP
    • week 8: 110801 Little Bishops
    • week 9: 110901 Bicoloring
    • week 10: 110902 Playing with Wheels
    • week 11: 111006 Tourist Guide
    • week 12: 111105 Cutting Sticks
    • week 13: 110806 Garden of Eden
    • week 14: 111005 War
    • week 15: 110805 Tug of War


    Read about the CS accreditation ABET program. The ABET objectives for the course are

    • Provide a rigorous introduction to worst-case asymptotic algorithm analysis.
    • Develop classical graph and combinatorial algorithms for such problems as sorting, shortest paths and minimum spanning trees.
    • Introduce the concept of computational intractability and NP completeness.

    The course will also satisfy the following program objective:

    • (S6) have a solid understanding of computational theory and foundational mathematics.


    Steven S. Skiena
    1417 Computer Science Building
    Department of Computer Science
    State University of New York at Stony Brook
    Stony Brook, NY 11794-4400, USA

    Join the Stony Brook Computer Science Society