CSE 373 - Analysis of Algorithms

Fall 2018

  • Course Time: 1PM - 2:20PM Tuesday-Thursday
    Place: Javits 102
  • 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 bulletin board will be Piazza. Sign up by clicking here.

    Our graduate TAs and their special responsibilities are:

  • The undergraduate course assistants are listed below. Their office hours will be in the undergrad TA rooms 2203 and 2217 Old Computer Science.
    • Yuqing Liu (yuqing.liu@stonybrook.edu). Office hour: Tuesday 5:30-6:30PM.
    • Vincent Paladino (vincent.paladino@stonybrook.edu). Office hour: Thursday 4-5PM.
    • Elliot Tuck (eat3774@gmail.com) Office hour: Thursday 11AM-noon.
    • Pakigya Tuladhar (ptuladhar@cs.stonybrook.edu). Office hour: Wednesday 4-5PM.
  • The undergraduate TAs will have one review session each week (two before midterms) in Old Computer Science (OCS 2120 for Elliot and Sunny, OCS 2311 for Vincent and Paki). The schedule is:
    • 9/4: Vincent and Pakigya (4-5PM)
    • 9/12: Elliot and Sunny (noon-1PM)
    • 9/18: Vincent and Pakigya (4-5PM)
    • 9/25: Vincent and (Elliot subbing in for Pakigya) (4-5PM)
    • 9/26: Elliot and Sunny (noon-1PM)
    • 10/2: Vincent and Pakigya (4-5PM)
    • 10/10: Elliot and Sunny (noon-1PM)
    • 10/16: Vincent and Pakigya (4-5PM)
    • 10/24: Elliot and Sunny (noon-1PM)
    • 10/30: Vincent and Pakigya (4-5PM)
    • 11/7: Elliot and Sunny (noon-1PM)
    • 11/13: Vincent and Pakigya (4-5PM)
    • 11/14: Elliot and Sunny (noon-1PM)
    • 11/21: Elliot and Sunny (noon-1PM)
    • 11/27: Vincent and Pakigya (4-5PM)
    • 12/5: Elliot and Sunny (noon-1PM)

    Here is a calendar of all TA office hours and review sessions.

  • The CEAS tutoring services claims to offer help in CSE 373 every Monday (6:00-8:00PM) 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.

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.stonybrook.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/20/18 in pdf format.

    An answer key is now available.

  • Homework 2 - DUE 10/4/18 in pdf format.
  • Midterm 1 will be held Thursday, September 27 in class and will cover big oh, data structures, and sorting. I have posted a copy of a prior year's Midterm 1 to help you study. Note: we will not provide an answer key, especially for the multiple choice problems, to encourage you to work them out on your own.

    Students whose last names begin A-H will take the midterm in New Computer Science 120. Students I-Z should go to the usual classroom Javits 102.

  • Homework 3 - DUE 10/25/18 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.

  • Homework 4 - DUE 11/8/18 in pdf format. Test your program on our collection of datasets for HW4.
  • Midterm 2 will be held Tuesday, November 20 in class and will cover graph algorithms, backtracking, and dynamic programming. I have posted a copy of a prior year's Midterm 2 to help you study. Note: we will not provide an answer key, especially for the multiple choice problems, to encourage you to work them out on your own.
  • Homework 5 - DUE 12/6/18 in pdf. Try to do the dynamic programming problems before the midterm.

    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.

    You can submit these problems through the UVA Online Judge. I have given the corresponding UVA Judge number for each problem in parentheses. Google "

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

    Send me all your work at the end of the semester to receive credit.


    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
    251 New 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