CS 52 Resources, Fall 2017
Computer Science 52
Fundamentals of Computer Science
Spring 2018

Course information:

  • Tuesday and Thursday, 9:35–10:50, Seaver Commons 102.
  • Professor Everett Bull, Edmunds 127, extension 18709.
    Monday 1:15–2:30, Wednesday 4:00–5:00, and by appointment.
  • See the links above for the Piazza discussion site and the mentoring schedule.

Course material:

SML resources:

  • Harper, Programming in Standard ML, Version 1.2 of 11.02.11.
  • Gilmore, Programming in Standard ML '97: An On-line Tutorial. A readable and complete guide to programming in SML.
  • Pucella, Notes on Programming Standard ML of New Jersey, revision of January 10, 2001. A concise description of the language for programmers.
  • The Standard ML of New Jersey page, with links to software, documentation, and tips.  The page on the Interactive System is a good place to start for people new to SML.   If you download software for your own computer, be sure to get the same version as the class is using.
  • Copies of the following books are available in the computer science laboratory, Edmunds 227. Please do not remove them from the laboratory! They cannot be replaced if they disappear.
    • Paulson, ML for the Working Programmer, second edition, Cambridge University Press, 1996.
    • Ullman, Elements of ML Programming, ML 97 Edition, Prentice-Hall, 1998.
    • Hansen and Rischel, Introduction to Programming using SML, Addison-Wesley, 1999.

Unix and emacs resources:

  • Aquamacs, an implementation of emacs for the Mac.
  • Here is a short list of useful UNIX commands: http://www.tjhsst.edu/~dhyatt/superap/unixcmd.html.
  • There is a collection of reference pages on the Harvey Mudd College Computer Science Department's web pages. You might start with the one entitled “UNIX, the Basics.”
  • Here are the emacs reference card and the emacs manual, in all its glory.
  • There is a special Emacs mode for SML that gives you, among other things, color highlighting. It is already installed on the laboratory computers. You may obtain the package and read about it at the website hsml-mode. (On that page, the key combination M-x used inside Aquamacs is option-X.)

CS52 Machine resources:

Logsim resources:

  • Logisim is a Java-based tool for studying circuits, written by Dr. Carl Burch. The application and documentation may be found on the main Logisim page.

JFLAP resources:

  • JFLAP is a Java-based tool for studying automata, context-free grammars, and turing machines.  It was produced by Professor Susan Rodger of Duke University.  See the main JFLAP page and the JFLAP tutorial.