Programming Language Concepts, Spring ’20

Recent CS421 posts

Upcoming classes and assignments

General instructions for book exercises:

  • Do not use “shortening” techniques and tactics like auto, assumption, contradiction, etc. prior to the chapter in which they were introducted. Part of the purpose of the earlier chapters’ exercises is for you to master the simpler tactics which require you to focus more closely on the mechanics which they manage.
  • To earn partial credit for partial solutions, you must comment your code with an explanation of your informal proof, and include a (commented) discussion of any other approaches which you tried.
  • With the transition to online teaching, the deadline for all homework submission is by 5:00pm on the due date. Most work will be due on Tuesdays and Fridays.

Past classes are listed at the bottom of this page.

The schedule for the rest of the semester will appear as it becomes available.


  • Student group meeting times will be announced via Becky’s CS News emails
  • April 24 and May 1 — Major Field Test dates
  • Wing 16 lab hours
    • Sundays, noon-11pm
    • Mondays-Thursdays, 11am-10pm
    • Fridays, 2-6pm
  • Internship opportunities via Career Services,


  • The Canvas “class resources” page for this class will have links to several class resources, including lecture slides, examples and exercises, the syllabus, and reference material.
    • Appendix D of the main course pack contains a set of review exercises for CS120, which may help you stay current with the material over the summer.
    • Online quizzes will also be via Canvas
  • Submission of Java homework and projects is via Autolab.
  • How to do various tasks on the CS lab computers
  • Final exam scheduling, from the university’s final exam schedule (and if I have managed to miscopy a date/time, go with the university’s schedule):
    • Final exam time for Sec. 2: Monday, May 11, 2:30pm
    • Final exam time for Sec. 3: Wednesday, May 13, 4:45pm

Past classes