- Instructor: Prof. Sung-Hyuk Cha
- Email: firstname.lastname@example.org
- Tel: (212) 346-1253
- Office: 163 William St. 2nd floor rm 228
- Office Hours: Monday 12:20pm~1:20pm, Tuesday 4:00pm~5:30pm, and Wednesday 12:20pm~1:20pm & 4:00pm~5:30pm
- Textbook: 7 Design Paradigms of Algorithm,
by Sung-Hyuk Cha
(An online textbook in preparation to be distributed on blackboard.
It shall be published in 2019.)
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.
- ability to analyze efficiency of algorithms and data structures [a];
- ability to utilize and/or design data structures in problem solving [b];
- ability to devise correct algorithms using various algorithm design techniques [b,c];
- 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:
|1 (1/30) ||
Ch 1 Introduction, Summations, and Asymptotic notations
Ch 2 Inductive Programming
Ch 3 Divide & Conquer (Master theorem)
Ch 4 Greedy algorithms
Ch 5 Tabulation method
Ch 6 Two dimensional tabulation
Ch 7 Stack and Queue
Ch 9 Priority queue
Ch 10 Reduction
Ch 11 NP completeness
Ch 12 Randomized and approximate algorithms
Ch 8 Dictionary problem
- Participation (10%): Attendance and class participation
- Homeworks (30%): There will be weekly homework
- 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.
- 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.