CSCI 430 I03
CSCI 430 Programming Paradigms
A survey of approaches to problem solving using non-imperative language features from the functional, logical, object-oriented, and concurrent paradigms. Laboratory projects in several different languages are required; typical languages covered include LISP (Scheme), ML, Prolog, Java/Smalltalk, Eiffel, scripting languages such as Perl, Python, Ruby, Tck/Tk, and others such as SR, and Erlang.
Note that the GURU Project is one in which each student is assigned a language on which to become the class "GURU" insofar as that is possible in the time frame of the class. Each GURU will give a presentation on their language illustrating its features using code fragments or small projects of their own devising, and each GURU will turn in a report on their GURU Project.
| Week | Class | Lab | Assignments |
| (1) Jan 6 | Scheme Intro | Scheme | GURU Project |
| (1) Jan 7 | -- Topics | Scheme | GURU Project |
| (1) Jan 8 | -- Topics | Scheme | GURU Project |
| (1) Jan 9 | -- Topics | Scheme | Take Home Test |
| (1) Jan 10 | ML Intro | ML | GURU Project |
| (2) Jan 13 | -- Topics | ML | GURU Project |
| (2) Jan 14 | -- Topics | ML | GURU Project |
| (2) Jan 15 | -- Topics | ML | Take Home Test |
| (2) Jan 16 | Java Intro | Java | GURU Project |
| (2) Jan 17 | -- Topics | Java | GURU Project |
| (3) Jan 20 | -- Topics | Java | GURU Project |
| (3) Jan 21 | -- Topics | Java | Take Home Test |
| (3) Jan 22 | GURU Presentations | GURU Project | |
| (3) Jan 23 | Final Exam | Reports Due |