CSc 520 - Principles of Programming Languages
0 : Administrivia
Christian Collberg
Department of Computer Science
University of Arizona
| Class |
|
: | |
520 PRINCIPLES OF PROGRAMMING LANGUAGES |
|
| Lecturer |
|
: | |
Christian Collberg |
|
| Email |
|
: | |
collberg@cs.arizona.edu |
|
| WWW |
|
: | |
http://www.cs.arizona.edu/ collberg |
|
| Office |
|
: | |
758 |
|
| Office Hours |
|
: | |
Open door policy |
|
| Phone |
|
: | |
621-6612 |
|
| Lectures |
|
: | |
15:00-16:15, MW, GLD-S 701 |
|
| Book |
|
: | |
Programming Language Pragmatics. Michael Scott |
|
| TA |
|
: | |
TBA |
|
|
- 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.
- We will evaluate and compare languages both from the user's
and implementor's view.
- We will develop precise mechanisms for specifying the
semantics of programming languages.
In particular, we will cover the following topics:
- scope of objects and time of binding
- module mechanisms (e.g., blocks, procedures, coroutines)
- data abstraction, datatypes
- control structures
- storage management and runtime support
- operational, denotational, and axiomatic semantic specification;
attribute grammars
- applicative and object-oriented languages
- One final exam (50%), Wednesday, May 11, 14:00-16:00.
- The exam is closed book.
- Without prior arrangement, missed exam
grade of zero.
- Fail the exam
you might fail the course.
- ``Several'' homework assignments (50%).
Homeworks may require programming, theoretical
work, or paper presentations.
- Prerequisites: C Sc 453, or equivalent background
in Compilers.
- You need to be a competent programmer in a
procedural/object-oriented language, such as Java or C.
You are responsible for reading
and understanding this syllabus.
If you have any concerns or issues
about the information in this document
you should bring them up during the
first week of class.
- Programming assignments.
- Homework assignments.
- Reading the textbook.
- Working programming exercises on your own.
- Assignments will be mostly in the form of programming problems.
- You may work the assignments on any machine you want, but
before you hand them in you should test the code on
lectura! I will grade the assignments on lectura,
and if they don't work there, I won't debug them for you!
- There can be subtle problems with code that's developed on
a Windows machine, for example, when it is run on a Unix
machine. For example, the two systems use different newline
characters.
Assessment Scheme
There will be
- one comprehensive final exam, worth a total of 50%;
lowest score will be dropped, worth a total of 0%;
- assignments, worth a total of 50%.
- Assignments handed in no more than 24 hours late will incur a 10% penalty.
- Assignments handed in more than 24 but no more than 48 hours late will incur a 20% penalty.
- Assignments handed more than 48 hours after the deadline will receive a grade of 0.
You cannot make up the midterm or final exam unless
- you have notified the instructor in writing (email is fine) or by phone
prior to the test that you will be absent, and
- you receive permission from the instructor to take the
test at a later date.
- All grades (for exams, quizzes, and assignments) will be curved up
by throwing away the highest grade in the class and scaling up such
that the second highest grade is 100.
- The curving is done to adjust for particularly difficult tests/assignments,
and to prevent an outlier from skewing the grade distribution.
- You cannot, after scaling, receive more than 100 on any exam, quiz,
or assignment.
- You will fail the class if you get less than 50 (after curving) on the
final exam.
- Otherwise, a curved total grade of [90,100] gives you an A, [80,89] a B,
[70,79] a C, [60,69] a D, and 59 and below an E.
- Except under exceptional circumstances I
will not assign incomplete grades.
- I decide what is an exceptional circumstance.
- To avoid any ambiguities, I have formalized the informal rules given above.
- The rules below should be considered minimum requirements to achieve
a particular grade. The instructor reserves the right to do additional
adjustments, as necessary.
- Any contradictions, omissions, errors, or ambiguities in the grading scheme
will be resolved by the instructor.
- Any issues or concerns regarding the grading scheme should be brought to the
attention of the instructor within the first week of class.
- For example, assume the following final exam scores:
After the curve has been applied, the scores will be
- final exam:
-
- Let be the set of final exam scores.
- Let be the final exam score for student
.
- Let
be the weight of the final exam (50%).
-
is the curved final score for
.
- For example, assume the following final exam scores:
After the curve has been applied, the scores will be
- final exam:
-
- Let be the set of final exam scores.
- Let be the final exam score for student
.
- Let
be the weight of the final exam (50%).
-
is the curved final score for
.
- For example, assume the following final exam scores:
After the curve has been applied, the scores will be
- final exam:
-
- Let be the set of final exam scores.
- Let be the final exam score for student
.
- Let
be the weight of the final exam (50%).
-
is the curved final score for
.
-
is the total curved
assignment score for student
.
- If, for whatever reason, the actual number of assignments
is less than the planned number, the
's will be
scaled up uniformly.
- For example, assume the following final exam scores:
After the curve has been applied, the scores will be
- final exam:
-
- Let be the set of final exam scores.
- Let be the final exam score for student
.
- Let
be the weight of the final exam (50%).
-
is the curved final score for
.
-
is the total curved
assignment score for student
.
- If, for whatever reason, the actual number of assignments
is less than the planned number, the
's will be
scaled up uniformly.
- The raw total score for student
is
- We round up to the nearest integer:
- The final grade assignment for student
is
- In other words, a student with a curved final exam score will fail
the class, regardless of their results on the other assessment
categories.
Policies
- I use an open door policy:
0.6
- Please come and see me to chat, ask questions, or snack:
0.6
- My goal is to keep class attendance high so that we can
get good discussions going in the class.
- You are not required to attend lectures, but...
you cut class at your own risk. x_s)
where is a set of scores (for an assignment, a test, etc.)
and

