CS 345H Programming Languages Fall 2011 Syllabus


CS345H Fall 2011
Time: MWF 9:30-11am
Location: NOA 1.102
Unique: 52415
Web: http://www.cs.utexas.edu/~wcook/Courses/345H


Instructor: William Cook
Email: wcook@cs.utexas.edu
Phone: (512) 471-9555
Office: ACES 5.244
Office Hours:
Monday 11-12
Wednesday 1-2
Thursday 11-12
(or by appointment)

Teaching Assistant: Alex Loh
Email: alexloh@cs.utexas.edu
Office Hours:
Monday 11-12:30 (PAI 5.38)
Thursday 11-12:30 (NOA 1.102 / PAI 5.38)


Detailed study of concepts underlying modern programming languages, including syntax, semantics, abstraction, types, polymorphism.


The following courses, with a grade of at least C in each: Computer Sciences 310(H), 336(H), and Mathematics 408D. If you have not taken these courses and earned a grade of 'C' or better in each, then you will be automatically dropped from this course. Please see a departmental advisor immediately if you do not satisfy the prerequisites. If you have taken this course before, you must have departmental permission to take it again.

Programming Languages: Application and Interpretation

by Shriram Krishnamurthi
PDF for reading online
PDF for printing (2 pages per sheet)
print on demand from Lulu

[optional, but useful]
Teach Yourself Scheme in Fixnum Days
by Dorai Sitaram
PDF for reading online
PDF for printing (2 pages per sheet)

Office Hours

Normal office hours are posted on the web site; temporary changes may be announced in class and posted on the web. You may also request an appointment in person, by telephone, or via e-mail. Feel free to send questions via email to the instructor or the TA. We will try to respond to all mail questions within 24 hours, or at most 48. Questions and responses that may benefit the entire class will be posted to the course web site.


The lectures will follow the outline of Programming Languages: Application and Interpretation . It is to your advantage to attend every lecture. Lecture presentations will be placed on the course web site after the lecture. Please read the chapter before the date listed on the schedule, so that you will have a better understanding of the lecture.

Programming Assignments

There will be many programming assignments in this class. The assignments should not take too long if you think about them in advance. But they can take arbitrarily long if you simply jump in and try to hack something together. Unless otherwise specified in the assignment, you are to work on the programming assignments on your own, without assistance from classmates, other people, or resources other than documentation of language features in books or online tutorials. Using Internet search engines to search for solutions to assignments is expressly forbidden. It is assumed that you have access to a departmental or personal UNIX™, Linux, MacOS X or Windows™ computer system for programming. Language systems used in this course are available on multiple platforms. Information for how to obtain language systems will be provided. You must submit your work via the CS “turnin” program (which is different from the windows lap turnin program).


There will be a midterm and a comprehensive final. Books and notes are excluded from tests and examinations.


The grades will be based on the standard academic scale: A: 90-100; B: 80-89; C: 70-79; D: 60-69; F: 0-59. The boundaries between the grades may be lowered, but will not be increased. Grades will be posted on eGradebook which can be accessed via UT Direct.



Programming Assignments




Oct 25th in class



Friday, December 9, 2:00-5:00 pm

Requests for changes in any grades must be submitted in writing within one week after the paper is handed back. Delay in picking up a graded paper does not extend this deadline.


Any student with a documented disability (physical or cognitive) who requires academic accommodations should contact the Services for Students with Disabilities area of the Office of the Dean of Students at 471-6259 (voice) or 471-4641 (TTY for users who are deaf or hard of hearing) as soon as possible to request an official letter outlining authorized accommodations