Scheme Information

We will use the DrScheme implementation and programming environment in CSE 340. It is installed in the following labs. You can get the combination to these labs from the CETS office (Moore 169) by showing your Penn ID card.

  • Moore 207 Linux lab
    • Type "drscheme" to start
    • The front of the room is reserved for CIS graduate students, but the back of the room is available to anyone with an Eniac account.
  • CETS PC labs in Towne 142 and 144
    • Choose Start-> Course Specific Software -> CIS -> DrScheme 2.03)

You may also install and use DrScheme on your own computer. It is freely available for many platforms, including Windows, Linux and OS X.

Getting Started With DrScheme

  • The first time you start DrScheme you will have to choose languages. After selecting the language for interaction, make sure you select the Scheme version called "Essentials of Programming Languages (2nd ed.)"
  • DrScheme supports Language Levels. Make sure the bottom window says "Essentials of Programming Languages (2nd ed.)" when you run your homework assignments.
  • DrScheme has an interactive environment. The top window is an editor. Once you have written your program, you may use the "execute" button to run it. After doing that, you may also use the scheme interpreter in the bottom window to run your functions on different inputs without reloading your entire file.
  • If you wish, you may use your own editor to write Scheme programs. Use (load "filename.scm") at the DrScheme prompt to execute your program.

more information about Scheme

DrScheme web page
plt-scheme mailing list
PLT Scheme

  • The implementation of Scheme that we will use for this course and the mailing list for users of that implementation.

Online Books

  • Teach Yourself Scheme in Fixnums Days is a self-contained introduction to the Scheme language. From the preface "It is intended as a quick-start guide, something a novice can use to get a non-trivial working knowledge of the language, before moving on to more comprehensive and in-depth texts."
  • How To Design Programs is a CSE 120 level book using DrScheme for the exercises.
  • How To Use Scheme describes advanced programming with Scheme for many real-world applications.

On Reserve at the Engineering Library

  • A repository for Scheme libraries, implementations, and other sorts of Scheme related information.


  • Discussion groups about scheme and functional programming in general.


  • The official definition of Scheme---suprisingly short and elegant.