The following are some of the resources available to students of this course. If you feel at any point that you need additional assistance, please let us know!
The instructor for this course is Zachary Palmer. My office hours are as follows:
|Monday||11:30am - 1:00pm|
|Thursday||10:00am - 11:30am|
|Friday||2:00pm - 3:30pm|
You can also contact me via e-mail (
zachary --dot-- palmer --at-- swarthmore --dot-- edu) to make an appointment or just ask a question. You’re also welcome to drop by anytime my door is open; I’ll help if I’m around and available. My office is Science Center 270.
Our course has a Slack workspace where you can ask questions and discuss the course material with each other. Course announcements will be posted here as well. While lecture will be conducted locally this semester, you can use the Slack workspace to talk to your instructor, coordinate with classmates, and receive out-of-band course announcements (such as assignment clarifications or policy updates).
The Slack workspace contains the following channels:
#announcements: Course announcements will be posted here. If you turn on Slack notifications, you’ll get an e-mail whenever an announcement is posted.
#course-discussion: For questions related to course material. Remember to follow the Academic Integrity Policy: don’t give answers to assignments in your public posts, for instance. If you are concerned that your post might contain sensitive material, you can send a direct message to the instructor instead.
#lecture: For questions during lecture. If you’d prefer to post the message here rather than raising your hand, you may do so. Note that the post may appear on the lecture screen! If you are more comfortable, you may post anonymously. (See below.)
#chat: For off-topic discussion.
The workspace includes a bot which will post anonymously on your behalf. You may type
/anonymous followed by a message in any channel. If you do so, the bot will post your message for you to keep your identity hidden. This feature is included to help promote a comfortable and safe dialogue in our classroom. Please use it respectfully.
The textbook for this course is Principles of Programming Languages by Scott F. Smith. The book is free and is released under the Creative Commons Attribution-Share Alike 3.0 United States License.
The book Real World OCaml is also freely available. It contains a wealth of information about the OCaml programming language (although we likely will not use material beyond the first few chapters).
There are a number of guides linked throughout the site. This is a comprehensive list of them.
OCaml Setup: Instructions for setting up OCaml.
OCaml Development Environment Setup: Instructions for setting up a good OCaml development environment.
OCaml Remote Development Environment Setup: Instructions for using the CS network together with your own computer to develop in OCaml.
OCaml Transition Guide: A collection of OCaml examples for programmers who know Python or C++.
Producing Inference Rules With irtex: A description of how to use the irtex.py tool to typeset inference rules and proofs.
CS73 LaTeX Guide: A basic introduction to LaTeX for the purposes of this course.
You can use your student ID card to gain access to the computer labs during the nights and on weekends. Just wave your ID over the card reader next to the lab doors. When the green light turns on, just push the door to get in (the knob will not turn). If you have problems getting in, visit Bridget in the department office or send her an e-mail (
local-staff --at-- cs.swarthmore.edu) to have your number added to the system. If the building is locked, you can use your ID to enter the door between Martin and Cornell library. For this class, you will have access to Science Center 238, 240, and 256 as well as Clothier 016.
If you believe you need accommodations for a disability or a chronic medical condition, please contact Student Disability Services via email at
firstname.lastname@example.org to arrange an appointment to discuss your needs. As appropriate, the office will issue students with documented disabilities or medical conditions a formal Accommodations Letter. Since accommodations require early planning and are not retroactive, please contact Student Disability Services as soon as possible. For details about the accommodations process, visit the Student Disability Service Website. You are also welcome to contact your instructor privately to discuss your academic needs. However, all disability-related accommodations must be arranged, in advance, through Student Disability Services.