Programming Languages

G22.2110.01
Summer 2008

Time and Location


Lecturer Info

Edward Osinski
osinski `at' cs `.' nyu `.' edu
Room 328, WWH
Office Hours: Thursday 8:30 - 9:30PM and by appointment

Teaching Assistant Info

Giuseppe Narzisi
narzisi `at' nyu `.' edu
Room 1010, 715 Broadway
Office Hours: Tuesday 3:00 - 5:00PM

Objectives

We will examine basic concepts underlying the design of modern general-purpose programming languages: types, control structures, abstraction mechanisms, inheritance, concurrency, garbage collection, constructs for programming in the large, etc. Implementation issues and data structures will be discussed. There will be programming assignments in several languages, functional and imperative. The languages are chosen because of the interest of their features, not necessarily because of their wide use. We will touch on Ada, C++, Java, Scheme, ML, and Haskell, and mention others.

Prerequisites

Undergraduate courses in data structures and algorithms or equivalent, as well as familiarity and programming experience in C, C++, Ada, Java, Pascal or a similar language.

Texts

Mailing list

Please sign up for the class mailing list as soon as possible. (It should be available a few days before class starts.) We will use this for various announcements and students can use it to discuss various homework problems, ask for clarification, etc.

Course Outline

Grading

There will be two tests: a midterm and a final. In addition, there will be a number of programming assignments, and some non-programming homework. The weights will be something like this:

Programming Assignments

There will be a number of programming assignments in various languages. In all cases, I will specify the compiler/interpreter to use, which will be available on the CIMS Solaris machines. You can work on the assignment on whatever machines you feel comfortable, but what you hand in must compile and run correctly on the Solaris compilers. Please make sure you have no problems logging in to your account as soon as possible.

Cheating Policy

Don't do it! The work you hand in should be your own. You can read the department's policy here. Violations are taken very seriously; here is a quote from the link above:

"Departmental policy is to give a grade of F in the course in which the cheating occurred."

If you find yourself falling behind, please see me before it's too late.