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