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.