is a student.
Note:

is set subtraction.
returns

's score, curved up by

.
- For example, assume the following final exam scores:
After the curve has been applied, the scores will be
- final exam:
-
- Let be the set of final exam scores.
- Let be the final exam score for student
.
- Let
be the weight of the final exam (50%).
-
is the curved final score for
.
-
is the total curved
assignment score for student
.
- If, for whatever reason, the actual number of assignments
is less than the planned number, the
's will be
scaled up uniformly.
- The raw total score for student
is
- We round up to the nearest integer:
- The final grade assignment for student
is
- In other words, a student with a curved final exam score will fail
the class, regardless of their results on the other assessment
categories.
Policies
- I use an open door policy:
0.6
- Please come and see me to chat, ask questions, or snack:
0.6
- My goal is to keep class attendance high so that we can
get good discussions going in the class.
- You are not required to attend lectures, but...
Anything covered in class or in any of the required readings
is fair game on tests and exams.
- All holidays or special events observed by
organized religions will be honored for those students who show
affiliation with that particular religion. Absences pre-approved by the
UA Dean of Students (or Dean's designee) will be honored.
- The information contained in this course syllabus,
other than the grade and absence policies, may
be subject to change with reasonable advance notice, as deemed
appropriate by the instructor.
- The instructor reserves the right to
- add, drop, or change topics;
- change exam or homework dates, etc.
- Changes will be announced in class and on the
class web site! x$ is a set of scores (for an assignment, a test, etc.)
and
is a student.
- Note:
is set subtraction.
-
returns
's score, curved up by
.
- For example, assume the following final exam scores:
After the curve has been applied, the scores will be
- final exam:
-
- Let be the set of final exam scores.
- Let be the final exam score for student
.
- Let
be the weight of the final exam (50%).
-
is the curved final score for
.
-
is the total curved
assignment score for student
.
- If, for whatever reason, the actual number of assignments
is less than the planned number, the
's will be
scaled up uniformly.
- The raw total score for student
is
- We round up to the nearest integer:
- The final grade assignment for student
is
- In other words, a student with a curved final exam score will fail
the class, regardless of their results on the other assessment
categories.
Policies
- I use an open door policy:
0.6
- Please come and see me to chat, ask questions, or snack:
0.6
- My goal is to keep class attendance high so that we can
get good discussions going in the class.
- You are not required to attend lectures, but...
Anything covered in class or in any of the required readings
is fair game on tests and exams.
- All holidays or special events observed by
organized religions will be honored for those students who show
affiliation with that particular religion. Absences pre-approved by the
UA Dean of Students (or Dean's designee) will be honored.
- The information contained in this course syllabus,
other than the grade and absence policies, may
be subject to change with reasonable advance notice, as deemed
appropriate by the instructor.
- The instructor reserves the right to
- add, drop, or change topics;
- change exam or homework dates, etc.
- Changes will be announced in class and on the
You are responsible for checking this site regularly. x,s)$ returns
's score, curved up by
.
- For example, assume the following final exam scores:
After the curve has been applied, the scores will be
- final exam:
-
- Let be the set of final exam scores.
- Let be the final exam score for student
.
- Let
be the weight of the final exam (50%).
-
is the curved final score for
.
-
is the total curved
assignment score for student
.
- If, for whatever reason, the actual number of assignments
is less than the planned number, the
's will be
scaled up uniformly.
- The raw total score for student
is
- We round up to the nearest integer:
- The final grade assignment for student
is
- In other words, a student with a curved final exam score will fail
the class, regardless of their results on the other assessment
categories.
Policies
- I use an open door policy:
0.6
- Please come and see me to chat, ask questions, or snack:
0.6
- My goal is to keep class attendance high so that we can
get good discussions going in the class.
- You are not required to attend lectures, but...
Anything covered in class or in any of the required readings
is fair game on tests and exams.
- All holidays or special events observed by
organized religions will be honored for those students who show
affiliation with that particular religion. Absences pre-approved by the
UA Dean of Students (or Dean's designee) will be honored.
- The information contained in this course syllabus,
other than the grade and absence policies, may
be subject to change with reasonable advance notice, as deemed
appropriate by the instructor.
- The instructor reserves the right to
- add, drop, or change topics;
- change exam or homework dates, etc.
- Changes will be announced in class and on the
- There is no objectionable material in this class.
You will be completing your homework on the department's instructional
machine, Lectura. You will also have access to the department's lab in
Gould-Simpson 228. You can access Lectura over the network or by dialing
in. You will, therefore, need to set up an account on Lectura. To do so,
go to the seventh floor of Gould-Simpson during normal business hours
during the first few days of the semester and follow the instructions for
setting up an account. When you apply for your account, you will pick up
an application form. Fill out and return the form to Gould-Simpson 721 to
pick up a magnetic access card that will allow you 24-hour access to the
Gould-Simpson 228 lab.
Students with disabilities who require reasonable accommodations to
fully participate in course activities or meet course requirements
must register with the Disability Resource Center. If you qualify for
services through DRC, bring your letter of accommodations to me as
soon as possible. See http://www.salt.arizona.edu/.
- 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. You may not consult with others, except in ways specifically
authorized by the course instructor. You also may not plagiarize another
person's work or copy another person's code.
- Students are responsible for
understanding and complying with the University's Code of Academic
Integrity. A synopsis of the Code is attached; the full text is
available from the Office of the Dean of Students in Room 203 Old
Main. Among other provisions, the Code demands that the work you submit
is your own, and that graded papers and exams will not subsequently be
tampered with. Copying of another student's programs or data, or
writings is prohibited when they are part of a published class
assignment; it is immaterial whether the copying is by computer, xerox,
pen or other means. Witting collaboration in allowing such copying is
also a Code violation.
- Assignments in this course require individual attention and effort
- Violations of the Code will, at minimum, result in loss of credit
for a graded item. An egregious first violation or any second violation
will minimally result in failure of the entire course.
- See also http://studpubs.web.arizona.edu/policies/cacaint.htm
the University of Arizona Code of Academic Integrity.
I take academic integrity seriously! I will report every violation! f$ be the set of final exam scores.
Let be the final exam score for student
.
Let
be the weight of the final exam (50%).
is the curved final score for
.
-
is the total curved
assignment score for student
.
- If, for whatever reason, the actual number of assignments
is less than the planned number, the
's will be
scaled up uniformly.
- The raw total score for student
is
- We round up to the nearest integer:
- The final grade assignment for student
is
- In other words, a student with a curved final exam score will fail
the class, regardless of their results on the other assessment
categories.
Policies
- I use an open door policy:
0.6
- Please come and see me to chat, ask questions, or snack:
0.6
- My goal is to keep class attendance high so that we can
get good discussions going in the class.
- You are not required to attend lectures, but...
Anything covered in class or in any of the required readings
is fair game on tests and exams.
- All holidays or special events observed by
organized religions will be honored for those students who show
affiliation with that particular religion. Absences pre-approved by the
UA Dean of Students (or Dean's designee) will be honored.
- The information contained in this course syllabus,
other than the grade and absence policies, may
be subject to change with reasonable advance notice, as deemed
appropriate by the instructor.
- The instructor reserves the right to
- add, drop, or change topics;
- change exam or homework dates, etc.
- Changes will be announced in class and on the
- There is no objectionable material in this class.
You will be completing your homework on the department's instructional
machine, Lectura. You will also have access to the department's lab in
Gould-Simpson 228. You can access Lectura over the network or by dialing
in. You will, therefore, need to set up an account on Lectura. To do so,
go to the seventh floor of Gould-Simpson during normal business hours
during the first few days of the semester and follow the instructions for
setting up an account. When you apply for your account, you will pick up
an application form. Fill out and return the form to Gould-Simpson 721 to
pick up a magnetic access card that will allow you 24-hour access to the
Gould-Simpson 228 lab.
Students with disabilities who require reasonable accommodations to
fully participate in course activities or meet course requirements
must register with the Disability Resource Center. If you qualify for
services through DRC, bring your letter of accommodations to me as
soon as possible. See http://www.salt.arizona.edu/.
- 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. You may not consult with others, except in ways specifically
authorized by the course instructor. You also may not plagiarize another
person's work or copy another person's code.
- Students are responsible for
understanding and complying with the University's Code of Academic
Integrity. A synopsis of the Code is attached; the full text is
available from the Office of the Dean of Students in Room 203 Old
Main. Among other provisions, the Code demands that the work you submit
is your own, and that graded papers and exams will not subsequently be
tampered with. Copying of another student's programs or data, or
writings is prohibited when they are part of a published class
assignment; it is immaterial whether the copying is by computer, xerox,
pen or other means. Witting collaboration in allowing such copying is
also a Code violation.
- Assignments in this course require individual attention and effort
- Violations of the Code will, at minimum, result in loss of credit
for a graded item. An egregious first violation or any second violation
will minimally result in failure of the entire course.
- See also http://studpubs.web.arizona.edu/policies/cacaint.htm
the University of Arizona Code of Academic Integrity.
- Be courteous and treat others in the class with respect.
- Please be courteous to other students by refraining from
talking, playing loud music in your headphones,
silencing cell phones, pagers, etc.
- We come to class to learn: don't read the newspaper,
solve cross-word puzzles, etc.
Let's Have Fun!!! f^s$ be the final exam score for student

.
Let

be the weight of the final exam (50%).
is the curved final score for

.
-
is the total curved
assignment score for student
.
- If, for whatever reason, the actual number of assignments
is less than the planned number, the
's will be
scaled up uniformly.
- The raw total score for student
is
- We round up to the nearest integer:
- The final grade assignment for student
is
- In other words, a student with a curved final exam score will fail
the class, regardless of their results on the other assessment
categories.
Policies
- I use an open door policy:
- Please come and see me to chat, ask questions, or snack:
- My goal is to keep class attendance high so that we can
get good discussions going in the class.
- You are not required to attend lectures, but...
Anything covered in class or in any of the required readings
is fair game on tests and exams.
- All holidays or special events observed by
organized religions will be honored for those students who show
affiliation with that particular religion. Absences pre-approved by the
UA Dean of Students (or Dean's designee) will be honored.
- The information contained in this course syllabus,
other than the grade and absence policies, may
be subject to change with reasonable advance notice, as deemed
appropriate by the instructor.
- The instructor reserves the right to
- add, drop, or change topics;
- change exam or homework dates, etc.
- Changes will be announced in class and on the
- There is no objectionable material in this class.
You will be completing your homework on the department's instructional
machine, Lectura. You will also have access to the department's lab in
Gould-Simpson 228. You can access Lectura over the network or by dialing
in. You will, therefore, need to set up an account on Lectura. To do so,
go to the seventh floor of Gould-Simpson during normal business hours
during the first few days of the semester and follow the instructions for
setting up an account. When you apply for your account, you will pick up
an application form. Fill out and return the form to Gould-Simpson 721 to
pick up a magnetic access card that will allow you 24-hour access to the
Gould-Simpson 228 lab.
Students with disabilities who require reasonable accommodations to
fully participate in course activities or meet course requirements
must register with the Disability Resource Center. If you qualify for
services through DRC, bring your letter of accommodations to me as
soon as possible. See http://www.salt.arizona.edu/.
- 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. You may not consult with others, except in ways specifically
authorized by the course instructor. You also may not plagiarize another
person's work or copy another person's code.
- Students are responsible for
understanding and complying with the University's Code of Academic
Integrity. A synopsis of the Code is attached; the full text is
available from the Office of the Dean of Students in Room 203 Old
Main. Among other provisions, the Code demands that the work you submit
is your own, and that graded papers and exams will not subsequently be
tampered with. Copying of another student's programs or data, or
writings is prohibited when they are part of a published class
assignment; it is immaterial whether the copying is by computer, xerox,
pen or other means. Witting collaboration in allowing such copying is
also a Code violation.
- Assignments in this course require individual attention and effort
- Violations of the Code will, at minimum, result in loss of credit
for a graded item. An egregious first violation or any second violation
will minimally result in failure of the entire course.
- See also http://studpubs.web.arizona.edu/policies/cacaint.htm the University of Arizona Code of Academic Integrity.
- Be courteous and treat others in the class with respect.
- Please be courteous to other students by refraining from
talking, playing loud music in your headphones,
silencing cell phones, pagers, etc.
- We come to class to learn: don't read the newspaper,
solve cross-word puzzles, etc.
Footnotes
- ... 1
- That's right -- learning about programming languages is fun!
Christian Collberg
2008-01-16