Please Reload Every Time You Read This Page!

CSC123/252: Programming Languages, Fall 2017

Dr. Chuck C. Liang
Professor of Computer Science, Hofstra University .

Office Address:
102 Adams Hall
Hofstra University
Hempstead, NY 11550
Office Phone: (516 463) 5559

Email: (<- click to send me mail)

Official Office Hours: Mon. 1-3pm, Tues, Wedn 2-3pm

Course Syllabus and Goals

Online Resources:

Lambda calculus in Scheme (UPDATED), Lambda calculus in Ruby, Lambda calculus in Perl, Halting Problem in Lambda Calculus/Scheme

Homework 1. Due Thursday 9/14. Due date is absolute as sample solutions will become available after class.
Scheme programming assignment. Use MIT scheme only
Perl-Scheme lab and assignment.
C# Assignment 1. Your multiple inheritance solution must work with multinhasn.dll (compile with csc yourprogram.cs /r:multinhasn.dll)
Expression Tree Assignment
The Triple Dispatch Challenge (extra credit)
F# Tutorial Exercises. This includes the first F# programming assignment.

Second F# programming assignment (AM7B) with test programs test1.7b, test2.7b (shouldn't work), test3.7b, test4.7b, (n!), test5.7b (gcd),

F# assignment 3: Parsing and Compiling

Submit all programming assignments (but not first assignment) on blackboard (csc123) (but not the first homework, which is a written assignment).

More Scheme Programs (files in bold are required reading)

Perl Programs (supplements the Perl tutorial. Files in bold are required reading)

C# Programs ( Files in bold are required reading)

F# programs:

Other Programs:
C code for linked lists similar to those used in class
Closures and C.
Inheritance and dynamic dispatch in pure C, and C#
A type error in four languages: scheme, perl, C, C#
Multiple Inheritance in C++
A poem in C++
trying stuff with Swift
About templates in C++ with compiled assembly
Contravariance in Java 1.8


Midterm exam Thursday November 2nd. Use the study guide with practice problems and sample solutions