Please Reload Every Time You Read This Page!

CSC123/252: Programming Languages, Fall 2009

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 1:30-2:30pm


Course Syllabus and Goals

Online Resources:

Some lambda calculus in Python
Some lambda calculus in Scheme

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)

AspectJ Programs (All required reading)

Other programs:

C code similar to those used in class
Some miscellaneous perl code
More examples of objects: Rational numbers in Scheme, Perl, C++, Java, and C#, and for something really special: rationals in Eiffel : rational.e, rats.e.
Inheritance example (sports teams) in Scheme, Perl, and C#
My artistic side: a poem in C++
Use of pointers and casting in C compared to C++
Templates in C++


Homework 1. due Tuesday 9/15. Sample solutions now available
Scheme lab and assignment. Due 10/1
Perl-Scheme lab and assignment. Due 10/15

C# Warmup Assignment due Thursday 10/22. This is an INDIVIDUAL assignment.
THE HALLOWEEN 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 lab. Support files: fractions.cs, numlist.fs

AspectJ Assignment Part A. Due Wednesday 12/10.
problem B3 of the AOP assignment, with support files figure.java and figs.java. (main is in figs.java).


Announcements:

Final Exam Tuesday 12/15, 4-6pm in Adams 207A. Exam will be proctored by prof. Kamberova together with her csc14 class. Use the exam study guide, with sample solutions to the practice problems.

You are required to read the first two chapters of the AspectJ manual before Thursday 12/3 lab

The F# assignment is due Tuesday after Thanksgiving.

Please read C# installation instructions.

INSTRUCTIONAL VIDEO: Perl closures and objects lecture: Part 1 and Part 2.
NOTE: please don't write "if ($request = "inquiry")..." Use "if ($request eq "inquiry")..." instead.

Instructional video on how to install cygwin on windows. View in full screen mode with screen resolution set to at least 1024x768. Play with Windows media player.