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: Mon. 1-3pm, Tues, Wedn 2-3pm
Lambda calculus in Scheme (UPDATED),
Lambda calculus in Ruby,
Lambda calculus in Perl,
Halting Problem in Lambda Calculus/Scheme
Second F# programming assignment (AM7B) with
test programs test1.7b,
test2.7b (shouldn't work),
test3.7b,
test4.7b, (n!),
test5.7b (gcd),
F# assignment 3: Parsing and Compiling
AspectJ Assignment
AspectJ Optional Assignment, with associated
Java base files figure.java and figs.java
Submit all programming assignments (but not first assignment) 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 and dynamic dispatch in pure C, and C#
A type error in four languages: scheme,
perl, C, C#
Multiple Inheritance in C++
A poem in C++
trying stuff with Swift
About templates in C++ with compiled assembly
Contravariance in Java 1.8
Exploring AOP-like features in java-ish languages: decorator design pattern, .Net Attributes,
dynamic delegates
Reflection in Java and how it can be stopped with AspectJ.
Basis for class exercise ObserverPattern in AspectJ, with main class
Final Exam Thursday 12/14, 6:15-8:15pm in Adams 208. Use the study guide with practice problems and sample solutions. Solutions to Fsharp quiz also available.
Review Session Tuesday 12/12 6:15-7:30pm.