CS 361 Programming Languages and Implementation

  • Instructor: Prof. Sung-Hyuk Cha
    • Email: scha@pace.edu
    • Tel: (212) 346-1253
    • Office: 163 Williams, Rm. 228 at NYC
    • Office Hours: M W 11:10am ~ 1:10pm and T R 5:30 ~ 6:00 pm.


  • CRN: 70992

  • Meeting:
    • Time: MW 01:20 - 03:20 P.M., Fall 2019
    • Place: CIVIC W625

  • Textbook: Programming Language Pragmatics, 4th Edition, Michael L. Scott, Morgan Kaufmann, 2015

  • Course Goals:
    Upon completion of this course, students must
    • Understand the formal models of programming language syntax and semantics.
    • Understand the principles and components of programming language design.
    • Understand the various paradigms of programming languages.

  • Course Description:
    This course provides a study of the history of programming languages including the imperative, object-oriented, functional and logical varieties. Emphasis is on principles of language design, and tools, and overviews the other phases of the compilation process. Students develop the scanner and the parser of an experimental language in Java, and design the solutions to various programming exercises in diverse programming languages. The topics include syntactic specification, data types, abstraction mechanisms, sequences control, data control, storage management, functional programming and program verification. We will use C, Java, Scheme and Prolog to illustrate programming language concepts.

  • Prerequisites: CS 242 Minimum Grade of C

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

  • Schedule: subject to change

    WeekMondayWednesday
    1 9/2 9/4 Introduction
    2 9/9 Ch2 Syntax 9/11 Ch2 Syntax
    3 9/16 Ch2 Syntax 9/18 Ch3 Scopes and Bindings
    4 9/23 Ch3 Scopes and Bindings 9/25 Ch4 Semantic Analysis
    5 9/30 Rosh Hashanah 10/2 Ch4 Semantic Analysis
    6 10/7 Ch11 Logic Languages 10/9 Yom Kippur
    7 10/14 Ch11 Logic Languages 10/16 Ch11 Logic Languages
    8 10/21 Ch11 Logic Languages 10/23 Midterm Exam
    9 10/28 Ch6 Control Flow 10/30 Ch6 Control Flow
    10 11/4 Ch7 Type Systems 11/6 Ch8: Composite Types
    11 11/11 Veteran's day 11/13 Ch9 Subroutines
    12 11/18 Ch10 Functional Languages 11/20 Ch10 Functional Languages
    13 11/25 Ch10 Functional Languages 11/27 Thanksgiving Break
    14 12/2 Ch10 Functional Languages 12/4 Ch12 Concurrency
    15 12/9 Ch12 Concurrency 12/11 Presentation
    16 12/16 12/18 Final Exam

  • Evaluation:
    • Homeworks and Attendance (25%):
    • Group Project (25%): A report and presentation
    • Midterm Exam (25%):
    • Final Exam (25%):

  • Course Policies
    • All homeworks must be submitted at the beginning of the class. No late homework will be accepted.

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