Office hours: Tue 3:30-5pm, Thu 2-3:30pm, or by appointment.
Bharat Khatri
201C MLH
353-2446
bkhatri@cs.uiowa.edu
Office hours: Mon 12:30-2:00pm, Wed 12:30-2:00pm.
Grades of C- or higher in 22C:034, 22C:044, and 22C:054; or consent of instructor.
You are expected to check both the web site and its related bulletin board daily for announcements regarding the course.
Additional reading material and handouts will be available from the course web site.
There will be one midterm exam and one final exam. The midterm will be held during class time. The final exam will be held as per university schedule.
The weighting of items in grade determination will be the following:
| Class Participation | 05% |
| Homeworks | 30% |
| Midterm | 25% |
| Final Exam | 40% |
The following cutoffs will be used to determine letter grades. In the ranges below, x stands for your total score at the end of the semester. Final scores near a cutoff will be individually considered for the next higher grade. Plus(+) and minus(-) grades will also be given; their cutoffs will be determined at the end of the semester.
| Score | Grade |
|---|---|
| 88 <= x < 100 | A |
| 75 <= x < 88 |
B |
| 60 <= x < 75 | C |
| 50 <= x < 60 | D |
| 00 <= x < 50 | F |
We do not curve grades in this course. It is theoretically possible for everyone in the class to get an A (or an F). Your final grade depends only on your own performance and not on that of others.
Textbooks: You are expected to study all the material in each chapter covered in the readings even if that material is not explicitly discussed in class or in the homework. You are also expected to study the extra material presented in class which is not in the textbook. If you must miss a class, get notes from a classmate. Material presented in class, but not in the book may appear on tests.
Readings and discussions: You are urged to consult sources other than our text, including both reserve books and on-line material, even if there is no directed outside reading assignment. You are also encouraged to discuss the course topics with your classmates. It is a genuinely helpful learning activity having to formulate your own thoughts about the material well enough to express them to others.
Homework assignments: You are allowed and encouraged to discuss the
homework assignments with your classmates, but you are not allowed to share
solutions. Since the homework counts as a significant portion of your
grade, it is expected that the submitted work be strictly your own.
(The following rule of thumb will help you not to cross the line: discuss
the assignments together but do not take any written notes; go home and write
the solution by yourself.)
Cheating: Copying someone else's work or sharing solutions will result in a zero on the assignment for the first offense and an F in the course for the second offense.
Late submissions: Written assignments are to be submitted in class,
before the class starts. Late written assignments can be handed in
during office hours or in class. Alternatively, they can be put in the instructor's
or the TA's mailbox. In that case, you must notify us by email at once.
Programming assignments are to be submitted electronically by or after the given
deadline, subject to the penalty and limitations below.
Both late written and programming assignments will be graded according to the
following policy:
Extra credit: No extra-credit homeworks or tests will be given on an individual basis (although they maybe given to the whole class).
Make-up exams: Make-up exams will be offered only if there is a serious, documented reason for not being able to attend a scheduled exam, and if the request is made at least a week before the scheduled exam.
Regrading: If you think that your homework assignment has been misgraded and deserves a regrading, you are invited to let us know. Go see the class TA first, and then the instructor, if you are unhappy with the TA's response. Regrading policies for the midterm will be announced in class when the graded exams are handed back. We welcome and will give full consideration to all well motivated regrading requests.
Special needs: The instructors must hear from anyone who has a disability that may require some modification of seating, testing, or other class requirements so that appropriate arrangements can be made. Please see the instructor after class or during office hours.
We will use the HP and Linux workstations in the CS Educational Lab in 301 MLH. Please see the instructor after class if do not have a CS account yet.
| Topic | Readings |
|---|---|
| Introduction | Chap. 1 |
| Operational semantics | Chap. 2 |
| Principles of induction and inductive definitions | Chap. 3,4 |
| Denotational semantics of IMP, a simple imperative language |
Chap. 5 |
| Axiomatic semantics of IMP | Chap. 6 |
| Introduction to domain theory | Chap. 8 |
| Recursion Equations | Chap. 9 |
| Techniques for recursion | Chap. 10 |
| Languages with higher types | Chap. 11 |
| Recursive types | Chap. 13 |