Csc 4330/6330, Programming Language Concepts (Spring 2020)

Instructional Staff

Instructor: Raj Sunderraman; Room 629, 1 Park Place; raj@cs.gsu.edu; Office hours: Monday/Wednesday 2.30 pm to 4:00 pm
TA: Mr. Viachaslau, Tsyvina (Slava); Room 618, 1 Park Place; vtsyvina1@student.gsu.edu; Office Hours: Tuesday 2-4 PM

Google Group
YouTube Playlist (Video Lectures)

Course Details

Syllabus
Textbook: Robert W. Sebesta, Concepts of Programming Languages, 11/E, Pearson, 2016.
Secure Shell Client for Windows
Another lightweight SSH slient(Windows/Unix)
Homework Submission Guidelines
Graduate Project

Final Exam

Course Materials

FUNCTIONAL PROGRAMMING (LAMBDA CALCULUS AND SCALA)

Scala

Scala Download and Documentation
Scastie - Online Scala Playground

Scala Notebook 1 (html) (Video Lectures on iCollege and YouTube: Scala30March-1, -2, -3)
Home Quiz 1 (Due: April 8, 2020 - Wednesday)
Scala Notebook 2 (html) (Video Lectures on iCollege and YouTube: Scala6April-1, -2, -3)
Home Quiz 2 (Due: April 15, 2020 - Wednesday) (HQ2-Hints Video)
Scala Notebook 3 (html) (Video Lectures on iCollege and YouTube: Scala13April-1, -2, -3, -4, -5)
Home Quiz 3 (Due: April 22, 2020 - Wednesday)
Scala Notebook 4 (html) (Video Lectures on iCollege and YouTube: Scala20April-1, -2, -3, -4, -5)
Home Quiz 4 (Due: April 29, 2020 - Wednesday)

Scala Jupyter Notebooks

Lambda Calculus

Lambda Calculus (Thanks Vida Movahedi, York University!)
Lambda Calculus (Some Examples)
Lambda Calculus (Beta Conversion Trees)
Lambda Calculus Review Video
Homework 5 (Due: March 31, 2020 - Tuesday) (HW5-Hints Video)

PRELIMINARIES/SYNTAX/SEMANTICS/GRAMMARS/LEXICAL ANALYSIS/PARSERS

Chapter 1: Preliminaries
Chapter 3: Describing Syntax and Semantics, King Slides
PLY (Python Lex-Yacc)
With-Arithmetic-Expressions (WAE) in PLY
Homework 1 (Due: January 28, 2020 - Tuesday)
Homework 2 (Due: February 11, 2020 - Tuesday)
Homework 3 (Due: February 25, 2020 - Tuesday)
Homework 4 (Due: February 28, 2020 - Friday)
Chapter 4: Lexical and Syntax Analysis
Phrases Example and identification of the handle (Thanks, Ailany!)
Hand Coded Lexer, Recursive Descent Parser