Getting Started

Now that you have mastered ``How to Design Programs'',1 you may wonder how to write some useful programs such as the ones you use on a daily basis. These programs read existing files; write new files; pop up windows; talk to your friend's computer and download the latest music; or they turn your computer into a server of your favorite paintings and poetry.

Designing such programs isn't difficult, based on what you know. It requires practice with the iterative refinement method and the design recipes. It also requires knowledge about Scheme's already available libraries of functions.

This tutorial bridges the gap between the basic steps of how to design programs and how to design large programs that interact with all kinds of items in our computer and the network to which it is connected. It will introduce you to some pretty basic ideas, such as file input and output, to more advanced things, such simple GUI design and Web scripting. As you learn to use these aspects of Scheme, don't forget ``How to Design Programs.''

0.1  Prerequisites

What do we need? Scheme w/o I/O, no libraries.

0.2  Teaching Languages versus Full Scheme

0.3  Help Desk

0.4  Collections

0.5  Scheme is MzScheme

1 Or you have heard of Scheme, know a bit about it, and are curious.