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: Tuesday & Thursday 12:50pm - 2:20pm & 4:30pm - 5:30pm

• CRN: 72608

• Meeting:

• Textbook: One in preparation will be distributed in class by chapters weekly.
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://blackboard.pace.edu.

• Tentative Schedule:

WeekTopic Chapters
1 (9/7) Ch 1 Introduction, Summations, and Asymptotic notations
2 (9/14) Ch 2 Inductive Programming
3 (9/21) ROSH HASHANAH
4 (9/28) Ch 3 Divide & Conquer (Master theorem)
5 (10/5) Ch 4 Greedy algorithms
6 (10/12) Ch 5 Tabulation method
7 (10/19) Ch 6 Two dimensional tabulation
8 (10/26) Ch 10 Reduction
9 (11/2) Review
10 (11/9) Midterm
11 (11/16) Ch 7 Stack and Queue
12 (11/23) Thanks giving
13 (11/30) Ch 8 Priority queue
14 (12/7) Ch 11 NP completeness
15 (12/14) Ch 12 Randomized and approximate algorithms
16 (12/21) Final Exam

• Evaluation:
• Participation (10%): Attendance and class participation
• Homeworks (30%): There will be weekly homework assignments.
• Midterm (30%):
• Final Exam (30%):

• 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.