CSC 330: Programming Languages
Gene Fisher (gfisher@calpoly.edu)
Office: 14-210
Office Hours: MWF 10-11AM, Tu 9-11AM, and by appointment
CSC/CPE 103, 250.
The principal textbook is Programming Languages: Principles and Paradigms by Tucker and Noonan. Supplemental books and reading materials will be available on the course website.
The course website is http://www.csc.calpoly.edu/~gfisher/classes/330
There is a variety of material on the site, organized into the following
directories:
There will be a total of seven assignments, consisting of a combination of
written problem sets and programs. There will be one midterm and a final. The
tests will cover general programming language concepts as well as the the
analysis and synthesis of specific concrete programs. The tests will be open
book, open note.
The homework assignments are worth a total of 60% of the grade, the midterm 15%, and the final 25%. The assignments will be of roughly equal value, with later assignments generally worth somewhat more than earlier ones. Detailed point breakdowns and grading criteria will be provided for each assignment.
Programs must compile to receive any credit; i.e., non-compiling programs will receive a score of zero. Since "compilation" will have slightly different meanings for the different languages we will use, it will be defined specifically for each assignment. Additional scoring details will also be provided for each assignment.
If you find a problem with the grading on an assignment, you must submit it for
regarding within ten days of when it was handed back. Grades will be posted on
my.calpoly.edu. Be sure to check what is posted to make sure it agrees with
your records.
The problem-set assignments are to be handed in on paper at the beginning of
lecture on the due dates. The programs will be handed in electronically.
Details of electronic turn-in will be given for each assignment.
Assignments must be turned in ON TIME to receive credit. Late assignments will not be accepted.
If you cannot get a program working by the due date, be sure to hand in what
ever you have in order to get partial credit. Scoring details for partially-
executing programs will be provided for each assignment. Note again, programs
that do not compile will receive a score of zero, however much code you may
have written.
Each student must turn in an individual, original piece of work. It is OK to discuss general principles and ideas with colleagues, but assignments are not to be done in groups.
Use of anyone's solutions other than your own is considered cheating. This includes solutions from previous offerings of this or any other course, solutions you may find online, or solutions you get from any source other than your own brain.
Any instance of cheating or plagiarism will be referred to the campus office of judicial affairs. Campus cheating policies are defined online at
http://www.calpoly.edu/~saffairs/ja
You will receive a computer account that works on the CS department central UNIX machines falcon and hornet. The compilers and interpreters for the programming languages we will use all run on these machines. For your convenience, you can download compilers and interpreters to run on your own machine.
NOTE WELL: If you use a home compiler to development your
programs, YOU MUST verify that the program compiles
and runs on falcon/hornet before you hand it in. When you submit programs,
they will be compiled and executed by a script that runs on falcon/hornet. You
are responsible to ensure that your programs run the same on falcon/hornet as
they do on any other computers you may use to develop the programs.