James Madison University

This is the website for the Spring 2015 offering of CS 430 (Programming Languages) at James Madison University, taught by Mike Lam.

The class meets Tuesday and Thursday in HHS 2208, starting January 12 and ending April 30. Please visit the calendar for a detailed schedule.

Office hours (ISAT 227): M-W 10:00-12:00
T-Th 11:00-12:00

I am also available outside office hours by appointment; if you wish to make an appointment, please check the public calendar on my home page to find a several candidate times that work for you and send me an email.

Please use the links above to navigate the website. Important announcements will be posted on this front page. Other course content will appear on the subpages linked above. Please check this website (especially the front page and calendar) regularly for updates.


This semester, we will be using Piazza for class discussions. If you have a question that may be of general interest to your fellow students, please post it on Piazza rather than emailing me directly. This allows others to answer your question or benefit from my answer. I will check the Piazza forum regularly and respond as quickly as I can. To access Piazza, log into Canvas and click the "Piazza" link in the navigation bar on the left.

Class grades will be accessible via Canvas, and online topic evaluations will be administered using Canvas as well.


  • 01/21 - I posted a study guide for Unit 3 on the assignments page. Future study guides will be posted in a similar fashion.
  • 01/20 - Fixed a mistake on the calendar regarding the timing of Spring Break.
  • 01/15 - Preliminary office hours have been posted. These are subject to change for the first week or two of class.
  • 01/13 - I have posted the slides from the first day of class on the class calendar. All future slides will be posted there in a similar fashion.
  • 01/12 - Welcome to CS 430! Please take time to thoroughly review the class syllabus and familiarize yourself with the course website. Also, please verify that you can log into Canvas and Piazza (through Canvas).