CISC 260: Programming Paradigms
Resources
Winter 2006

Textbook Linux Hugs (Haskell tool) Online Haskell References SWI-Prolog Online Prolog References Text Editors
Textbook:
The textbook for this course is "Programming Paradigms", available at the Queen's book store. This is a custom text, not available elsewhere. It consists of selections from a Haskell text and a Prolog text. That saves you from having to buy two textbooks. A few students last year told me they would rather have had both textbooks in entirety. If you're interested in buying the original texts, they are: Both books are available from amazon.ca and chapters.indigo.ca. There are other Haskell and Prolog texts on the market, but they don't all cover the same topics in the same order, so they might not fit as well with this course.

Linux:
Some of you are experienced Linux users and some others may have experimented with Linux briefly. I'd like to encourage those of you who haven't tried Linux to try it out this term. Knowledge of Linux may be useful in later courses, and it's a nice thing to be able to put on a C.V. when you're looking for a job. I feel that CISC 260 is a particularly appropriate course in which to learn Linux. Both of the programming tools you'll need for the course have good Linux versions. More than that, you can consider the Linux shell (the command line interface) to be a different operating system paradigm -- different from the GUI interfaces you're used to. While learning different programming paradigms, you can be learning a bit about a new operating system paradigm at the same time!

If you don't have a Linux computer, you can access the CASLab Linux computers over the Internet. There are instructions on the CASLab web site. I wrote some notes about using Linux at Queen's for my 121 and 124 students, which may be useful to you: A Quick Intro To Linux. It contains links to the relevant CASLab web pages, tells you how to access the CASLab Linux machines and gives a very basic introduction to the Linux command line.

Here are some other more general Linux references that might be helpful. Please note that Linux is an open-source version of the UNIX operating system, so UNIX tutorials apply to Linux as well.

While I encourage you to give Linux a try, it's not a required part of CISC 260. You can do all the course work on Windows or a Mac if you prefer.

Hugs:
The tool to use for running Haskell is Hugs 98. I will be demonstrating the use of Hugs during lectures. Hugs is available for Windows, Linux and Macintoshes. Both the Windows and Linux versions are available on CASLab machines. You can download the version of your choice for your home computer from http://haskell.cs.yale.edu/hugs. There are other Haskell interpreters and compilers available, but please don't use them for CISC 260. The Haskell language and libraries are not completely standardized and if we all use the same tool we will avoid huge amounts of confusion. Marking of assignments, quizzes and exams will assume you're writing Haskell for use in Hugs.

Online Haskell References:

SWI-Prolog:
The tool to use for running Prolog is SWI-Prolog. I will be demonstrating the use of this tool during lectures. SWI-Prolog is available for Windows, Linux and Macintoshes. Both the Windows and Linux versions are available on CASLab machines. You can download the version of your choice for your home computer from http://www.swi-prolog.org/. There are other Prolog interpreters and compilers available, but please don't use them for CISC 260. Prolog tools vary greatly and if we all use the same tool we will avoid huge amounts of confusion. Marking of assignments, quizzes and exams will assume you're writing Prolog for use with SWI-Prolog.

Online Prolog References:
Text Editors:
When running either Hugs or SWI-Prolog on Windows, you need a text editor to create and edit your programs. The default is Notepad, which comes with Windows. There are fancier editors you can try if you want. My favorite, which I'm using for in-class demos, is Notepad++. Many students in the past have told me they like using TextPad. I'm sure there are more out there. Anything that will let you produce a plain text file is OK.

If you're using Linux, there are many, many text editors available. Among long-time Linux/Unix users, choice of text editor can be almost a religious issue! Emacs and Vi are very powerful editors and have many devoted users, but they take a while to learn how to use effectively. If you aren't already acquainted with one of these, I'd stick with a simpler one. If you're using a CASLab Linux machine in the graphics mode, right-click on the desktop, then choose "Programming" and then "Text Editors" and you'll see a long list. Scite is a nice easy one to start with. If you're using the command line only with no graphics (for example, if you're accessing CASLab via Putty), scite and many of the other editors won't work. Type "pico" to the command line and you'll get a very basic but useable editor.

back to home page


This page maintained by Margaret Lamb, Queen's University, Kingston, Ontario.  Last modified