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.

Schedule

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