Programming Languages. An introduction to the organization of high-level programming languages, including data types, control structures, data flow, and runtime environments. Use of formal syntax descriptions. The implications of interpretation versus compilation. Activation records and dynamic storage in block structured languages.
The lectures will treat most of the topics in Mitchell's Concepts in Programming Languages in the order they appear in the textbook. Emphasis will be placed on program implementation and the functional programming paradigm.
This course is designed with the assumption that students have learned to and are able to program in C, C++, Java, or a similar high-level imperative or object-oriented programming language. The formal pre-requisites are:
The final grade is expected to be weighted average of the following components:
The recitations will include individual and group programming exercises, and participation in these exercises will be a strong determinate of the participation component of the final grades. Attendance in the lecture is also expected, and extensive absenteeism (more than four absences over the semester) or disruptive behavior may result in a lower participation grade.
The weekly homeworks problems sets will be due at the beginning of each Friday's lecture (except for 1/20 and 3/10). As a matter of policy, late homeworks will not be accepted, but the lowest homework score will be dropped.
For the exams, students will be responsible for all the material covered in the text book, on the homeworks, or in the lectures, but the most important material will be covered in multiple formats. Except in the most extenuating circumstances, make up exams will not be given. The midterm exam is scheduled for the Friday before Spring Break; Spring Break travel plans do not constitute a valid excuse for missing the midterm. The final exam is comprehensive, but will focus on material covered after the midterm.
Unless stated otherwise in the instructions for the particular assignment, Students may collaborate with other students on the homework assignments, but
Students are expected to behave ethically and work individually on the examinations. Please refer to UTSA's Student Code of Conduct for a description of expected behavior and the potential penalties for scholstic dishonesty.