CSE 428, Spring 2002: Syllabus

Section 1 Section 2
Instructor: Dale Miller
Email: dale@cse.psu.edu
Phone: 865-6725
Office: 321 Pond
Off. Hours: M 4-5, W 11-12 and by appointment
Instructor: Catuscia Palamidessi
Email: firstname@cse.psu.edu
Phone: 863-3599
Office: 325 Pond
Off. Hours: T, R 10-11am and by appointment
Schedule:
Lectures:T,R 2:30-3:45 in 260 Willard
Midterms: MT 1: Feb 14, 8:15-10:15pm in 10 Sparks
MT 2: Mar 28, 8:15-10:15pm in 10 Sparks
Final: Monday 29 April, 2:30-4:20 in rooms 273 and 260 Willard
Schedule:
Lectures:T,R 11:15-12:30 in 358 WILLARD
Midterms: MT 1: Feb 14, 8:15-10:15pm in 10 Sparks
MT 2: Mar 28, 8:15-10:15pm in 10 Sparks
Final: Thursday 2 May, 12:20-2:10 in rooms 258 and 358 Willard

Teaching assistants:

Guilin Chen
Email: guilchen@cse.psu.edu
Phone: 865-9191
Office: 125 Hammond
Off. Hours: M,W 12:00-1:30

Li Xu
Email: lux100@psu.edu
Phone: 865-9189
Office: 129 Hammond
Off. Hours: M, W 1:30-3:00

Course Description: The goal of this course is to provide a foundation for understanding, designing, and implementing programming languages. In this course we will study essential concepts and structures found in modern programming languages. We will not focus on any one particular language, but rather we will examine features found in many different languages. We will also compare different programming paradigms, including imperative, functional, concurrent, and object-oriented. We will study the specification of programming language syntax and semantics, and the verification of program properties.

Textbook: Readings and assignments will be made form the following textbook: Programming Languages: Principles and Paradigms by Allen Tucker and Robert Noonan (McGraw Hill, 2002).

Mailing list: Announcements concerning the course will be sent by email, via the mailing list of the course (cg428_class). It is very important that you check your CSE account regularly, or that you put a forward to the account you normally use. The login name of your CSE account should be in one of these lists: Section 1, Section 2. We will send a test message to the above mailing lists by January 10. If you did not receive this message, please send email to lab-support to ensure that your login is correctly inserted in the mailing list.

Quizzes: Quizzes will be held in class on most every Thursday, for a total of 10 quizzes. (See the class schedule for specific dates.) These will mostly cover the material presented that week. No makeup quizzes will be offerred. Only 8 quizzes are required. Beyond that, quizzes count as extra credit.

Assignments: There will be approximately 6 assignments. The purpose of these assignments is to gain experience with new programming paradigms and with principles studied in class. Assignments are due at the end of class on the date specified. They will be accepted after that time until the end of the next class with a 20% penalty. All programming assignments should be submitted both on paper in class and electronically to cg428@cse.psu.edu.

Academic Integrity: Every student is expected to submit only their own original work, or where applicable, to cite the origin of the code. Any work submitted by a student which they did not originally develop must explicitly indicate the source of the work. Such sources include the textbook, other reference books, material on the web, and other individuals. The exception is material presented or distributed in class which can be used freely. Failure to follow these guidelines will result in swift and severe actions.

Exams: There will be two midterm examinations, the first on February 14, the second on March 28 (evening exams). Furthermore, there will be a comprehensive final examination, which will be scheduled during the week of finals.

Grading: Final grades will be determined via a combination of the assignments (20%), the quizzes (20%), the midterm examinations (15% each) and the final examination (30%). Usually, in a scale from 0 to 100, the final grades are roughly in the following correspondence with the numerical grades:

The above table is based on the experience of previous semesters and it is meant only to give you an idea. The actual grading will depend also on other factors, like the "natural cuts" on the distribution, the general performance of the class, etc.

Other dates: For late drop date, holidays, etc., see the Academic Calendar.