COSC 3410
PROGRAMMING LANGUAGES
Course Homepage
Fall, 2009


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

Midterm Exam
The exam will be in class on Monday, Oct 19. Anything we've talked about during the semester up through the LET language (i.e. not PROC) is fair game. In particular, we've looked at Chapters 1, 2, 3, 5, and the beginning of 8 in "The Little Schemer" and Sections 1.1-3.2 in "Essentials of Programming Languages".

Homework Assignments

Test programs for assignment #8

Test programs for assignment #5
You should definitely write your own test programs and show how they work, but here are a few short programs using LET as extended by 3.7 and 3.8.
As a challenge, you might try to write a program which takes a 3-digit number as the value of some variable (in a let at the beginning of the program) in which the digits are all zero or one. Interpret this number as a binary number and return the corresponding decimal value. So, if you start with "let input = 110 ...", the value of the program should be 6. Since there are only 8 possibilities, you could just write a bunch of if's, but I was thinking of trying to be a bit more sophisticated.
In fact, can you take a three digit number "input" and a number "base" greater than 1 and less than 10, assume all digits in "input" are at most "base"-1, and convert the input as a base "base" number into decimal? base = 2 would be the above binary example. "input = 503" and "base = 7" would have the value 248. Note that you should be able to change "input" and "base" at the top of the program and nothing else, and get the right answer for the new values.

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


Book site

PLT Scheme
Here's the homepage for the version of scheme we're using this semester (including DrScheme). Free downloads are available as well as various documention.

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@mscs.mu.edu.