Course Description
To give the students a solid understanding of modern software construction.
To prepare students to construct sequential and concurrent programs. To
encourage the construction of software systems of high quality. In-depth
study of software construction in a modern language including control structuring
and packaging. Concepts such as information hiding, data abstraction, and
object-based and object-oriented software construction are discussed and
illustrated. This course is part of the core of the SWE program. This section
of 619 uses Java.
Course Materials
Assignments
Homework is due Thursday before 4 pm every week (email
submissions).
Paper and pencil homework should be brought directly to class, and a softcopy emailed to GTA, Judy Luo, at swe619fall06@gmail.com before the submission deadline (Thu/4 pm). Please do not send you programs
directly to me.
Email outages or delays are possible. You may wish to check if the GTA has posted an acknowledgement for receipt of your program. Don't expect instantaneous acknowledgements.
Please use a zip file (or equivalent) for all your submissions. Add your java classes and source files in
the zip archive. Include your name and assignment number in the zip file name. This is to avoid manually
downloading each file from the email client.
Important: For programs, you must submit a paper copy as well as the electronic version. This is
because of the way that the University runs it printing services. Thank you for your support.
Details about specific requirements for each assignment are given with each assignment. As appropriate, I will present sample solutions in
class or on the web. From time to time, I may post an exceptional student solution as the sample or discuss it in class.
For grading related questions, please schedule a meeting with Judy. Her office hours are (tentative) Wednesdays 3 pm. to 4 pm. in ST2 Room
335. Please email her first to set up an appointment.
Early homework assignments focus on theoretical aspects from Liskov. Later homework assignments reinforce specific programming techniques, as
well as the design points made in Bloch. Each homework assignment is designed to be fairly short, and homework is due on a weekly basis. Assignments
may be incompletely specified, and you will be expected to make reasonable assumptions / interpretations while analyzing the problem. Please specify
any assumptions made to solve the problem. In case of any ambiguities, please consult me. If some assignments require use of packages not covered in
the class, I will try to go over the required packages in as much detail as time permits.
Quizzes
Every class will begin with a quiz. Each quiz will cover material from previous lecture and the reading for the
day. Exceptional performance on a quiz or a homework will earn additional points that will be used for tipping over borderline cases into the next
higher stratum while curving for final grades.
The goal of the quizzes is to keep students abreast of the material
covered in class. Because of the quizzes, there is no midterm exam.
Missed Homework and Quizzes
In recognition of the fact that many students have
occasional but unavoidable commitments that preclude attendance
at every class, I drop three lowest scores on quizzes and homeworks.
I select the combination of homework and quiz scores
most advantageous to the student.
For example, I may drop drop 2 quiz scores and 1 homework,
or 3 homeworks, or any other combination totaling 3.
In view of this policy,
late homework is not accepted.
Please do not ask for an exception.
Final Exam
A final exam is held during the University-scheduled exam period.
On the final, a student must demonstrate reasonable
competence with the course material to receive a satisfactory grade
(i.e. B or better) in the class.
Honor System:
Students are reminded that the honor system governs all work turned in
for credit. Each assignment must be worked on individually. A submission
carries with it an implicit statement that the submission is your own work.
You may discuss the requirements and syntactical issues, but not solutions
or designs. Collaboration is not allowed on the quizzes or on the final.
I will refer violators to the GMU Honor Committee according
to the procedures given in the GMU Course Catalog.
Grading
Grades are computed as: Assignments (33%), Quizzes (33%), Final (34%).
Other Resources
Of course, java.sun.com OR JSDK 1.4.2 is a good place
to go for Java help.