CS 336 Syllabus


Course: CS 336 - Analysis of Programs
Purpose: To teach students how to argue rationally about programs.
Time: Tu-Th 9:30-11
Instructor: A. K. Cline
Office: Taylor 3.104 A
Office Hours: Th 11-12, F 2-3, and by appointment
Email: cline@cs.utexas.edu
Teaching Assistant: Razvan Bunescu
Office: To Be Announced
Office Hours: To Be Announced
Discussion Sessions: To Be Announced
Email: razvan@cs.utexas.edu
Prerequisite:
PHL 313K, M 408C, CS 307, and CS 315
Background:
Topics:
Grading:
Comments:

1. Good homework cannot make up for poor exams nor good exams for poor homework. To do well in the course grade, students must have good homework and exams.

2. There will be approximately three homework problems assigned at every class. These will be due at the beginning of the following class. Solutions for each problem set will be distributed.

3. There will be no regular text for the class although notes will be distributed on occasion. It is very important that students attend each class.

4. It is expected that every student will contribute to the class.

5. An excellent summary of expectations is found at http://www.cs.utexas.edu/users/ear/CodeOfConduct.html


Homework Specifications:

1. Your solutions must be legible. If your writing is not legible, use a word processor.

2. Do not employ any pictures. Pictures can have value for presenting overall ideas about proofs - they cannot substitute for the text of the proof.

3. Every sentence - even those using mathematical notation - must be readable. There must be clear subjects and verbs - not just random phrases.

4. Every claim you make must follow from the hypothesis or from the previous claims. When you believe you have completed a solution, test yourself by reading it and ensuring that it is clear how the claims follow one another one-by-one.

5. Criticize your own solutions. You should be learning not only how to create solutions but how to recognize correct ones. If you wonder about having too much or too little detail, err always on the side of too much detail.

6. If you realize that your logic has gaps, admit that. Put comments about such omissions or possible errors in boxes.