Programming Paradigms: COSC 450 (4)
A study of three programming paradigms and their associated languages: the functional paradigm with Common Lisp, the logical/declarative paradigm with Prolog, and the concurrent processing paradigm with Java.
Prerequisite: COSC 221
Hours | Topic |
---|---|
Functional Paradigm with Common Lisp (16 hours) | |
4.0 | Common Lisp syntax, lists, S-expressions, recursion |
4.0 | Functions, lambda-expressions, closures |
4.0 | Function mapping, control blocks, lexical scoping, dynamic scoping |
4.0 | Input/Output, macros, symbolic processing |
Logical/Declarative Paradigm with Prolog (15 hours) | |
3.0 | Prolog syntax, unification and variable instantiation, back-tracking |
1.0 | Declarative and procedural semantics |
2.0 | Static and dynamic predicates |
1.0 | Input/Output |
4.0 | Lists and structures |
4.0 | Application to artificial intelligence |
Concurrent Processing Paradigm with Java (16 hours) | |
4.0 | Java syntax, Java threads |
1.0 | Process synchronization |
2.0 | Deadlock, live-lock, and indefinite postponement |
2.0 | Semaphores |
2.0 | Monitors |
3.0 | Synchronization design patterns |
2.0 | Java event-driven programming |
Total: 47.0 hours, excluding holidays, review sessions, and exams
*Fifty-minute class hours