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 are familiar with mathmatical induction, and have learned to and are able to program in C, Java, or a similar high-level imperative or object-oriented programming language. The formal pre-requisites are:
The textbook for this course will be John Mitchell's "Concepts in Programming Languages." The textbook errata can be found at http://theory.stanford.edu/people/jcm/books/cpl-errata.html.
Some additional material supporting the lectures can be online:
And, in support of the labs, you may wish to refer to
Laboratories:
Midterm: HSS 3.02.30; October 25; 9:00 - 9:50am (tentative)
Final Exam: HSS 3.02.30; Tues, Dec 12; 7:30 - 10:15am
Instructor: Jeffery von Ronne
Office Hours: SB 4.01.34; Wed 10-11am, Fri 11am-12pm and by appointment
Email: vonronne@cs.utsa.edu
Phone: (210) 458-5667
TA: TBD
The final grades will be assigned based on the weighted average of the following components:
CS 3721 will include individual and group programming exercises, and participation in these laboratory exercises will be a strong determinate of the participation component of the final grades. Students may miss up to two laboratory sessions without penalty, but additional absences will be reflected in the participation grade. After each lab, students will be expected to write up a short report to be turned in at the next lecture (the lowest two scores will be dropped). Attendance in the lecture is also expected, and extensive absenteeism (more than six absences of lectures over the semester) or disruptive behavior may also result in a lower participation grade.
Unless otherwise noted, each week's homeworks problems sets will be due promptly at the beginning of each Friday's lecture. As a matter of policy, late homeworks will not be accepted, but the lowest two homework scores will be dropped.
Exams will be comprehensive, and students will be responsible for all the material covered in the text book, on the homeworks, or in the lectures. The most important material, however, will be covered in multiple formats. Except in the most extenuating circumstances, make up exams will not be given.
Lab reports must be completed individually, but—unless otherwise stated in the instructions for the particular assignment—students are encouraged collaborate with other students on the homework assignments. When collaborating, however, each student
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.