- posted final questions and example solutions - Good bye and good luck!
| Lecture: | Thursdays 6:00-8:20, Room 102, WWH |
| Instructor: | Martin Hirzel, hirzel@cs.nyu.edu, 401 WWH |
| Recitation: | Mondays 7:10-8:10, Room 102, WWH |
| Teaching assistant: | Abhijit Guria, guria@cs.nyu.edu, 417 WWH, 212-998-3106 |
| Instructor office hours: | Thursdays 5:00-6:00pm, Room 401, WWH, or by appointment |
| TA office hours: | Mondays 6:10-7:10pm, Room 417, WWH |
| Text book: | Programming Language Pragmatics, Second Edition (2006), by Michael Scott |
| Mailing list: | http://www.cs.nyu.edu/mailman/listinfo/g22_2110_001_su07 |
| Date | Lecture and recitation topic | hw | Reading assignment |
|---|---|---|---|
| Th 5/17 | Introduction and syntax | hw01 | Scott 1.2, 1.3, 2.1 |
| Th 5/24 | Imperative languages (Python) | hw02 | Scott 6.0, 6.1.0-6.1.1; van Rossum 1-5 |
| Th 5/31 | Functional languages (Scheme) | hw03 | Scott 10.0, 10.2, 10.3.0-10.3.4; Candolin |
| Th 6/7 | Names, scopes, and binding | hw04 | Scott 3.2, 3.3.0-3.3.3, 3.3.6 |
| Th 6/14 | Low-level languages (C) | hw05 | Scott 7.7.0-7.7.1; Drexel 1-10 |
| Th 6/21 | Midterm exam | ||
| Th 6/28 | Types and modules (Ada) | hw06 | Scott 7.1.0-7.1.3, 7.2.0-7.2.2; Wheeler 1-6, 8-9 |
| Th 7/5 | Object-oriented languages (Java) | hw07 | Scott 9.1, 9.4.3; Sun classes, objects, more on classes, interfaces, inheritance, strings, packages |
| Th 7/12 | Subroutines | hw08 | Scott 8.1, 8.2.0, 8.3.0-8.3.1, 8.5.0-8.5.2 |
| Th 7/19 | Parametric polymorphism (SML) | hw09 | Scott 7.2.4 (on CD); Cumming |
| Th 7/26 | Concurrency | hw10 | Scott 12.3.4-12.3.5, 12.4.2-12.4.3 |
| Th 8/2 | Final exam |
Code examples from homeworks. The file names end in ".txt", so that your web browser will display or download the code when you click on the link. If you would like to write some more code on your own, the table gives you some ideas for extending the code examples.
| Description | Language | File | Practice ideas |
|---|---|---|---|
| Data formatter | Python | hw01-py-example.txt | - allow escaped doublequotes in values - sort the table by a user-specified column - support relational select, project, and join |
| Differentiator | Scheme | hw02-scm-example.txt | - other differentation rules - further simplification - omit spurious parentheses in toStrng function |
| Linked list | C | hw05-c-example.txt | - fix that bug - provide an interactive driver - implement concatenation, sorting, reverse |
| Stack | Ada | hw06-ada-driv.txt hw06-ada-spec.txt hw06-ada-body.txt | - change internal representation from array to list - make robust for unexpected inputs - interpret operators: pop operands, push result |
| Stack | Java | hw07-java-driver.txt hw07-java-intvector.txt hw07-java-intstack.txt | - change internal representation from array to list - make robust for unexpected inputs - interpret operators: pop operands, push result |
| Statistics | SML | hw08-sml-example.txt | - compute geometric mean or median - turn standard_deviation_helper into nested function - do excursions from Cumming tutorial |
| Graduate cs.nyu.edu courses: | http://www.cs.nyu.edu/web/Academic/Courses/summer07.html |
| Graduate cs.nyu.edu schedule: | http://www.cs.nyu.edu/web/Academic/Graduate/registration/sum07.html |
| PL in previous semesters: | Spring'07 (Hirzel), Fall'06 (Strom), Summer'06 (Balaban), Spring'06 (Osinski) |
| Core exam syllabus: | http://www.cs.nyu.edu/web/Academic/Graduate/exams/syllabii/core.html |
| Graduate course descriptions: | http://cs.nyu.edu/web/Academic/Graduate/courses.html |
| Academic dishonesty policy: | http://www.cs.nyu.edu/web/Academic/Graduate/academic_dishonesty.html |