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: Tuesdays, Wednesdays, Thursdays 1-2pm or by appointment
Course Syllabus and Goals
Lambda calculus in Scheme (UPDATED),
Lambda calculus in Ruby,
Lambda calculus in Perl,
Halting Problem in Lambda Calculus/Scheme
F# Interpreter/Compiler Assignment and base program (F# assignment 3). dll of base program
Sample compiled programs for booleans, if-else, let and lambda expressions:
eq.7b, let.7b, let2.7b, lambda.7b
AspectJ Assignment (Updated with error corrections)
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# and Scala programs:
Rust and Related Programs:
AspectJ Programs
Other Programs:
Three versions of Fibonacci function and compiled assembly. Illustrating tail recursion optimization.
More notes and examples of writing loops using
tail recursion
Scheme style linked lists in C
Are there closures in C?
Simulating dynamic scoping with static scoping in C
and Python
Inheritance and dynamic dispatch in pure C (simulated) (alt version), and C#,
Kotlin
A type error in a few languages: scheme,
perl, C, C#, and Kotlin
Multiple Inheritance in C++ and in
Kotlin
Expression Trees in Kotlin
Extension methods in C# and in
Swift
Reflection in Java (with new screenplay)
About templates in C++ with compiled assembly
Final exam Tuesday 12/17, 4-6pm in regular classroom, proctored by prof. Kamberova. Use the Study Guide (may be updated) with practice problems and sample solutions. Review Sesson Tuesday 12/10, 4:15-5:30pm, location TBA. Come with questions.
There will be a short QUIZ on F# basics Tuesday 11/12. It will not be difficult if you've studied and did the tutorial exercises.
Midterm exam Thursday 10/24. Use the exam study guide with practice problems and sample solutions, which are NOW AVAILABLE. Review Session Common Hour Wednesday in Adams 204