The spring semester 2006 class meets in Weir Hall 235 from 8:00 a.m. until 9:15 a.m. on Tuesdays and Thursdays.
The class is taught by Prof. Conrad Cunningham, whose office is 203 Weir Hall. Prof. Cunningham’s official office hours for this semester are 10:00 a.m. until 11:30 a.m. on Monday and Wednesday by appointment at other times.
Prof. Cunningham’s voice telephone number is (662) 915-5358 and fax number is (662) 915-5623. His WWW home page is http://www.cs.olemiss.edu/~hcc/ and his email address is cunningham@cs.olemiss.edu (send).
The WWW home page for this class is http://www.cs.olemiss.edu/~hcc/csci550/.
The final examination for this class is scheduled at 8:00 a.m. on Tuesday, 9 May.
“It is the responsibility of any student with a disability who requests a reasonable accommodation to contact the Office of Disability Services (915-7128). Contact will then be made by that office through the student to the instructor of this class. The instructor will then be happy to work with the student so that a reasonable accommodation of any disability can be made.”
Upon completion of this course, the student will be able to specify simple programs formally and prove them correct. The student will understand predicate logic and guarded command semantics. The student should also be able to apply basic program derivation techniques.
A study of formal methods for the specification, derivation, and verification of computer programs. Predicate logic; notations for specification of programs; programming language semantics; calculational techniques for the derivation of programs. (3 hours lecture)
Senior or graduate standing in computer science. (Previous study of introductory discrete mathematics, data structures, and algorithms is assumed.)
David Gries. The Science of Programming. Springer Verlag 1981.
Edward Cohen. Programming in the 1990’s. Springer-Verlag, 1990.
H. C. Cunningham. A Programmer’s Introduction to Predicate Logic. Technical Report UMCIS-1994-02, February 1994, Revised January 1996. Reprinted January 2006. [ PDF]
H. C. Cunningham. Feijen’s Table of Cubes Problem. Technical Report UMCIS-1994-02, March 1994, Revised August 1996. Reprinted Janaury 2006. [ PDF]
Various journal and conference articles and research reports as appropriate.
As a student in Csci 550, you are expected to conduct yourself in a professional manner according to the Honor Code of the School of Engineering, the Information Technology Appropriate Use Policy, the M Book, and any other relevant policies.
Limited Collaboration Policy. Unless otherwise indicated, any homework assignment or programming exercise given in this class will be an individual assignment. The work you submit is to reflect the knowledge, understanding, and skill that you have attained as an individual. However, the instructor does want to encourage the development of a community of scholars who are actively engaged in discussion of the ideas related to this course. With this in mind, you are allowed to discuss solutions of the homework and programming problems with other students if done so according to the following guidelines:
You may discuss ideas for homework and programming assignments with your classmates. However, you cannot collaborate on writing the solution or the program code. That is, you can talk about the problems and ideas for solving them, but you cannot write things down with anyone else. You are, of course, prohibited from copying or seeing another student’s written solution, and you are not allowed to show your work to anyone else.
You should accept help with care. If you work too closely with another student, you might mislead yourself into believing that you understand the concepts and techniques better than you actually do. Don’t forget that the instructor has office hours and can probably give you hints or suggestions to get you started.
You should give help with care. Do not help anyone too much. When you have solved a problem, it is tempting to just tell other students how you solved it. Instead, try to allow them to come to the solution on their own. Maybe give them a hint to help them get “over a hump.” Remember that helping someone too much will hurt them in the long term if they can’t work through problems on the exams by themselves. So avoid the temptation to do so. If you can’t help other students without giving away the whole solution, direct them to see the instructor (who may or may not have a way to “edge” them toward the solution).
You are not obligated to help anyone. If you feel uncomfortable helping another student for any reason, please direct them to see the instructor.
Except as described above, all work in this class is covered by the School of Engineering’s Honor Code statement on plagiarism. It is plagiarism “to knowingly deceive, copy, paraphrase, or otherwise misrepresent your work in a manner inconsistent with professional conduct”.
All students are expected to study the relevant portions of the textbook and handouts in conjunction with our class discussions. Explicit reading assignments will not always be given.
No required (on-machine) programming assignments are planned.
Homework problem sets will be assigned periodically (e.g., weekly); approximately one week will be allowed for completion of each assignment.
All students are expected to do their own work on homework assignments unless the assignment is explicitly specified as a group project.
All students are expected to complete their homework assignments by their due dates. (Late homework papers might be accepted for a few days after the due date, but grade penalties will increase daily. No homework will be accepted after the final examination period.)
There will be three examinations; the third examination is optional for those persons who have a grade of “A” going into the final examination.
The examination portion of the semester grade will be calculated by averaging the two best examination grades.
The first examination will be given in late February or early March.
The second examination will be given in mid-April.
The third examination will be given during the final examination period. (Students who opt not to take the final examination may be given an assignment that is due during finals week.)
Each exam will cover all topics studied to that point.
Each exam may consist of a combination of in-class and take-home components.
If you cannot take an examination at the scheduled time because of an illness or other special circumstances, please notify Prof. Cunningham in advance. Without advance notification, it may not be possible to give a make-up examination.
Please do not ask to take the final examination earlier than the time set for the entire class.
My grading scale is A [90..100], B [80..90), C [70..80), D [60..70), and F [0..60).
Two-thirds of the semester grade will come from the exam average and one-third from the homework assignment average.
[ CSci 550 Home]
[ Cunningham’s Home | Teaching]
[ Department’s Home | Courses]
Send any comments or suggestions to Prof. Conrad Cunningham, cunningham@cs.olemiss.edu.
Copyright © 2006, H. Conrad Cunningham
Last modified: 16 Jan 2006.