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
Exam 1 Practice Problems

III. Haskell

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

Homework Assignment 3 Due: October 9th, Friday
Project 1 (Binary Relations) Due: November 1st, Sunday

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