Please Reload Every Time You Read This Page!

CSC123/252: Programming Languages, Fall 2011

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

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

Email: cscccl@hofstra.edu (<- click to send me mail)

Official Office Hours: Monday through Thursday 2-3pm


Course Syllabus and Goals

Online Resources:

Lambda calculus in Scheme
Lambda calculus in Ruby
Lambda calculus in Perl
Halting Problem in Lambda Calculus/Scheme


Homework 1.
Scheme lab and assignment.
Perl-Scheme lab and assignment.

C# Assignment 1 with (possibly optional) ADDENDUM
Optional assignment for observer pattern
The Food Assignment. Your xmlwriter visitor should write files consistent with this example.
Food files: foods.cs, foodvisitors.cs aboutfood.cs.

ML-F# .Net integration assignment. Support files: fractions.cs, numlist.fs
Use this fractions.dll if you're having trouble with incompatible binaries.
New F# assignment

AspectJ Assignment.
java version of food visitor for problem B1. (RELOAD FOR UPDATE)
problem B3 of the AOP assignment, with support files figure.java and figs.java. (main is in figs.java).

Submit all programming assignments on blackboard (csc123) (please heed the warning about saving versus submitting)


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:

AspectJ Programs (All required reading)

Other Programs:
C code for linked lists similar to those used in class
Bank accounts using closures in Ruby
Inheritance in pure C, and C#
A poem in C++
Use of pointers and casting in C compared to C++
What mother never told you about templates in C++


Announcements:

Reload food.java for latest, more tolerant version. On some systems, boxing is not fully implemented (won't cast int to Object automatically).

The scheduled time for our final exam is Monday 12/19, 4-6pm (adams 200). Study guide with practice problems and their solutions are available.