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||10:00 - 11:30 AM|
|Tuesday||1:30 - 3:00 PM|
|Friday||10:00 - 11:30 AM|
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 even 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 Piazza forum where you can ask questions and discuss the course material. When posting public questions, please make sure to follow the Academic Integrity Policy: don’t give answers to homework in your public posts, for instance.
There is no textbook for this course. You may, however, find the following reference materials helpful:
- An installation guide for this course.
- A setup guide for your development environment.
- A transition guide to help you become accustomed to the language.
- The Real World OCaml book, a free online textbook which aims to teach OCaml to existing programmers. (You can purchase a hard copy version of the book as well.)
- The OCaml Documentation from
ocaml.org, which includes installation instructions (if you need them) and some handy reference sheets.
- The Batteries Included API Documentation. Batteries Included is a third-party OCaml library which we will use to replace the built-in OCaml standard library, which has a rather poor reputation.
- Intel x86 Assembly
- A Wikibook on x86 assembly.
- A Guide to x86 Assembly from the University of Virginia.
- A tutorial on compiler construction by Abdulaziz Ghuloum, which inspired the structure of this course.
- Modern Compiler Implementation in ML, a textbook that we will not follow but which describes compiler construction in a functional language. (Note: OCaml is not the same language as ML!)
- Matt Might’s blog, which contains a wealth of information on compilation (and on other topics that students of Computer Science may find interesting).
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 that you need accommodations for a disability, please contact Leslie Hempling in the Office of Student Disability Services (Parrish 113) or email lhempli1 to arrange an appointment to discuss your needs. As appropriate, she will issue students with documented disabilities a formal Accommodations Letter. Since accommodations require early planning and are not retroactive, please contact her as soon as possible. For details about the accommodations process, visit the Student Disability Service website.
To receive an accommodation for a course activity, you must have an Accommodation Authorization letter from Leslie Hempling and you need to meet with me to work out the details of your accommodation at least one week prior to the activity.
You are also welcome to contact me privately to discuss your academic needs. However, all disability-related accommodations must be arranged through Leslie Hempling in the Office Of Student Disability Services.