SWE 619 Course Syllabus

Schedule Home page

   OO Software Specification and Construction
   Fall 2017

Professor:  Paul Ammann 
Office:  Nguyen Engineering Building 4428, 993-1660 
Email:  pammann@gmu.edu
URL:  http://cs.gmu.edu/~pammann/619.html
Class Hours:  Tuesdays 4:30 to 7:10, Art and Design Building 2026
Prerequisite:  SWE Foundation Courses or equivalent 
Office Hours:  Monday 1-2PM; anytime electronically; after class; by appointment
GTA: Abdulaziz Alaboudi Office Hours: Monday, Thursdays 12:30-1:30, Nguyen Engineering Building 5321

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


Students are expected to read the relevant material (text, various sources on the web, etc.) before class. The lectures will not cover everything in the readings, and significant class time will be spent on exercises that rely on the readings.


Homework Assignments

Homework assignments will be made available on the class web site. Some homework assignments will be submitted on paper in class. Others must be submitted via Blackboard. Homeworks must be submitted before class on the day they are due. Assignments will be checked immediately after the due date; if you finish an assignment late, you must inform me by email when it is ready to be graded. Changing an assignment after the due date without prior permission will be treated as a late submission.

Collaboration on homework exercises

You may work homework problems individually if you wish.
However, you are also encouraged to collaborate using using one of the following two models:

Late Submission Penalty

Because of the way in which this class is taught, it is important for everyone to stay on pace. Therefore, 50% penalties apply to late submissions. If you will be forced to miss class on the day something is due, submit your solution prior to class electronically (either on Blackboard or in a private Piazza post). Under no circumstances will any assignment be accepted once final exams begin.


Instead of a midterm exam, we will have weekly quizzes. Quizzes will be given during the first 10 to 15 minutes of class and no makeups or late quizzes will be given. Please do not ask for an exception. For overall grade calculations, the lowest three quiz scores will be dropped. The remaining quizzes with the highest scores will be used to calculate the final "quiz" part of the grade. This essentially means that you can to miss up to three quizzes without penalty.

Class Attendance

I place great emphasis on in-class learning. Here's why.


SWE 619 will use the Piazza software for a discussion board. Information for accessing our class will be provided on the first day of class. Participation on the discussion board counts towards your grade. Post questions to an appropriate thread and they will be answered by your instructor or classmate. Basic questions are encouraged, but only interesting questions and correct answers will earn credit. Participation must occur during the semester, not after final exams start.

In-class Exercises

Most days, there will be in-class exercises. 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.

ShowMe Videos

The course schedule page links to a number of short videos created with the ShowMe service. Some students find these helpful for grasping key points from various lectures. Several items of note:
  1. Each ShowMe captures an interaction a student has with me. Such interactions can help students master the material more effectively than having me drone on solo.
  2. I am interested in creating more ShowMe videos for other topics in the course. Contact me if you would like to help me do this. These interactions count towards class participation.
  3. I am open to redoing existing topics if there is something you think could be done better.

Final Exam

The final exam is closed book/closed notes/closed web. The only exception is a single sheet of 8 1/2 x 11 paper (double sided) with hand-written notes written by the person taking the exam. The final is in-class and comprehensive. Appropriate documentation (as determined by instructor) and requisite permissions are required for makeup exam requests. Note: A failing grade on the final exam (<60%) will result in a failing grade (F) for the entire course, regardless of performance on other assignments.

If you know in advance that you are unable to make an exam for a valid and unavoidable reason (such as a scheduled surgery, etc), you must notify me at least one week before the scheduled exam date to make arrangements for a makeup, and bring documentation with you when you take the makeup. If you miss an exam due to a university-accepted excused absence (such as an illness or car accident the day and time of the exam), you must notify me within 24 hours of your absence to make arrangements for a makeup, and bring approved documentation with you when you take the makeup exam. Failure to follow either of these policies will result in a zero grade on the exam.

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 "Class participation" grade.


Please note that general assignments or class questions should NOT be sent to the instructor — in such events, your email will be returned and you will be asked to post your question to the discussion board. In general, the turnaround time for responses to questions will be much quicker on the discussion board. Students should also avoid emailing their code to the instructor unless permission has been obtained (under no circumstances should code be posted publicly to the discussion board).

Honor Code

As with all GMU courses, SWE 619 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.

Learning Disabilities

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.