Fall 2010 Semester

"A paradigm is a set of rules or expected actions used to solve problems.
After time, the paradigm becomes the norm and thus drives the way we act in certain circumstances,
many times without [our] thinking or justifying our actions.
We simply trust the paradigm."

From http://willtheybuyagain.wordpress.com/2008/03/22/xcs-a-new-paradigm-kind-of/

KSU CIS505:
Programming-Language Paradigms

Lectures: MWF 2:30pm, Nichols Hall, room 19

Instructors:
Torben Amtoft (tamtoft AT ksu DOT edu, phone: 532-7917), 219C Nichols

Xinming (Simon) Ou (xou AT ksu DOT edu, phone: 532-7941), 316B Nichols

Teaching assistant: Vineet Tadakamalla ( vineet AT ksu DOT edu ), 16 Nichols.

Important: Ou will teach the first quarter of the course, Amtoft will teach the middle half, and Ou will finish. Please consult the course web page for assignments and announcements.

Syllabus | Schedule


Office hours:
Torben Amtoft: Tuesday 1-3pm or by appointment
Simon Ou: Friday 9-11am or by appointment
Vineet Tadakamalla: Thursday 2-4pm


Text Materials

Software Support

We will conduct case studies in these programming languages:
  1. Python: Python is a dynamically typed and structured language, and it supports imperative, declarative, and o-o programming. It is great for doing small- and medium-sized programs quickly.
    * Here is some tutorial material. and a a summary of Python's basic capabilities
    * Your computer might already have Python installed; please read Installing Python to check for Python and install it if needed.
    * This nice on-line book, The Python Standard Libary, shows you how to use Python to do clever systems hacking and gluing, the sort of stuff not normally taught in courses but is hugely useful in practice.

  2. ML: ("MetaLanguage") is a functional language that cleverly combines compile-time type checking with dynamic data structures.
    * A comprehensive reference is your textbook.
    * You will likely need to install ML on your computer; try one of these:

  3. Prolog: The classic logic-programming language. You must see it to believe it.
    * The XSB prolog system has been installed on the departmental Linux machines.
    * Here is some intro material on Prolog.
    * Another easy-to-install implementation: www.swi-prolog.org.
    * This material is oriented towards using SWI Prolog: PLPM, St. Etienne, France | CSC485, Univ. Toronto