COS 301: Programming Languages Fall 2009

Instructor: Curtis Meadow

University of Maine Department of Computer Science

Syllabus
Course description, grading policy, broad outline, general class policies
Project
Language selection form. Please download this form, and fill it out using a word processor.
Policies and Format
Submission Instructions for Turnitin.com
Specific Project Assignments
Presentation Option An in-class presentation in lieu of one paper.
Paper Format Checklist Use this before submitting your paper.
Project Paper #1: Overview and History
Project Paper #2: Syntax, Operators, and Basic Data Types
Project Paper #3: Typing, Scope and Binding
Project Paper #4: Control Flow, I/O and Exception Handling
Homework Assignments
Homework Assignments
Assignment 1 due Thursday Oct. 1
Assignment 2 due Tuesday Oct. 15
Assignment 3 due Thursday Nov. 11
Assignment 4 due Tuesday Dec. 1
 
Obfuscated Code Contest
View Code Contest Entries
 
Lecture Notes
     Note: Lecture notes revisions are in progress. PDF files are revised, Word docs are not. I suggest that you print the slides as we cover them in class and take notes on the printed copy.
Chapter 1
Technical Writing
Ch. 2.1 - 2.2
Ch. 2.3 - 2.5
Ch. 3
Ch. 4
Ch. 5
Ch. 7
Ch 9
Ch. 11
Smalltalk (Part of Ch 13)
Ch. 13.1 - 13.2
Ch. 15.1 - 15.2

Technical Writing Resources
   Mayfield Handbook-TOC
   UMaine Writing Center
   IEEE Citation Examples - Monash University Library
   IEEE Citation Examples - University of Toronto Engineering Communication Centre

Recommended Reading
   A Brief, Incomplete, and Mostly Wrong History of Programming Languages
   Mother Tongues Computer Language Chart
   Google Chrome Development (in cartoons!)
   Revised Report on the Algorithmic Language Algol 60
   Unicode.org Unicode Tutorial
   UTF-8 and Unicode FAQ for Unix/Linux
   Java theory and practice: A brief history of garbage collection
   Java theory and practice: Garbage collection in the HotSpot JVM
   .NET Garbage collection - MSDN documentation
   Garbage collection in .NET

Other Points of Interest
   99 Bottles of Beer -- in 1,290 Programming Languages
   Periodic Table of Perl Operators
   PHP contrasted to Perl (PHP - it's "training wheels without the bike" - Randal L. Schwartz)
      Showing that language rants are still very much alive