This document is at URL http://www.cs.arizona.edu/classpage/cs520/
[ Texts | Course Format | Course Schedule | Lab Account | Policies | Syllabus | References | Other Info | Notes | Homework/Exams ]
CSc 520 |
Principles of Programming Languages
|
| Call Number | 58233 | ||||||||||||||||||
| Time and Place | MW 12:00-1:15, Gould-Simpson 701 | ||||||||||||||||||
| Descrip- tion | This course will define, analyze and evaluate important concepts found in current programming languages. Its goals are to build an ability to evaluate and compare programming languages, both from the user's and implementor's view, and to develop precise mechanisms for specifying the semantics of programming languages. Specific topics include: data abstraction, datatypes, control structures, storage management and runtime support, operational and denotational semantic specification, applicative and object-oriented languages. | ||||||||||||||||||
| Pre- requisite | CSc 453: Compilers and Systems Software | ||||||||||||||||||
| Instructor | Peter J.
Downey
pete@cs.arizona.edu (520) 621-2207 Gould-Simpson 739 Office Hour: MW 1:15 - 2:30 These are walk-in office hours. Outside of these hours, make an appointment in advance through Sue Drexel (sdrexel@cs.arizona.edu), Administrative Associate, Gould-Simpson 745, 621-2018 |
||||||||||||||||||
| Texts |
For prices and availability, see the
UofA Bookstores link
|
||||||||||||||||||
| Course Format |
In addition to regular lectures, papers from the literature on programming
languages will be assigned for reading. Grades for this course will
be influenced by interaction in the classroom, and by your preparation
and familiarity with the reading material.
|
||||||||||||||||||
| Course Schedule |
|
||||||||||||||||||
| Graduate Lab Account |
All students must run the APPLY program each semester, and enter all the C SC courses in which they are enrolled. This applies whether or not you have a pre-existing account. Directions for new accounts: If you do not already have a computing account in the Department's Instructional Laboratory, you can obtain an account on the instructional processor (lectura). To do so, repair during the first week of class to the Department on the 7th Floor of Gould-Simpson Bldg. Follow the lobby signs to the machines in Room 737 that run the account initialization program. Select a machine that is logged in, or log on under the account name apply, password apply. Respond to the prompts for your Student ID (SID), course number, etc., to initiate the account registration process. Complete, read and sign a copy of the Appropriate Use Guidelines document, available near the machines, and turn it in to the Reception Desk in Room 721. Your registration information will be verified and an account will be created for you, along with a keycard allowing lab access. After 3 working days, you can pick up your keycard at the Reception Desk (Room 721) by presenting a valid picture ID. You need to know your Computer Science ID (CSID). To find it, log on to lectura under the name csid with password CSID. At the prompt, enter your Student ID (SID). Hyphens are optional. Write down your CSID for future reference. It will be used in any public or web grade postings. On lectura, various language processors are available, but may require some hunting using man -k. For example, versions of the Scheme programming language are available on lectura under scm (or scheme) and scheme48. Other functional languages of interest are Kyoto Common Lisp (kcl), other Lisps (lisp, clisp) and Standard ML of New Jersey (sml). |
||||||||||||||||||
| Policies |
Each graded item, such as a homework or examination, is first awarded a raw score; raw scores vary with the number of questions, their difficulty, and their length. For each graded item, the raw scores is normalized to a ``traditional'' scale in which 90 - 100 is an A, 80 - 89 is a B and 70 - 79 is a C. For each graded item, only the normalized score is recorded. The final cumulative course grade is computed as a weighted average of these normalized scores, using the weights described under Course Format above. The resulting weighted average is then converted to a letter grade using the ``traditional'' scale. Decisions on whether borderline scores (such as 89) will be recorded as the next highest letter grade will be made using (a) performance on the final examination and (b) evidence of accomplishment in the subject that is cumulative over the term. Attendance is not enforced, but you are responsible for all material covered in lecture or assigned as reading. Without prior arrangements, missed exams result in a grade of zero. Homework is due at the start of class on the due date; late homework is not accepted.
Assignments
in this course require individual attention and effort to be of any benefit.
All work is expected to be that of each student alone, without
consultation with others, without reference to borrowed solutions,
and not the product of team efforts or collaboration with other authors.
Plagiarism or the incorporation of another author's words or ideas
constitutes theft of intellectual property; it will result in a grade of
zero.
Copying work from another student, whether currently or formerly
enrolled in this course, copying from a
book or paper, or copying text from a web page all constitute plagiarism.
These and other provisions are governed by the
Code of Academic
Integrity
which applies to all those in this course.
It is assumed that: you have the prerequisites for this course, and
their
prerequisites, etc., recursively; that you are literate in a few
modern computer languages;
that you are both
literate and a competent programmer in C; and that
you are skilled in the use of the
programming environment and Unix tools available
in the Department's Graduate Instructional Laboratory.
The instructor reserves the right to fail for the course any student
failing the final comprehensive examination.
|
||||||||||||||||||
| Syllabus |
|
||||||||||||||||||
| Library Referen- ces |
Appropriate links to the library system are:
The following books are on reserve at the Main Library Reserve Book Room.
They may prove helpful as collateral readings.
Others may be added from time to time.
|
||||||||||||||||||
| Reference Links |
|
||||||||||||||||||
| Other Course Information |
|
||||||||||||||||||
| Notes |
|
||||||||||||||||||
| Home- work & Exams |
| ||||||||||||||||||
| Final Grades |
Grades are posted here and outside Room 739 Gould-Simpson. Grades are posted by your "Computer Science ID" (CSID), which can be discovered by telnet to lectura, login as "csid", password "CSID" and responding to prompts. Exam envelopes may be picked up in Room 721 Gould-Simpson after 12:00 pm Tuesday 14 May. |