|
Location |
CS345H Fall 2007 |
||||||||||||||||||||
|
Staff |
Instructor: William
Cook |
Teaching Assistant:Ali
Ibrahim |
|||||||||||||||||||
|
Overview |
Detailed study of concepts underlying modern programming languages, including syntax, semantics, abstraction, types, polymorphism. Projects using Lex, Yacc and interpretation techniques. |
||||||||||||||||||||
|
Prerequisites |
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. |
||||||||||||||||||||
|
Texts |
|
||||||||||||||||||||
|
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. |
||||||||||||||||||||
|
Lectures |
The lectures will generally follow the outline of Programming Languages: Principles and Paradigms. 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. |
||||||||||||||||||||
|
Homework |
Homework assignments will be given in class and posted on the web site. It's OK for you to work on the homework exercises with other students, and a team of up to four students may hand in a joint paper. You must clearly state who worked on the homework: list all your names at the top. 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. |
||||||||||||||||||||
|
Quizzes |
There will be occasional in-class quizzes that will be based on recent lectures, the assigned reading and homework assignments. Quiz days will not be announced in advance. If you miss a quiz, a grade of zero is assigned for that quiz. The lowest quiz grade and lowest homework grade will be dropped in computing your final homework and quiz average for the course. Questions about quiz grading must be made in person to the TA by the next class day after the quiz is returned. |
||||||||||||||||||||
|
Programming Projects |
One
of the goals of this course is to gain basic familiarity with a variety of
language concepts and their manifestation in different languages. To achieve
this goal, there will be a several moderately challenging programming
assignments in various languages. 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. |
||||||||||||||||||||
|
Exams |
Books and notes are excluded from tests and examinations, except that you may bring one or two sheets of handwritten notes (i.e., one sheet of 8.5"×11" paper, written on one or both sides).
|
||||||||||||||||||||
|
Grading
|
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.
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. |
||||||||||||||||||||
|
Notice |
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 |
||||||||||||||||||||