COSC 3410
PROGRAMMING LANGUAGES
Course Homepage
Fall, 2010


Course Description:
A comparative study of programming paradigms and representative high-level programming languages. Topics include control of data, control of execution, operating environment, and the role of a language as an organizational tool.

Syllabus

Final Exam
Anything we've discussed this semester is fair game, but the emphasis will be on material from the following chapters:
Krishnamurthi, chapters 4,5,6,9,10,12,13,14,24,25,26,30
You should also be familiar with basic ideas of Turing machines like in HW# 6. There might very well be questions related to the homework assignments such as type-checker, JOE, JOE+.

Midterm Exam
The midterm exam is on Monday, Oct 18. It will cover everything we've discussed so far in class, up to, but not including putting functions into the WAE language.
In particular, you should be familiar with Little Schemer: chapters 1-5, Krishnamurthi: chapters 1-3, and regular expressions, context-free grammars (the only type of grammars we've discussed), and parse trees.

Homework Assignments

Typed-JOE programs
Here are some test programs for Assignment #7.

JOE programs
Here are some test programs for Assignment #5.

Late Homework Policy
Late homework submitted within 48 hours of the specified deadline will receive 70% of the grade it would have received on time. Homework more that 48 hours late, but less than one week (168 hours) will receive 50% of the earned grade. No assignments will be accepted more than one week late. If you submit part of an assignment on time and part late, only the late part will be discounted. (If you face extenuating circumstances, please talk to me as early as possible)

Functions defined during class


Purpose-Built Languages
This article by Mike Shapiro discusses reasons why and how a lot of interpreters are created.

Racket
Here's the homepage for the version of Scheme we're using this this semester (including DrRacket). Free downloads are available as well as various documentation.

#lang plai features
Special functions for the PLAI language variant: define-type, type-case, and test.

Programming Languages book site
This is the website for our second text. It's possible to download the text or buy a printed copy. The site says Amazon sells the book, but I don't think that's still true. Lulu does still sell it. Please DO NOT download the book and then print it on the department printers. We can't afford to have that much paper used up.

How To Design Programs
This book (full text available online) is an introduction to programming using scheme as its language. That makes it a great introduction to functional programming.



This site created and maintained by Dr. Michael C. Slattery of Marquette University.
You can contact me at mikes (a) mscs.mu.edu.