| CMSC330 | Summer 2001 |
In this course we will discuss the syntax and semantics of programming languages and their run-time organization. We will explore several different programming language models including procedural (e.g., C, Pascal), functional (e.g., ML, LISP), and object-oriented (e.g., C++, Smalltalk). We will also discuss how these languages are actually implemented, i.e., their run-time structures, scoping rules, storage for strings, arrays, records, and object inheritance.
Office hours are tentatively scheduled. If you cannot make it to any of these, please let the staff know and we shall reschedule.
Michael L. Scott. Programming Language Pragmatics, Morgan Kaufmann, 2000, ISBN 1-55860-442-1
The textbook covers the theory discussed in class. It does not cover the languages you need to know in order to complete the projects.
Your grade will be determined as follows:
# |
% each |
% total |
|
| Programming projects | 1 + 4 |
2 (the 1st), 12 (the rest) |
50 |
| Quizzes | 2 |
5 |
10 |
| Mid-term | 1 |
15 |
15 |
| Final | 1 |
25 |
25 |
These weights are subject to change up to 10%.
Projects must be submitted by the time and date they are due. This date shall be posted when the project is published. Projects submitted after the due date receive zero points.
Project grades generally consist of 50% for correct execution on standard, publicly available data. The other 50% shall be granted for correct execution on data that will only be made public after the submission deadline.
You may use any computing equipment you wish (such as your home computer) to develop your programs. However, this is "at your own risk". Your programming assignments must be electronically submitted from the account provided to you for this class, and will be graded based on how they run on the AITS machines. If you make use of a language extension supported on your machine but not under Unix, or if your programming environment doesn't support standard language features supported under Unix, you will run into problems. No alterations to conditions of the assignment will be made to accommodate peculiarities of your other computing resources.
The instructor reserves the right to fail, regardless of overall numeric score, students who do not submit a good faith attempt to complete all programming assignments.
The University's policy on academic integrity is strictly followed. See the Undergraduate Catalog for definitions and sanctions. All graded materials (whether exams or programming assignments) must be strictly individual efforts.
We expect you to follow all AITS guidelines for responsible machine usage.
Vasile Gaburici is the information owner for all AITS accounts in this class, and all files in those accounts may be inspected by him at any time.
Allowing another student to examine a listing of your program or examining the listing of another student's program, for any reason, is strictly forbidden.
You may discuss only the following with other students:
Logging onto another student's account, for any reason, is cheating.
Discussion of solutions to a programming assignment must be limited to a discussion of what was discussed in class, in handouts or in the book. You may not otherwise discuss algorithms to be used to solve programming assignments (e.g., you should not ask or answer 'Should I use linked lists to store the input lines?') except to discuss what was said in class about the issue.
Attempting to falsely represent the correctness of your program, or to delay other members of the class from completing a programming assignment, is cheating.
The standard penalty for any cheating is to receive a grade of XF in the course. This grade denotes failure due to academic dishonesty, and your transcript will be so annotated.
You are discouraged, in the strongest possible terms, from making a habit of getting together with another student while you work on a programming project with the idea that you will limit yourselves to discussion of problems such as syntax errors only. There are too many temptations, and if by chance your programs wind up being very similar, you will find it difficult to make a convincing argument that you limited yourselves to allowable discussions of the project.