CSE 216-02 - Programming Abstractions

Spring, 2024

Syllabus


If you are not registered but want to attend the class, email the instructor.


Course Description

Intermediate-level programming concepts and paradigms, including functional programming, object-orientation, basics of type systems, memory management, program and data abstractions, parameter passing, modularity, and parallel programming. Includes weekly recitations, which provide students with experience in the practice of programming in a variety of high-level languages.
(https://www.cs.stonybrook.edu/students/Undergraduate-Studies/courses/CSE216)

Staff

Instructor: Dr. Christopher Kane
Office: New Computer Science Building, Rm. 107
Office hours: Monday/Wednesday: 3:30 - 5:00 PM, or by appoinment
Email: christopher.kane@stonybrook.edu


Class Time and Place

  • Tuesday/Thursday: 4:00 - 5:20 PM
  • Engineering, Rm. 145

Lecture Notes and Reading Assignments

The following schedule is tentative and subject to change. The homework assignments are posted on Brightspace: https://mycourses.stonybrook.edu/d2l/login
All chapter references are to Scott, Programming Language Pragmatics, 4e.
Week Date Lecture Topics/Notes Readings
1
No Recitation
Tue. 01/23 Introduction n/a
Thu. 01/25 Programming Paradigms Chapter 1
2
No Recitation
Tue. 01/30 Lambda Calculus Chapter 2, Chapter 11
Thu. 02/01 Lambda Calculus (cont.) n/a
3
Recitation 01
Tue. 02/06 Lambda Calculus (cont.) n/a
Thu. 02/08 Functional Programming with OCaml Chapter 11
4
Recitation 02
Tue. 02/13 Functional Programming with OCaml (cont.) n/a
Thu. 02/15 Functional Programming with OCaml (cont.) n/a
5
Recitation 03
Tue. 02/20 Types Chapter 7
Thu. 02/22 Types (cont.) n/a
6
Recitation 04
Tue. 02/27 Types (cont.) Chapter 8
Thu. 02/29 Types (cont.)
7
Recitation 05
Tue. 03/05 Types (cont.) Chapter 5
Thu. 03/7 Midterm Exam 01 n/a
8 Tue. 03/12 Spring Break - No Class n/a
Thu. 03/14 Spring Break - No Class n/a
9
Recitation 06
Tue. 03/19 Polymorphism Chapter 10
Thu. 03/21 Polymorphism (cont.) n/a
10
Recitation 07
Tue. 03/26 Polymorphism (cont.) n/a
Thu. 03/28 Polymorphism (cont.) n/a
11
Recitation 08
Tue. 04/02 Polymorphism (cont.) n/a
Thu. 04/04 Operational Abstractions Chapter 6, Chapter 10, Chapter 11
12
Recitation 09
Tue. 04/09 Operational Abstractions (cont.) n/a
Thu. 04/11 Subroutines and Control Abstractions Chapter 9
13
Recitation 10
Tue. 04/16 Subroutines and Control Abstractions (cont.) n/a
Thu. 04/18 Midterm Exam 02 n/a
14
Recitation 11
Tue. 04/23 Object-Orientation in Python Chapter 10
Thu. 04/25 Object Orientation in Python (cont.) n/a
15
Recitation 12
Tue. 04/30 Object-Orientation in Python (cont.) n/a
Thu. 05/02 Object-Object-Orientation in Python n/a
Final FINAL EXAM: Thursday, May 9th, 2024, 5:30 PM - 8:00 PM n/a

Last Update: January 24, 2024
Page maintained by Christopher Kane