CS 15-212: Fundamental Principles of Computer Science II

CS 15-212 is the second semester of the Fundamental Principles of Computer Science sequence at Carnegie Mellon University. The overall goal of the course is to teach high level programming techniques, with an emphasis on abstraction and reasoning about programs. For more information, consult the course syllabus.

This is the home page for the track 15-212-X which is taught using the Standard ML programming language (Instructor: Frank Pfenning). Do not confuse this with the track which is taught using Java (Instructor: Thomas Gross).

The server you are currently using was developed by the Fox Project at Carnegie Mellon University and is written completely in an extension of the Standard ML programming language. This includes the HTTPD server and the TCP/IP protocol stack used by the server (essentially everything down to the network device driver).

Class material

  • Course schedule
  • Textbooks
  • Language and programming environment
  • Handouts
  • Assignments
  • Midterm
  • Final
  • The Connect4 tournament

  • Course information

    Bulletin Boards

  • Official announcements: cmu.andrew.academic.cs.15-212-X.announce
  • Discussion of assignments: cmu.andrew.academic.cs.15-212-X.discuss

  • Teaching Staff


    Teaching assistants

    Course secretary

    Frank Pfenning
    WeH 8127, 268-6343
    Iliano Cervesato
    WeH 8121, 268-3069
    Carsten Schuermann
    WeH 8121, 268-3069
    Rosemary Hornyak
    WeH 8106, 268-3853
    Office hours
    Th 1:30-2:30 and by appointment Tu 11:00-12:00, We 3:30-4:30

    [ CS 15-212 Home page | schedule | assignments | handouts ]

    Carsten Schuermann (carsten@cs.cmu.edu)
    Iliano Cervesato (iliano@cs.cmu.edu)