CS 608 - Algorithms and Computing Theory

  • Instructor: Prof. Sung-Hyuk Cha
    • Email: scha@pace.edu
    • Tel: (212) 346-1253
    • Office: 163 William St. 2nd floor rm 228
    • Office Hours:
      • Wednesday 3:50pm~5:50pm
      • By appointment


  • CRN: 41388

  • Meeting:
    • Time: Summer 2022
    • Place: Online

  • Textbook: 7 Algorithm Design Paradigms, 2020, by Sung-Hyuk Cha
    Suggested book: Introduction to Algorithms, Cormen, Leiserson, Rivest, and Stein, Third Edition, MIT Press.

  • Resource: Dictionary of Algorithms and Data Structures

  • Course Description:
    The purpose of this course is to acquire a thorough grounding in the core principles and foundations of computer science. Students will learn methods for expressing and comparing algorithm complexity (worst- and average-case upper bounds, lower bounds) as well as to verify correctness. Algorithm-design techniques (divide-and-conquer, dynamic programming) as well as data structures (trees, heaps, hash tables) widely used in modern software development will be studied. The knowledge gained will be applied to a variety of practical problems, such as searching, sorting, and graph problems (shortest paths, minimum spanning trees). The question of what problems are hard to compute will be addressed with an introduction to NP-completeness theory, including the development of the NP-complete classification and the identification of NP-hard problems by reductions.

  • Learning Outcomes
    1. ability to analyze efficiency of algorithms and data structures [a];
    2. ability to utilize and/or design data structures in problem solving [b];
    3. ability to devise correct algorithms using various algorithm design techniques [b,c];
    4. understand the difference between inefficient algorithms and "hard" problems [a].

  • Prerequisites: CS 502 Minimum Grade of C

  • Lecture Notes: can be accessed using the http://classes.pace.edu.

  • Tentative Schedule:

    WeekTopic Chapters
    1 (6/1) Ch 1 Introduction, Summations, and Asymptotic notations
    2 (6/8) Ch 2 Inductive Programming
    3 (6/15) Ch 3 Divide & Conquer (Master theorem)
    4 (6/22) Ch 4 Greedy algorithms
    5 (6/29) Ch 5 Tabulation method
    6 (7/6) Midterm
    7 (7/13) Ch 7 Stack and Queue
    8 (7/20) Ch 9 Priority queue
    9 (7/27) Ch 10 Reduction
    10 (8/3) Ch 12 Randomized and approximate algorithms
    12 (8/10) Final Exam

  • Evaluation:
    • Participation (25%): Weekly quiz checking reading assignments.
    • Homeworks (25%): There will be weekly homework assignments.
    • Midterm (25%):
    • Final Exam (25%):

  • Accommodations for Students with Disabilities The University's commitment to equal educational opportunities for students with disabilities includes providing reasonable accommodations for the needs of students with disabilities. To request a reasonable accommodation for a qualified disability a student with a disability must self-identify and register with the Office of Disability Services for his or her campus. No one, including faculty, is authorized to evaluate the need for or grant a request for an accommodation except the Office of Disability Services. Moreover, no one, including faculty, is authorized to contact the Office of Disability Services on behalf of a student. For further information, please see Resources for Students with Disabilities at www.pace.edu/counseling/resources-and-support-services-for-students-with-disabilities.
  • Academic Integrity: (From the Student Handbook) Students are required to be honest and ethical in satisfying their academic assignments and requirements. Academic integrity requires that, except as may be authorized by the instructor, a student must demonstrate independent intellectual and academic achievements. Therefore, when a student uses or relies upon an idea or material obtained from another source, proper credit or attribution must be given. A failure to give credit or attribution to ideas or material obtained from an outside source is plagiarism. Plagiarism is strictly forbidden. Every student is responsible for giving the proper credit or attribution for any quotation, idea, data, or other material obtained from another source that is presented (whether orally or in writing) in the student's papers, reports, submissions, examinations, presentations and the like. Individual schools and programs may have adopted additional standards of academic integrity. Therefore, students are responsible for familiarizing themselves with the academic integrity policies of the University as well as of the individual schools and programs in which they are enrolled. A student who fails to comply with the standards of academic integrity is subject to disciplinary actions such as, but not limited to, a reduction in the grade for the assignment or the course, a failing grade in the assignment or the course, suspension and/or dismissal from the University.