"Jim in four weeks created the GigAssembler by working night and day," Dr. Haussler said. "He had to ice his wrists at night because of the fury with which he created this extraordinarily complex piece of code."
--- David Haussler, quoted in Grad Student Becomes Gene Effort's Unlikey Hero,
by Nicholas Wade, page F1, The New York Times, 13 February 2001
The prerequisite for this course is significant programming experience. At the undergraduate level that means senior standing; at the graduate level that means completion of all the required 50* bridge courses.
This course will be run as a programming practicum involving three one-month projects. See the syllabus for details.
The class runs from Tuesday, 22 May, through Tuesday, 14 August. The class meets in Howard Hall 530 on Tuesdays and Thursdays, 4:00 to 6:15 p.m. There will be class on Tuesday, 3 July, and Thursday, 5 July.
This course will be taught as a programming practicum, which means we will be learning about extreme programming by applying it in programming projects.
The final grade is a straight, unweighted average of the programming project grades; that is, there are three grades total and each grade constitutes one-third of your final grade.
The usual grade ranges are in effect:
All grades are kept with one digit of precision to the right of the decimal point and 0.05 rounded up. No grades are adjusted to a curve; that means, for example, that 89.9 is always a B+, never an A-.
95 <= A 90 <= A- < 95 86.6 <= B+ < 90 83.3 <= B < 86.6 80 <= B- < 83.3 76.6 <= C+ < 80 73.3 <= C < 76.6 70 <= C- < 73.3 60 <= D < 70 F < 60
Extreme Programming Installed by Ron Jeffries, Ann Anderson, and Chet Hendrickson; Addison Wesley, 2001.A copy of the textbook has been placed on reserve at the Guggenheim Library.
Mail relevant to the class will be stored in a hyper-mail archive. If your message is of general interest to the class, I'll store it, suitably stripped of identification and along with my answer, in the archive.
As an experiment, the class also has a FAQ-O-Matic to allow many-to-many communication via the WWW. Currently, the class FAQ-O-Matic can only be accessed from within the Monmouth University domain; if this turns out to be a problem, then access can be extended to the whole WWW.
My attendance policy applies only to lecture attendance; it does not apply to other kinds of attendance which may be required for the course. Repeated failures to meet the attendance expectations set for tests, meetings, projects, labs or other forms of course work will have a bad influence on your grade.
Monmouth University does have a class attendance policy, which you can find in the Academic Information chapter of the Student Handbook. To the extent that I need to keep the record straight, I will take attendance. Attendance lists, however, are entirely for the University's benefit; I will make no use of them in grading.
First, the only complaint that matters is that something got marked wrong when it was actually right. When you come to complain, be prepared to present, in explicit detail, what it is you did and why you think it's right.
Second, complaints about a particular test or assignment are only valid until the next test or assignment is due; after that point the book is permanently closed on all previous test or assignment grades.
A late assignment is penalized five points a day for each day it's late. I use a 24-hour clock running from midnight to midnight to measure days; note this means that an assignment handed in the day after it's due is penalized ten points: five for the day it was due and five for the next day.
A make-up test must be scheduled to be taken by the date of the test following the missed test (or the final exam if you miss the last test). If a missed test is not made up by the time of the next test, you get a zero for the missed test.
There will be only one make up given per missed test. If more than one person misses the same test, those people will have to coordinate among themselves to pick a mutually agreeable date for the make up.
Extreme programming uses pair programming, unit testing, and refactoring as part of its development method.
"I'd like to take your course, but I don't know anything about extreme
programming. Is it a lot of work? Will it hurt much?"
The answers depend on your tolerance for work and pain. However, you can learn a bit about extreme programming by reading this example extreme programming session.
Another, somewhat less demonstrative, explanation of extreme programming, with bonus reader-response letters (which always make good readin').
Whoa, even e-business architects at IBM use extreme programming.
The papers from a workshop on customer involvment in extreme programming at XP 2001, the 2nd International Conference on eXtreme Programming and Flexible Processes in Software Engineering.
The course textbook is one of three or four books in the Extreme Programming Series. Slashdot had a review (which also includes a sizeable collection of the always amusing Slashdot reader responses) of another book in the series, Extreme Programming Explained. I have a copy of this book if you're interested in looking at it.
A bunch (40 or so) of extreme-programming mailing lists.
This page last modified on 7 August 2001.