Contact InformationCourse Outline (Subject to change)Course Outline (Subject to change)ldotsGrading (Subject to change)Prerequisites, Required Knowledge SyllabusRequired extracurricular activitiesSpecial materials required for the classAssignment Format Assessment SchemeTests, Quizzes, and AssignmentsLate AssignmentsMaking up TestsCurvingGrade AssignmentIncomplete work policyDetailed Grading SchemeDetails --- CurvingDetails --- Curvingldots Details --- ExamsDetails --- AssignmentsDetails --- Assignmentsldots Details --- Total ScoresDetails --- Grade AssignmentPoliciesOffice hoursCollberg's {Caf'e}Attendance PolicyAttendance Policyldotsedtxt {Subject to Change} Policy Notification of Objectionable Materials Computer Access/SetupHandicapped Accessibility Student Code of Academic IntegrityStudent Code of Academic Integrityldots Student Code of Academic Integrityldots Expected classroom behaviorPolicies against threatening behaviorNow What?520 —Spring 2008 — 0CSc 520Principles of ProgrammingLanguages0 : AdministriviaChristian [email protected] of Computer ScienceUniversity of ArizonaCopyrightc 2008 Christian Collberg[1]520 —Spring 2008 — 0Contact InformationClass : 520 PRINCIPLES OF PROGRAMMING LANGUAGESLecturer : Christian CollbergEmail : [email protected] : http://www.cs.arizona.edu/∼collbergOffice : 758Office Hours : Open door policyPhone : 621-6612Lectures : 15:00–16:15, MW, GLD-S 701Book : Programming Language Pragmatics. Michael ScottTA :TBA[2]520 —Spring 2008 — 0Course Outline (Subject to change)This course will define, analyze and evaluate importantconcepts found in current programming languages.Its goals are to build an ability to evaluate and compareprogramming languages.We will evaluate and compare languages both from theuser’s and implementor’s view.We will develop precise mechanisms for specifying thesemantics of programming languages.[3]520 —Spring 2008 — 0Course Outline (Subject to change)...In particular, we will cover the following topics:1. scope of objects and time of binding2. module mechanisms (e.g., blocks, procedures,coroutines)3. data abstraction, datatypes4. control structures5. storage management and runtime support6. operational, denotational, and axiomatic semanticspecification; attribute grammars7. applicative and object-oriented languages[4]520 —Spring 2008 — 0Grading (Subject to change)1. One final exam (50%) .(a) The exam is closed book.(b) Without prior arrangement, missed exam ⇒ grade ofzero.(c) Fail the exam ⇒ you will fail the course.2. “Several” homework assignments (50%) . Homeworksmay require programming, theoretical work, or paperpresentations.[5]520 —Spring 2008 — 0Prerequisites, Required KnowledgePrerequisites: C Sc 453, or equivalent background inCompilers.You need to be a competent programmer in aprocedural/object-oriented language, such as Java or C.[6]520 —Spring 2008 — 0SyllabusYou are responsible for readingand understanding this syllabus.If you have any concerns or issuesabout the information in this documentyou should bring them up during thefirst week of class.[7]520 —Spring 2008 — 0Required extracurricular activitiesProgramming assignments.Homework assignments.Reading the textbook.Working programming exercises on your own.[8]520 —Spring 2008 — 0Special materials required for the classNone.[9]520 —Spring 2008 — 0Assignment FormatAssignments will be mostly in the form of programmingproblems.You may work the assignments on any machine youwant, but before you hand them inyou should test the code on lectura! I will grade theassignments on lectura, and if they don’t work there, Iwon’t debug them for you!There can be subtle problems with code that’sdeveloped on a Windows machine, for example, when itis run on a Unix machine. For example, the twosystems use different newline characters.[10]520 —Spring 2008 — 0Assessment Scheme[11]520 —Spring 2008 — 0Tests, Quizzes, and AssignmentsThere will be1. one comprehensive final exam, worth a total of 50%;2. assignments, worth a total of 50%.[12]520 —Spring 2008 — 0Late AssignmentsAssignments handed in no more than 24 hours late willincur a 10% penalty.Assignments handed in more than 24 but no more than48 hours late will incur a 20% penalty.Assignments handed more than 48 hours after thedeadline will receive a grade of 0.[13]520 —Spring 2008 — 0Making up TestsYou cannot make up the midterm or final exam unless1. you have notified the instructor in writing (email is fine)or by phone prior to the test that you will be absent, and2. you receive permission from the instructor to take thetest at a later date.[14]520 —Spring 2008 — 0CurvingAll grades (for exams, quizzes, and assignments) willbe curved up by throwing away the highest grade in theclass and scaling up such that the second highestgrade is 100.The curving is done to adjust for particularly difficulttests/assignments, and to prevent an outlier fromskewing the grade distribution.You cannot, after scaling, receive more than 100 on anyexam, quiz, or assignment.[15]520 —Spring 2008 — 0Grade AssignmentYou will fail the class if you get less than 50 (aftercurving) on the final exam.Otherwise, a curved total grade of [90,100] gives you anA, [80,89] a B, [70,79] a C, [60,69] a D, and 59 andbelow an E.[16]520 —Spring 2008 — 0Incomplete work policyExcept under exceptional circumstances I will notassign incomplete grades.I decide what is an exceptional circumstance.[17]520 —Spring 2008 — 0Detailed Grading SchemeTo avoid any ambiguities, I have formalized the informalrules given above.The rules below should be considered minimumrequirements to achieve a particular grade. Theinstructor reserves the right to do additionaladjustments, as necessary.Any contradictions, omissions, errors, or ambiguities inthe grading scheme will be resolved by the instructor.Any issues or concerns regarding the grading schemeshould be brought to the attention of the instructorwithin the first week of class.[18]520 —Spring 2008 — 0Details — CurvingAll raw scores range from 0 to 100.Each individual score (final, midterm, quizzes,assignments) will be curved using the functioncurve(x, s) = min(100, (100.0/ max(x − max(x)))xs)where x is a set of scores (for an assignment, a test,etc.) and s is a student.Note: − is set subtraction.curve(x, s) returns s’s score, curved up by100.0/2nd_highest_class_score.[19]520 —Spring 2008 — 0Details —
View Full Document