CS 345 Programming Languages (Spring 2017)

Course Information

CS345 Spring
MWF 11:00AM-12:00PM
Location: WEL 2.312
Web: http://www.cs.utexas.edu/~wcook/Courses/345


Instructor: William Cook Email: wcook@cs.utexas.edu
Phone: (512) 471-9555
Office: GDC 5.824
Office Hours: Monday, Friday 11:00-12:00am (or by appointment) 

Teaching Assistant: Akshay Kamath
Email: kamath.akshay@gmail.com
Office Hours: 3-5 mondays, 3-4 thursday at TA Station, basement of GDC


Survey of significant concepts underlying modern programming languages, including syntax, semantics, 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. Uses Haskell to implement interpreters for a variety of language features.


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. 


Anatomy of Programming Languages A new book I'm writing for this class!

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 2 hours, or at most 24. Questions and responses that may benefit the entire class will be posted to the course web site.

Lectures and Reading

It is to your advantage to attend every lecture. Please read the chapter before the date listed on the schedule, so that you will have a better understanding of the lecture.

Homework Programming Assignments

Homework assignments will be given in class and posted on the web site. Homeworks are generally due a few days after they are assigned. You must work individually on homeworks. Problems such as printer failures and late buses are routine occurrences, and are not grounds for extending homework deadlines. To avoid problems, get an early start on your homework and allow for Murphy's Law. Homework solutions will be discussed in class.

The graders have been instructed that in grading homework papers and test answers, the burden of proof is on the student. That is, it's not the grader's job to prove an answer wrong, but the student's job to convince the grader that it's correct. 10% late penalty per day late.


Books and notes are excluded from tests and examinations.

Midterm exam

To Be Defined

Final exam



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 instructor may lower the boundaries between the grades, but will not increase them. Grades will be posted on Canvas.





Individual work





Closed book

Final exam


Closed book

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


Read the department's academic policy page at http://www.cs.utexas.edu/users/ear/CodeOfConduct.html. Students who demonstrably violate the Academic Honesty policy will receive a failing grade in the class. We will be using the Moss system to screen submitted programs for plagiarism.