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
Lambda calculus in Scheme
Lambda calculus in Ruby
Lambda calculus in Perl
Halting Problem in Lambda Calculus/Scheme
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:
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
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)