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.


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.


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


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





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.