COSC 3410
PROGRAMMING LANGUAGES
Course Homepage
Fall, 2019


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

Study guide for final exam

Study guide for midterm exam

Homework Assignments

Late Homework Policy
Late homework submitted within 48 hours of the specified deadline will receive 80% 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)

Class Examples


SWI Prolog
The site for the version of Prolog I'm using in class.

Prolog in Action!
An article about a new startup Kyndi that is using Prolog to create their product.

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.

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.

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

Programming Languages Textbook
This is a direct link to the pdf of 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. You can find the full site for the book here.

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



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