Dr. Chuck C. Liang
Professor of Computer Science, Hofstra University .
102 Adams Hall
Hempstead, NY 11550
Office Phone: (516 463) 5559
Email: email@example.com (<- click to send me mail)
Official Office Hours: Mon. 1-3pm, Tues, Wedn 2-3pm
Course Syllabus and Goals
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),
F# assignment 3: Parsing and Compiling
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)
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.