Csc344 (PL) Spring 2022: Selected Courses Documents


Course Infrastructure  --  Course Syllabus ♦ Suggested Process of Engagement ♦ Special Covid Related Note ♦ Csc344 CSA Note ♦ Csc344 TA Note

Exam Related Materials  --  Notes on Exam 1 ♦ Practice Exam 1 ♦ Notes on Exam 2 ♦ Exam 2 Structure ♦ Final Exam Structure and Notes

Miscellaneous Assignments  --  Web Work Site Assignment ♦ BNF Assignment ♦ Memory Management / Perspectives on Rust and Template

Racket Assignments  --  Racket Programming Assignment #1: First Interactions and Model solution document ♦ Racket Programming Assignment #2: Racket Functions and Recursion ♦ Racket Programming Assignment #3: Lambda and Basic Lisp ♦ Racket Programming Assignment #4: Recursive List Processing and Higher Order Functions

Prolog Assignments  --  Prolog Programming Assignment #1: Various Computations and Pokemon KB ♦ Prolog Programming Assignment #2: State Space Problem Solving

Haskell Assignment  --  Haskell Programming Assignment: Various Computations and ditdah.hs

Miscellaneous Lessons  --  On the Design of the Course ♦ BNF

Racket Lessons  --  Introduction to Racket and Dr Racket ♦ Function Definition in Racket ♦ Recursive Functions in Racket ♦ Lisp ♦ Racket Flavored Historical Lisp ♦ Basic Lisp Programming ♦ Recursive List Processing ♦ Higher Order Functions

Prolog Lessons  --  Introduction to Prolog ♦ About Prolog ♦ Map Coloring ♦ Free Floating Shapes World ♦ List Processing ♦ The Maze ♦ State Space Problem Solving

Haskell Lessons  --  Introduction to Haskell ♦ Playing with Lists / Pattern Matching / Definitions ♦ List Comprehensions ♦ Higher Order Functions

Solutions to Selected Exercises  --  BNF grammar for QN (Quaternary Numbers) ♦ BNF grammar for SL (Sign Language)