You're here, so you figured this part out :-) Monday evenings, 5pm to 7pm. Warren Weaver Hall, room 102.
Room 401, Warren Weaver Hall, from 4pm to 5pm.
Also by appointment.
My full contact info is on my personal home page. Yes, you can try stalking me if you want, but I won't make it completely easy for you by putting all that personal stuff here. :-)
As a way to manage and regularize software development, we talk about a lifecycle. By analogy with living organisms, software is "born," "grows," and (eventually) "dies."
Usually, the software lifecycle is described as somewhere around four stages:
Come up with examples for how the SW will be used. Provide as much detail as possible on the tasks the SW will address.
Careful: Programmers are often not the end user.
Sometimes broken out as a separate stage, either before or after a "specification" stage.
Here, we refer to following:
Sometimes testing is described as part of implementation; sometimes part of maintenance; sometimes a phase of its own.
Fodder for flame-wars. Instead of arguing the merits, pick one and stick with it. Just don't be a fanatic about it.
More fodder for flame-wars. People have argued about whether to draw pictures with rectangles or clouds.
Figuring out how to meet a spec is hard. Match bits of the spec to a particular design pattern to get part of the design "for free."
Start by writing a clear explanation of what is to happen. The code gets extracted from that. Contrast this with writing the implementation then later commenting it or writing separate documentation.
First made popular by Donald Knuth.
Homework assignments will consist of one or more questions and will be due one week from being assigned (i.e., at the class following the homework's assignment).
Each answer will be given a grade between 0 and 10. This does not correspond directly to the letter grade (i.e., a 7 does not equal a C). It represents the level of completion of the answer. No answer is a 0. A complete, correct answer is a 10. High-quality and expansive answers can earn scores above 10. Plagiaristic answers can earn scores below 0.
Within a homework assignment, all questions are of equal weight. If the answer for one question is intrinsically longer than another, then (implicitly) the shorter answer is seen as more important by the instructor.
Each homework assignment is of equal weight.
Homework questions will be clearly identified as requiring either a prose answer or a code answer.
A prose answer must be handed in on paper, preferrably formatted (handwriting will be accepted, but responsibility for legibility is the student's).
A code answer must be handed in both electronically and on paper. Electronic hand-in must be in the form of email to the TA and the instructor, in the form of a tar file compressed with gzip, containing all relevant files. Paper hand-in should consist of a print-out of all documentation as well as clearly labeled and organized print-outs of all relevant files (source, test input, results).
The purpose of grading assignments is to determine how well you, the student, have learned the material. Plagiarism defeats this purpose (thereby wasting your own tuition money). When there is evidence of plagiarism, the minimum assumption will be that the student submitting plagiaristic answers knows nothing of the material - i.e., the grade assigned will be, at best, a zero.
What does all this mean?
Doing research to find the answer to a question is permitted, even encouraged. Part of what you will learn in this class is how to avoid unnecessary work. But your research must be clearly labeled and cited. Evidence of your own thought and understanding (e.g., original prose you wrote yourself) must be present. Answers that consist of a quoted paragraph from some website are not satisfactory.
Some assignments will require collaboration with other students. Either you the students will make your individual contributions clear or all students will be assumed to make equal contributions.
For example, in group projects, you may find yourself stuck with a group member who does not contribute adequately. In this class, you may either:
Read the user survey for calendars. You are not required to complete the survey, though doing so would be a great help to the researchers conducting it. Instead, you must answer the following two questions:
© 2002, Brook Conner
Created: Tue Sep 3 17:07:15 EDT 2002