CIS505 Fall 2010 Lecture Notes
CIS505 Lecture Notes: Introduction to Programming-Language Paradigms
|
Here is a set of lecture notes meant to serve as
a Programming-Language Principles/Paradigms text.
There are some rough edges here, but remember that
I am saving you $100 that you would otherwise be spending for a textbook....
Here are some links to programming languages
that are likely to be used during the course:
-
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
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.
-
* Here is the
download page
for a free copy of Python. Download version 2.6.5 or 2.7.0.
(The 3.X versions use syntax incompatible with the examples in the course
notes.)
-
* 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.
-
-
ML:
("MetaLanguage") is a functional language that cleverly
combines compile-time type checking with dynamic data structures.
-
* Here is some on-line reference material:
(1)
(2) |
(3)
-
* You will likely need to install ML on your computer;
try one of these:
-
SML New Jersey (claims to work
on any of Windows, Mac, Linux)
-
Moscow ML.
(supposedly a ``lighter'' version of ML; works with Windows and Linux)
-
MLton (Linux, Unix, Mac)
-
Prolog: The classic logic-programming language.
You must see it to believe it.
-
* Here is a good, easy-to-install implementation:
www.swi-prolog.org.
-
* Here is some
intro material on Prolog that I wrote for my CIS301 students.
-
* This material is oriented towards using SWI Prolog:
PLPM, St. Etienne, France |
CSC485, Univ. Toronto
(We assume you already know well either Java or C#. If not, please go study one of them.)
David Schmidt, das at ksu.edu, July 2010
Sample exercises from Fall'09