Detailed study of features and concepts of both conventional imperative languages, including object-oriented languages, and less conventional paradigms, including functional and logic programming. Prerequisites Ability to program fluently in at least two high-level languages, preferably including Pascal. Additional readings may be handed out from time to time. Students unfamiliar with Pascal will want to obtain a reference manual. Assignments Most assignments will be drawn from exercises in the Kamin text, which is organized around a set of interpreters, written in Pascal, for a series of mini-languages that illustrate important language concepts.
Most exercises involve programming either in the mini-language being studied, or in Pascal.
Homework assignments will be distributed and collected weekly, except that no assignments will be due on exam dates. The midterm exam will be roughly one hour in length, and will be followed by a class discussion of the questions. The final exam will be roughly two hours. You are expected to use the machines on this network for doing the homework. If you don't already have an account on these machines, obtain one by filling out a form in the departmental office.