CSE307: Principles of Programing Languages

Spring 2019


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)

Youtube channel for past offering of the class:https://www.youtube.com/playlist?list=PLRvJ_2dlxL9HXKOSHPTP_1suj0jQbgmcQ


Instructor: Dr. Paul Fodor
214 New Computer Science Department, Stony Brook University
Office hours: Mondays and Tuesdays 3:30-5pm
Email: paul.fodor@stonybrook.edu

Class Time and Place

  • Lectures section 1: MoWe 5:30-6:50pm.
  • Lectures section 2: MoWe 7-8:20pm.

Lecture Notes and Reading Assignments

The following schedule is tentative and subject to change. The homework assignments and labs are posted on Blackboard: http://blackboard.stonybrook.edu
Week Date Lecture Topics/Notes Readings
1 Mo. 1/28 Administrative information ABET
Wed. 1/30 Introduction to Programming Languages Read texbook ch. 1, Prolog , Latex
2 Mon. 2/4 Python n/a
Wed. 2/6 Python (cont.) n/a
3 Mon. 2/11 SML n/a
Wed. 2/13 SML (cont.) n/a
4 Mon. 2/18 SML (cont.) n/a
Wed. 2/20 Programming language syntax Read texbook ch. 2
5 Mon. 2/25 Programming language syntax (cont.) n/a
Wed. 2/27 REs in Programming n/a
6 Mon. 3/4 Midterm 1 Review See Blackboard here:http://blackboard.stonybrook.edu
Wed. 3/6 MIDTERM EXAM 1: in classroom, during class time (80 minutes) n/a
7 Mon. 3/11 Semantic Analysis Read texbook ch. 4
Wed. 3/13 Semantic Analysis (cont.) n/a
8 Wed. 3/18-24 Spring Recess See Stony Brook Calendars here: http://www.stonybrook.edu/commcms/registrar/calendars/academic_calendars.html
9 Mon. 3/25 Semantic Analysis (cont.) n/a
Wed. 3/27 Names, Scopes, and Bindings Read texbook ch. 3
10 Mon. 4/1 Names, Scopes, and Bindings (cont.) n/a
Wed. 4/3 Control Flow Read texbook ch. 6
11 Mon. 4/8 Data Types Read texbook ch. 7 and 8
Wed. 4/10 Subroutines and Control Abstraction Read texbook ch. 9
12 Mon. 4/15 Midterm 2 Review See Blackboard here:http://blackboard.stonybrook.edu
Wed. 4/17 MIDTERM EXAM 2: in classroom, during class time (80 minutes) n/a
13 Mon. 4/22 Data Abstraction and Object Orientation Read texbook ch. 10
Wed. 4/24 Functional Languages Read texbook ch. 11
14 Mon. 4/29 Logic Languages Read texbook ch. 12
Wed. 5/1 Logic Languages (cont.) n/a
15 Mon. 5/6 Logic Languages (cont.) n/a
Wed. 5/8 Final review See Blackboard here:http://blackboard.stonybrook.edu


Section 1: Wednesday May 15, 2019, 8:30-10:30 PM, (2 hours final exam), in classroom

Section 2: Tuesday May 21, 2019, 5:30-7:30 PM, (2 hours final exam), in classroom

See Final Exams University Schedule here: http://www.stonybrook.edu/commcms/registrar/registration/exams.html

Page maintained by Paul Fodor