CS655: Programming Languages, Spring 2001
Calendar |
Challenges |
Lectures |
Manifests |
Problem Sets |
Projects |
Resources |
Syllabus
|
Programming Language Resources
Background
- CS655 Recommended Books List
- Berkeley's Programming Languages Prelim
- Colorado's Prelim
- Gary Leavens' Teaching about Programing Languages Project
- Language List - information on over 2000 programming languages
- Yahoo's Programming Languages
- Brad Appleton's Language Links
- Tunes project language reviews
- Steve Majewski's Programming Language Critiques
- Netscape's Language Comparison and Critiques
- BYTE's Brief History of Programming Languages (from September 1995)
Courses
- Carnegie Mellon 15-812: Semantics of Programming Languages - Stephen Brookes
- Cornell CS 611: Semantics of Programming Languages - Andrew Myers
- Iowa State Programming Languages I - Gary Leavens
- MIT 6.821: Programming Languages - David Gifford
- University of California, Berkeley CS263: Design and Analysis of Programming Languages - George Necula
- McGill CS 524 - Prakash Panangaden
- Utah Programming Languages and Systems Seminar - Matthew Flatt and Gary Lindstrom
- University of Virginia CS655: Programming Languages - Spring 2001, David Evans
- University of Virginia CS655: Programming Languages - Spring 2000, David Evans
- University of Virginia CS655: Programming Languages - Spring 1999, Paul Reynolds
- University of Washington CSE 505: Concepts of Programming Languages - Alan Borning
Research
Link Collections
- Mark Leone's programing language research page (unfortunately, somewhat decayed)
- Amorphous Computing
Projects at UVa
Almost every research project involves programming languages at least indirectly. Some of the projects here more focused on programming languages include:
- Galileo - fault tree analysis tool (Kevin Sullivan)
- LCLint - annotation assisted static checking (David Evans)
- Multithreaded Programming (John Thornley)
- Naccio - policy-directed code safety (David Evans)
- Zephyr - tools for a national compiler infrastructure (Jack Davidson)
Conferences
- Deadlines Summary
- PLDI - ACM SIGPLAN Conference on Programming Language Design and Implementation - Usually regarded as the premier conference on practical aspects of programming languages.
- POPL - ACM SIGPLAN-SIGACT Symposium on Principles Of Programming Languages - Usually regarded as the premier theoretical programming langauges conference.
- POPL '01 (London, England, deadline around July 2000)
- POPL '00 (Boston, Massachusetts, January 19-21, 2000)
- POPL '99 (San Antonio, Texas)
- Earlier POPL's
- OOPSLA - ACM SIGPLAN Conference on Object-Oriented Programming Systems, Languages, and Applications
- OOPSLA '00 (Minneapolis, Minnesota, October 15-19, 2000; deadline April 3, 2000)
- OOPSLA '99 (Denver, Colorado)
- OOPSLA '98 (Vancouver, Canada)
- OOPSLA '97 (Atlanta, GA)
- ECOOP - European Conference on Object-Oriented Programming
- ECOOP '00 (Cannes, France, June 12-16, 2000)
- DSL - USENIX Conference on Domain-Specific Languages
- COOTS - USENIX Conference on Object-Oriented Technologies and Systems (January 29-February 1, 2001, Submission deadline July 27, 2000)
Languages
- C: Lysator C
- C++: Stroustrup's C++ Page | Brad Appleton's Links
- CLU: Dorothy Curtis' CLU Page
- Eiffel
- Java: Java (Sun's java.sun.com page)
- Scheme: MIT Scheme Page
- Smalltalk
- Standard ML of New Jersey
Software
Fun
- Alan Perlis' Epigrams in Programming
- 99 Bottles of Beer on the Wall (in 227 programming languages)
- ACM's Hello World Project (in only 204 programming languages, obviously the Bottles of Beer program is more useful)
- Lesser-Known Programming Languages
- How To Determine Which Programming Language You Are Using
- Esoteric Programming Languages
University of Virginia Department of Computer Science CS 655: Programming Languages |
David Evans evans@virginia.edu |