CSE307: Principles of Programing Languages

Spring 2020

Syllabus


Course Description

Presents examples of important programming languages and paradigms such as LISP, ALGOL, ADA, ML, Prolog, and C++. Students write sample programs in some of the languages studied. The languages are used to illustrate programming language constructs such as binding, binding times, data types and implementation, operations (assignment data-type creation, pattern matching), data control, storage management, parameter passing, and operating environment. The suitability of these various languages for particular programming tasks is also covered. (https://www.cs.stonybrook.edu/students/Undergraduate-Studies/courses/CSE307)

Staff

Instructor: Dr. Christopher Kane
Office: New Computer Science Building, Rm. 107
Office hours: Wednesday, 1:00 - 4:00 PM
Email: christopher.kane@stonybrook.edu


Class Time and Place

  • Tuesday, Thursday, 5:30 - 6:50pm

Lecture Notes and Reading Assignments

The following schedule is tentative and subject to change. The homework assignments are posted on Blackboard: http://blackboard.stonybrook.edu
Week Date Lecture Topics/Notes Readings
1 Tue. 01/28 Administrative information n/a
Thu. 01/30 Introduction to Programming Languages Read textbook ch. 1
2 Tue. 02/04 Python n/a
Thu. 02/06 Python (cont.) [Homework 01 Assigned] n/a
3 Tue. 02/11 SML n/a
Thu. 02/13 SML (cont.) [Homework 01 Due: Friday, 2/14] n/a
4 Tue. 02/18 SML (cont.) [Homework 02 Assigned] n/a
Thu. 02/20 Programming language syntax Read texbook ch. 2
5 Tue. 02/25 Programming language syntax (cont.) n/a
Thu. 02/27 Semantic Analysis I [Homework 02 Due: Sunday, 3/01] Read textbook ch. 4
6 Tue. 03/03 Midterm Exam 01 Review n/a
Thu. 03/05 MIDTERM EXAM 1 n/a
7 Tue. 03/10 Regular Expressions in Programming [Homework 03 Assigned] n/a
Thu. 03/12 Ply n/a
8 Tue. 03/17 Spring Recess: No Class n/a
Thu. 03/19 Spring Recess: No Class n/a
9 Tue. 03/24 Spring Recess: No Class n/a
Thu. 03/26 Spring Recess: No Class n/a
10 Tue. 03/31 Semantic Analysis II (cont.) Read textbook ch. 4
Thu. 04/02 Names, Scopes, and Bindings I Read textbook ch. 3
11 Tue. 04/07 Names, Scopes, and Bindings II (cont.) [Homework 04 Assigned] n/a
Thu. 04/09 Control Flow [Homework 03 Due: Friday, 4/10] Read textbook ch. 6
12 Tue. 04/14 Data Types Read textbook ch. 7
Thu. 04/16 Subroutines and Control Abstraction Read textbook ch. 8
13 Tue. 04/21 Data Abstraction and Object Orientation [Homework 05 Assigned] Read texbook ch. 9
Thu. 04/23 Functional Languages [Homework 04 Due: Friday, 4/24] Read textbook ch. 10
14 Tue. 04/28 Logic Languages Read textbook ch. 11
Thu. 04/30 Logic Languages [Homework 06 Assigned, Homework 05 Due: Monday, 5/4] n/a
15 Tue. 05/05 Logic Languages (cont.) n/a
Thu. 05/07 Logic Languages [Homework 06 Due: Monday, 5/11] n/a
Final  

FINAL EXAM: Wednesday, May 13, 2019, 5:30 - 8:00 PM


Page maintained by Christopher Kane