Contents

    Getting Started
        0.1  Prerequisites
        0.2  Teaching Languages versus Full Scheme
        0.3  Help Desk
        0.4  Collections
        0.5  Scheme is MzScheme

I  File Input and Output

    1  Input and Output: S-expressions
        1.1  Basic Input and Output
        Bad Inputs
        1.2  Redirecting Input and Output
        1.3  Pretty Printing

    2  Input and Output: XML and X-expressions

    3  Input and Output: The Conventional Way
        3.1  Pre-1958 Input and Output: The Lazy Approach
        3.2  More on Plain Text Input/Output

    4  Reading and Writing Binary Data

II  Ports

    1  Ports

    2  Files and Ports

    3  Strings and Ports

    4  Networking and Ports

    5  Creating Your Own Ports

III  Strings and Regular Expressions

IV  Scheme Programs and Shell Scripts

    1  How to Run It All

    2  Command-Line Arguments

    3  Putting Everything Together

V  Files and Directories

VI  CGI Scripts

    1  CGI Scripts Without Inputs

    2  CGI Scripts With Inputs

    3  Interactive CGI Scripts

VII  Threads and Custodians

VIII  Modules and Collections

IX  Classes and Interfaces
        0.1  Simple Graphical User Interfaces (GUIs)
            0.1.1  Elements of Graphical Dialogues
            0.1.2  Elements of Graphical Dialogues: Details
            0.1.3  Parallel Actions, Events, and Semaphores
            0.1.4  Designing a Simple Grader Dialogue
        0.2  Why map?
        0.3  How to Run It All, Again

X  The Graphics Toolbox

XI  COM Scripting and Dynamic HTML

    1  Installing MysterX

    2  Loading MysterX

    3  MysterX browsers

    4  MysterX documents

    5  Document elements

    6  HTML event handling

    7  COM classes and objects

    8  COM event handling

XII  Networking

XIII  Units and Components

XIV  Interfacing to Database

XV  Interacting with the World of Bits