Course Resources
Racket
Software
-
Download Racket.
It contains everything you need for the course, including the Racket compiler, the Dr. Racket IDE, and a suite of command-line tools. It runs on all major platforms and is a snap to install. - Racket is also installed on the machines in the department labs: EBAR 019, WRT 112, WRT 339, and the laptop cart in PHY 301.
Documentation
-
Racket documentation,
including:
- The Racket Guide , documentation on the Racket language
- DrRacket, documentation on the IDE
-
Racket documentation for the course
- hints for using Dr. Racket — send me any questions or suggestions you have
- Frequently Asked Questions about Racket, Scheme, and the tools we use
Packages
-
[NEW]
the
sdraw
package — for drawing box-and-pointer diagrams
Language References
Racket is a fork of the smaller language, Scheme, and retains its basic mindset. There are a number of Scheme books and references available on-line for free:
- R6RS, the latest Scheme standard -- jump right to the table of contents to look up specific topics
- The Scheme Programming Language, by Kent Dybvig -- a thorough introduction with some tutorial material and few cool examples
- Teach Yourself Scheme in Fixnum Days -- a tutorial for experienced programmers
The creators of Racket have also written How to Design Programs, a CS1 textbook that uses Racket to teach program design.
Language Interpreters
Here are some other free Scheme interpreters:
- Gambit, a portable and efficient interpreter
- Bigloo, which supports system-level programming
- JScheme, which runs on the JVM and interoperates with Java
- Chez Scheme, a professional-quality interpreter
- others: https://www.schemers.org/ maintains a list of most known implementations
Language Goodies
-
on recursive programmming
-
The Little Schemer,
by Daniel Friedman
and Matthias Felleisen
The Little Schemer uses an unusual question-and-answer format to help you to think and program in a new style. It's well worth a few dollars. Some people really like this format. If you are one of them, then take a look at The Seasoned Schemer, also by Friedman and Felleisen.
-
The Little Schemer,
by Daniel Friedman
and Matthias Felleisen
-
on programmming languages
- Computer Languages Timeline — with many, many language links
-
on Scheme
- Schemers.org — for all sorts of Scheme Goodies
-
on Lisp
- The History of Lisp — all kinds of good stuff about the history of Lisp
- on functional programmming — TBA
- on other functional programmming languages — TBA
-
Racket and functional programmming in the "real world"
- Chromosonia, an installation piece at Ars Electronica -- with a short video
Academic Support
-
The Learning Center
The Learning Center at Rod Library provides free tutoring for a variety of different areas (i.e., writing, math, science, business, Spanish, college reading and learning strategies). The Learning Center at Rod Library is open for walk-in assistance Monday-Thursday 10am-10pm and is free of charge for all UNI students.
If you are unavailable during normal tutoring hours, online tutoring is also available through TutorMe. To request access, go to https://tlc.uni.edu/online.
For more information, go to https://tlc.uni.edu, email TheLearningCenter@uni.edu, call 319-273-6023, or visit the TLC desk located on the main floor of Rod Library.