Please Reload Every Time You Read This Page!

CSC123/252: Programming Languages, Fall 2010

Dr. Chuck C. Liang
Associate 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
Halting Problem in Lambda Calculus/Scheme

More Scheme Programs (files in bold are required reading)

Ruby Programs C# Programs ( Files in bold are required reading)

Other Programs:
C code for linked lists similar to those used in class
Inheritance in pure C, and C# (compare to Ruby above)
OOP support in Perl
My artistic side: a poem in C++
Use of pointers and casting in C compared to C++
Templates in C++

Some F# programs:
teams.fs and btrees.fs
Expression trees and foodlists
misc.fs
inline calculator with shift-reduce parser

AspectJ Programs (All required reading)


Homework 1. now with sample solutions
Scheme lab and assignment.
Ruby-Scheme lab and assignment.
C# Warmup Assignment Due 10/12. Now with ADDENDUM
Optional assignment
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 Part A.
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)


Announcements:

Final exam is Thursday 12/16 from 6:15-8:15pm in Adams 200. Professor Fu will proctor the exam. Study guide with practice problems and their solutions are available. While I'm away, I will check the blackboard discussion board for questions at least during the weekend before the exam.

All programming assignments must be submitted to blackboard by Friday 12/17