| |
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
|
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
close this window
|
 |