Programming Languages

Course Information

Course Description

Design and use of mainstream programming languages: naming, scoping, type models, control structures, procedural abstractions, modularization. Implementation issues and runtime organization. Languages studied include C, C++, Java, Scheme, and ML. Extensive programming exercises in various languages.

Prerequisites

Undergraduate courses in data structures and algorithms or equivalent, as well as familiarity and programming experience in a high-level language like C, C++, Java, or a similar language.

Lectures

Thursday 7:10-9:00pm in room 109 of Warren Weaver Hall.

Recitations

Tuesday 8:10-9:00pm in room 102 of Warren Weaver Hall.

Texts

Required

Recommended

Grading

Final grades will be based on the following:

30% Weekly Assignments
30% Midterm Exam
40% Final

Academic Integrity

Please review the
departmental academic integrity policy. In this course, you may discuss homework problems and assignments with other students, but the work you turn in must be your own. Do not copy another student's work. Also, you should consult the instructor before using materials or code other than that provided in class. Copying code or other work without giving appropriate acknowledgment is a serious offense with consequences ranging from no credit to potential expulsion.