Please Reload Every Time You Read This Page!

CSC123/252: Programming Languages, Fall 2015

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: cscccl@hofstra.edu (<- click to send me mail)

Official Office Hours: Monday through Wednesday 1:30-2:30pm


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. Due Wednesday 9/16. 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)

Optional Halloween Assignment

The Food Assignment. Your xmlwriter visitor should write files consistent with this example.
Food files: foods.cs, foodvisitors.cs aboutfood.cs.
FSA hint for checking sorted list

F#/C# integration assignment. Supporting files: base F# program, fractions.dll, fractions.cs (recompile only if there are version compatibility issues)
Parsing and Compiling F# assignment

AspectJ Assignment
AspectJ Assignment part B, with associated Java base files figure.java and figs.java

Submit all programming assignments 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:

AspectJ Programs

Other Programs:
C code for linked lists similar to those used in class
Closures and C.
Inheritance in pure C, and C#
Multiple Inheritance in C++
A poem in C++
Use of pointers and casting in C compared to C++
Visitor Pattern Class Exercise Base Program
About templates in C++
Contravariance in Java 1.8


Announcements:

Final Exam Wednesday 12/16 at 6:15pm. Study guide with practice problems and sample solutions are available.

Reload parser14.fs for latest version

Some video lectures on F#: fsharp1.wmv, catfsm.wmv, parser1.wmv, and maxop.wmv. The parser1 video should be especially helpful on the parser assignment.

Midterm exam Monday 11/2. Study Guide with practice problems and sample solutions available.

Himanshu Dhameliya (hdhameliya1@pride.hofstra.edu) is available to tutor this class Tuesdays and Thursdays 5-7pm. He'll be in 204.

Video Lecture on OOP Design Patterns. Watch if you're not familiar with basic design patterns such as the Observer Pattern. Open with wmp or vlc (latest version)