Programming Languages

G22.2110.01
Spring 2006

Time and Location


Instructor Info

Edward Osinski
osinski `at' cs `.' nyu `.' edu
Room 1023, WWH
Office Hours: Wednesday 4pm - 5pm or by appointment

Grader Information

Ilya Rosenberg
ilya `at' cs `.' nyu `.' edu



General Announcements

The first class will be held on Wednesday, January 18th at 5 PM (i.e., the recitation session). I intend to give an overview of the course and cover various administrative issues such as assignment and exam policies, texts, etc. A rough syllabus for the course will be provided.

Objectives

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

Prerequisites

Undergraduate courses in data structures and algorithms, strong 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 possibly 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.

Code for parts of the assignments can be found here.

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.