SWE 637 Course Syllabus
|| Paul Ammann
|| ENGR 4428, 993-1660
| Class Hours:
|| Thursday 4:30 - 7:10, Buchanan Hall D023.
|| SWE 619 and SWE Foundation material
| Office Hours:
|| Tuesdays, Thursdays 1-2PM; By Appointment. Anytime electronically.
|| Fardina Alam: contact available through Piazza
| GTA Office Hours:
|| Thursdays 2-4, Nguyen Engineering Building Room 5321
Concepts and techniques for testing software and assuring its quality.
software testing at the unit, module, subsystem, and system levels,
automatic and manual techniques for generating and validating test data,
the testing process,
static vs. dynamic analysis,
and reliability assessment.
Introduction to Software Testing (edition 2), Ammann and Offutt.
While this course provides extremely practical skills, it
is, at heart, an applied math course.
You will need knowledge of discrete math, programming,
data structures and basic software engineering.
You will need a decent understanding of object-oriented theory,
as described in a resource such as Bloch's Effective Java (3rd edition):
how the precondition/postcondition contract model
how objects are created and destroyed,
the consequences of inheritance decisions,
mutable vs. immutable data types, generics and their
implementation, and so on.
Most examples will be in Java and some assignments will require JUnit tests.
If you do not have the prerequisite knowledge,
please do not ask for "permission."
To my understanding, it is not possible to impart knowledge through the act of granting permission.
Instead, go get the necessary background and then come back.
We'll still be here.
Office hours are times that I commit to being in my office,
door open, first come, first served.
You do not need an appointment, and no appointments are made.
If you cannot make my office hours, then we can set up an appointment.
Although this rarely happens, I sometimes have to cancel office hours
for circumstances beyond my control. If that happens,
I will inform you one way or another,
and I will do my best to make it as timely as possible.
Each class begins with a short quiz. Each quiz covers material from the
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.
I post a quiz guide for each weekly quiz.
Generally, this guide includes one or more exercises
that are usually related to what I'll ask on the corresponding
Although I will not grade these exercises,
you should consider them to be required.
All quizzes count towards the final grade. There are no "dropped" quizzes.
Students who miss a quiz or perform badly on a quiz may choose to
take a make-up quiz.
Quizzes count 10 points each, and make-up quizzes start 2 points down.
Answering all the questions correctly on the make-up quiz results
in a score of 8/10.
Missing one point on the make-up quiz results in a score of 7/10, and so on.
However, there are no negative quiz scores, make-up or otherwise.
If you decide to take the make-up quiz, that score counts, no matter what the score
was on your first attempt.
Once you accept the make-up quiz from either me or the GTA, that's the score that counts.
Scheduling: Make-up quizzes will be offered the week after the original quiz,
and two weeks after the original quiz. After that, the window closes.
Make-ups are during GTA office hours.
Students who wish to take a make-up quiz
must inform me in advance with either an email or a private post on Piazza.
The make-up quiz will be a different quiz than the one given in class,
but will focus on the same topics.
I place great emphasis on in-class learning.
I plan in-class exercises for every class.
Students are encouraged to work in small groups.
Think about who you want to work with.
Some of these exercises need a Java development environment.
Very often, the in-class exercises will be closely related
to the quiz the following week.
There are periodic, graded assignments.
Some are introspective examinations.
Others foster experience with specific tools or technologies.
Generally, the deliverable is a summary document or experience report,
with sufficient detail given to convince
me that you completed the exercise.
Please turn in a hard copy of your assignment in class.
If you can't make it to class, I'll accept a private post on Piazza.
Late homeworks are heavily penalized (50% credit reduction).
No late homework submission will be accepted once final exams begin.
Collaboration on Graded Assignments and Quiz Preparation
I allow (indeed, I encourage) collaboration
on graded assignments and quiz prepration.
I encourage students to ask and respond to
questions on the Piazza forum.
Students may also work in groups of two or three
and submit a collective solution to graded assignments.
If you opt for this model, your submission
must outline what each person contributed.
Each person in the group earns the same grade.
Since my experience is that students typically produce better solutions with
this type of collaborative solution,
I encourage students to follow this model.
The incentive is a small (10%) bonus credit per assignment.
You are NOT ALLOWED to include “guest names.”
Every person listed as a collaborator must contribute.
If someone is listed as a collaborator but did not contribute,
all will be reported to the university honor committee.
A final exam is held during the University-scheduled exam period.
Students are reminded that the honor system governs all work turned in
Any and all collaboration is prohibited on the quizzes and on the final.
Details of honor code policies and procedures
can be found at the
Office for Academic Integrity
Grade totals are computed as: Participation (5%), Assignments (15%), Quizzes (50%), Final (30%).
The scale for transforming numeric scores to letter grades is:
Notes on grading:
- 90-100: A, A-
- 80-89: B+, B, B-
- 70-79: C
- Below 70 overall.
I reserve the right to relax the grading scale if it seem
However, I will not tighten the grading scale if it seems unduly generous.
SWE 637 will use
for a discussion board.
I enroll students using the official roster on PatriotWeb, as of
shortly before the first class meeting.
If, for some reason, you are not on the forum, please contact me.
Participation on the discussion threads counts towards your grade. You can earn credit by posting and responding to questions about
graded assignments and quiz preparation.
Participation must occur during the semester, not after final exams start.
Show Me videos
I have posted several Show Me videos on the schedule page.
These videos are generally structured as two folks (a student and me)
working through an exercise.
Some students report that these are very helpful.
More videos would be great, and there are a number of exercises
that are obvious fits for videos.
To this end, I invite students to propose ShowMe topics and stop by my office
to create one.
As a carrot, students who participate will receive some
nominal consideration at the time final grades are assigned.
In-class computers and communication
Phone calls, text messages, instant messages, email, and general web surfing are
highly disruptive to other students and hence not allowed during class time.
Technology devices may only be used for the class purposes (eg following slides or
working on in-class assignments.)
Violators will be asked to leave the room.
Repeat offenders will lose credit on the "Participation" grade.
If you anticipate a call that you simply have to take (yes, that happens),
please sit near the door,
put your phone on vibrate, and leave quietly at the appropriate time.
If you are disrupted by another student's violation of this policy,
please bring the matter to my attention.
Students with learning disabilities (or other conditions
documented with GMU Office of Disability Services)
who need academic accommodations should see me and contact the
Disability Resource Center (DRC) at (703)993-2474.
All academic accommodations must be arranged through the DRC.
As with all GMU courses, SWE 637 is governed by the
GMU Honor Code.
In this course, all quizzes and exams
carry with them an implicit statement that it is the sole work of the author.
See the collaboration discussion above for rules on homework assignments.
Any deviation from this is considered an Honor Code violation,
with ultimate sanction determined by the Honor Code committee.