Responsible for this page: Jalal Maleki, jma@ida.liu.se
Page last updated: 2006-09-26
LiU » IDA » Undergraduate » Course » TDDC60 » Course Materials


A - Z | More search functions

[ Go to content ]
Go to LiU.se

TDDC60 (2006/07)

LiU » IDA » Undergraduate » Course » TDDC60 » Course Materials

TDDC60 Programming: Abstraction and Modelling

Course Materials


On this page students will find the following course materials:

Course Documents

Students will need to download the following course-materials:

The table below gathers the different course-documents in one place. Here you can find various course-related documents, scheme files, and other downloads. Every student is responsible to know and understand the contents of all the course materials.

Links to the material will be added continously during the course, therefore remember to 'refresh' your browsers frequently.


 Week
Lectures
Labs
Tutorials
Supplements
34
Lecture 1 00 Lab Assignment Tutorial 01
35
Lecture 2
Lecture 3
01 Lab Assignment
36
Lecture 4
01a Lab (optional)
ipd-helper.scm
Tutorial 02
37
05: Structured Data SICP: 79-113
06: Data Abstraction SICP: 79-126
02 Lab Assignment
quicksort-skel.scm
music-db.scm
Tutorial 03
38
07: Working with Symbolic Data SICP: Pages 145-187 02a Lab (optional)
media-dbs.scm
table-helper.scm
Tutorial 04
39
08: State-Based Programs and State-Based Model of Computation SICP 217-250
09: State-Based Programs and State-Based Model of Computation SICP 217-260
03 Lab Assignment
interaction-utils.scm
html-helper.scm
Tutorial 05
40
10: Abstraction and Modelling Using Objects SICP 251-260
11: Queues, Tables, Streams SICP 251-270, 317-344
04 Lab Assignment
object-system.scm
sample-personalities.scm
Tutorial 06
41
No lectures. 05 Lab Assignment
optional



Course Text

The course text is Structure and Interpretation of Computer Programs (2/e),
Harold Abelson, Gerald Jay Sussman with Julie Sussman, MIT Press, 1996. (also known as "SICP" or "the wizard book") and is available at LIU bookstores -- and the full text is also freely available online.

Many people consider this to be the single best computer-science textbook. It is also the classic book on Scheme. Learn it, love it, live it :-)

(Note: there are two bookstores at LIU -- and if one does not have any copies of the book, try the other one. If you decide to buy the book off the internet, the ISBN number is 0-262-51087-1. Do not buy the SICP "Instructor's Manual" by mistake. And, no, the "instructors manual" does not include "secret answers for exercises and tests." It includes additional exercises and teaching suggestions.)


Dr. Scheme

In this course we will support and assume that you are using Dr. Scheme (version 209), which is an IDE (Integrated Development Enviroment) which includes MzScheme, one of many implementations of the programming language Scheme.

Using Dr. Scheme at IDA

To install Dr. Scheme at IDA, do the following:
  1. Open a terminal
  2. Type module add prog/drscheme/209
  3. Type module initadd prog/drscheme/209
  4. Type drscheme &

Dr. Scheme should now start. You are first asked to choose the appropriate language, then you should do the following when asked for a programming language: Under the heading 'Professional Languages' choose PLT and select Textual (MzScheme, includes R5RS), then click ok.

If you fail to choose the correct language the first time you can always do it from within Dr. Scheme under the language menu. Remember to click run when you are done with this, otherwise any code you type in the Interactions window (the lower one) will still use the old language setting.

The next time you log in to your account you only need to type drscheme & in a terminal.

Installing Dr.Scheme at home

If you want to use Dr. Scheme at home you can download from the PLT Website. Select the version and platform appropriate for you, download and install. We use version 209 at IDA, therefore it is recommended that you use that at home as well. If you decide to download version 299 or higher, remember to choose the correct case sensitivity settings as specified in the PRAM Coding Guidelines as 299+ enables case sensitivity by default.

Dr. Scheme tutorial

There is a brief tour of the Dr. Scheme environment; the same information can be found within Dr. Scheme itself. (Obs! The tour emphasizes different "language levels". Using Dr. Scheme with the language level set to "Beginning Student" can be helpful if you would like to use Dr. Scheme's "Stepper" tool. However, be aware that many of our course exercises assume that you are using Dr. Scheme with the language level set at "Advanced Student" or higher. Switching language levels is easy.)


Additional Resources

  • Useful Web Sites. Schemers.org is a well-maintained site with links to all the major Scheme-related resources.
  • Scheme Newsgroup. The main Internet newsgroup for scheme is comp.lang.scheme (note: the link opens the newsgroup in Google groups).
  • Jargon. For more information about some of the "strange words" you hear in this course, check the "jargon file." (Example: the meaning of "RTFM" or "foo" or "grok")