CSC 4980/6980, Functional Programming - Fall 2026

Course Details

Instructor: Raj Sunderraman; Room 629, 1 Park Place; raj@gsu.edu
Time: Monday/Wednesday 12.30 pm to 2.15 pm
Location: Classroom South 306
Office hours: Monday/Wednesday 2.30 pm to 4.00 pm. If you cannot make it at any of these times, please email.

Syllabus
Handin Instructions
Functional Rhyme

III. Haskell

Simply Typed Lambda Calculus, Polymorphic Lambda Calculus, Type Systems, Notes
Slides (Ch. 1-8, Hutton book), Hutton book
Haskell Install

II. Lambda Calculus

Lambda Calculus Slides || Lambda Calculus: 6 videos
Booleans, Church Numerals, Data Structures, Y-Combinator in Lambda Calculus
Command Line Lambda Calculus Interpreter with "named" expressions || FormalViz GitHub || Paper describing these software
Lambda Calculus (notes from University of Wisconsin)

Lambda Calculus, Pure Functional Programming in Python

Booleans, Church Numerals, Data Structures, Y-Combinator in Python
Pure Functional Programming in Python, Code from paper

Other Models Of Computation

RAM Model
Turing Machine

Homework Assignment 2 Due: September 13th, Sunday
Homework Assignment 1 Due: September 27th, Sunday

I. Python Lexer and Parser Generator (ply package)

Python PLY Notes || Lecture Videos: 8 videos || PLY Example Code