Course Info
Last updated: Mon, 17 Feb 2025 13:47:29 -0500
This page lists basic information about the course such as people, places, and times.
1 Staff
Instructor: Stephen Chang (email: Stephen.Chang)
TA: Julian Biju (email: julian.biju001)
TA: Yanxin Lin (email: yanxin.lin001)
TA: TBD (email: )
(All emails are UMB addresses)
2 Lecture
450-01: 2:00PM - 3:15PM, Wheatley W01-0004 Wheatley W01-0088 Snowden Auditorium
450-02: 11:00AM - 12:15PM, Wheatley W01-0042 McCormack M02-0404
Here’s a Google Calendar with class times, iCal format (requires UMB login).
First Lecture: Tuesday, January 28, 2025
Last Lecture: Tuesday, May 13, 2025
See also Lecture Policy.
3 Office Hours
To accommodate different student needs, we will have both in-person and virtual office hours.
Specifically, office hours will be held weekly:
in-person McCormack, 3rd Floor room 0201-03, Thurs 12:15-1:45pm (Prof Chang)
via Zoom Friday, 1 pm to 2pm (Yanxin / Julian)
Drop-ins are fine, but emailing in advance if you can would be helpful.
These will usually be group meetings, but one-on-ones are available upon request.
Zoom links will be posted in the Discussion Board.
4 Textbook
Material from the course will be drawn from the the following textbook:
How to Design Programs, 2nd edition. 2018 MIT Press.
The book is available for free online, but you can buy a print copy if you wish (make sure to get the 2nd edition).
There may also be supplemental lecture notes, but book chapters to accompany each lecture will be listed.
NOTE
The textbook refers to "Student Languages" (and a "Stepper" that only works with the Student Languages). We will not use these languages in this course. Instead, we will always use the full Racket language, which is invoked by putting #lang racket at the top of a file.
Do not embed images directly into code in DrRacket. Doing so will make saved files unreadable in plain-text editors.
is defined with struct and not define-struct
implicitly defines a constructor called struct-name, not make-struct-name
require a #:transparent keyword, in order to be comparable, e.g., with check-equal?
5 Homework
Homework will be assigned weekly.
We will usually follow this schedule:
Homework out: Tuesday 11:00 am EST
Homework due: Tuesday 11:00 am EST
This schedule may occasionally change due to holidays or other circumstances.
See also Homework Submission Policy.
6 Exams
There are no exams for this course this semester.