COSC 337: Programming Languages
Fall Semester, 2003
Click on the instructor's name, above, for office hours
and contact information.
This web page will be used to post assignments and other announcements.
Consult it often! In addition, the instructor may use email to
communicate with individual students or broadcast important announcements
to the entire class. Such messages will be sent to your
my.emich.edu
mailbox. You should either read this mailbox regularly or set it to
forward to an email account which you do read regularly.
Announcements
Announcements of interest to the class.
Additional End-of-Semester Announcements.
Check this space for announcements and references
to study material, prior to the final exam.
- Here are some suggested Lisp exercises,
with partial answers.
- The following textbook sections contain material for which you are
responsible on the final exam: 3.1, 3.2, 3.3, 3.4, 3.5, 5.4, 5.8,
5.9, 5.10, 10.1, 10.2, 10.3, 10.4, 15.1, 15.2, 15.3, 15.4
LISP Tutorial
You can now access a
LISP tutorial.
REMINDER:
Perl programs are due at 7pm on Thursday,
December 4. Late penalties: 10% off for up to 24 hours late,
20% thereafter, submission not accepted after a program has been
graded and returned to the class. (Bobolink's clock time will be
used to determine time of submission. You can type the date
command on Bobolink to see what time the server thinks it is.)
- I've put up new documents having to do with server access and
Perl programming. See the Links section below.
- The midterm exam was on Thursday, October 23.
- Axiomatic semantics practice
problems are now available. Enjoy.
- Two documents on accessing the bobolink Linux server and running
Perl programs are now available. See the two new links at the
end of the Links section, below.
- To submit a Perl program for credit, log into bobolink and type the command
submit-perl N FILE
where N is the assignment number (1, 2, or 3) and FILE is the name
of the file containing your Perl source code. Example:
submit-perl 1 wordsrch.pl
(If you developed the program on another machine, you'll have to upload
your source file to bobolink before this will work, of course.)
If you submit an assignment and later decide you want to make changes,
just make the changes and submit it again. I will ignore all but your
last submission.
Note: The submit-perl program is itself a Perl
program. If you're curious, you can see it
here.
Assignments
Announcements of assignments.
- Sept. 16
- This assignment can be found here.
DUE: Tuesday, Sept. 23, beginning of class.
- Oct. 2
- Click here to see the 2nd assignment.
DUE: Thursday, Oct. 9, beginning of class.
- Nov. 5
-
Here's an ASSIGNMENT that you can get started on RIGHT AWAY, using
online materials (not to be handed in; just to familiarize you with
using the system to do Perl).
- Log in to bobolink, change your password, and create and run the
"Hello, World" Perl program given in the first section of the Nik
Silver's Perl Tutorial. (There's a link to the tutorial on the
"Perl Resources" page.)
- Read the tutorial through the section on "Conditionals" and do all
the exercises. (You should create working, properly formatted,
well-documented Perl programs.)
- Nov. 13
- The official Perl assignment is now
available. Click on the link to see it. DUE: Thursday,
December 4, 7pm. Run the submit-perl to submit your
programs electronically, as described in the Announcements section,
above. Also, turn in hardcopy of all your programs in class.
Links
Links to various places on the internet that are
relevant to the course will be posted in this section.
- BNFExamples.html
- Examples of the use of BNF to specify the syntax of some simple
languages.
- simplang.txt
- BNF definition of a small structured programming language.
- BNF syntax descriptions of programming languages.
- A little web searching turned up BNF definitions of a few
"real" programming languages. The notation differs
slightly from that which we have been using, but the ideas
are the same.
With a little searching of your own, you can probably find BNF for
more languages.
- Attribute grammar examples.
-
- Implementation of smallest-divisor algorithms.
- Go here to see a C++ program that
implements the O(n) and O(sqrt(n)) smallest-divisor algorithms
developed in class.
- Perl Resources
- Links to various Perl resources: Documentation, online tutorials,
software.
- Perl Examples
- A collection of short Perl examples illustrating various
language features.
- Bobolink Accounts
- Information on how to connect and log in to the bobolink.acad.emich.edu
server.
- PuTTY Instructions
- Help with downloading, installing, and configuring the PuTTY SSH
client.
- Doing Perl on Bobolink
- A quickstart guide to simple file management and running Perl in
a Linux environment.
- Perl and Visual Studio
- Instructions for configuring Microsoft Visual Studio for use with
Perl. (Contributed by Paul North)
Important Dates
| Midterm examination: |
Thursday, October 23, 7:15-8:30pm. |
|---|
| Final examination: |
Tuesday, December 16, 7:15-8:30pm. |