345H Programming Languages: Honors

Undergraduate Program

Survey of significant concepts underlying modern programming languages, including syntax, functions, expressions, types, polymorphism, assignment, procedures, pointers, encapsulation, classes, and inheritance, with some discussion of implementation issues. Prominent programming paradigms, such as sequential, concurrent, object-oriented, functional, and logic programming. Illustrative examples drawn from a variety of current languages. Three lecture hours a week for one semester. CS 345 and 345H may not both be counted.


The following coursework with a grade of at least C-: Computer Science 311 or 311H or 313K or 313H, 314 or 314H or 315 or 315H, 310 or 310H or 429 or 429H; Mathematics 408C, 408K, or 408N; and consent of the honors director.