SWE 622 Course Syllabus

Schedule Updates Home page

   Distributed Software Engineering
   Fall 2014

Professor:  Paul Ammann 
Office:  Nguyen Engineering Building 4428, 993-1660 
Email:  pammann@gmu.edu
URL:  http://cs.gmu.edu/~pammann/622.html
Class Hours:  Tuesday 4:30 to 7:10, Art and Design Building L008
Prerequisite:  SWE Foundation Courses or equivalent; Strong Java programming skills
Office Hours:  Mondays and Thursdays 2-3PM; anytime electronically; after class; by appointment
GTA: Unfortunately, there is no GTA available for this course.


This course conveys key concepts for designing and building distributed software systems. The course is geared towards software engineers that work mostly at the application-level, but need to understand the features and limitations of existing middleware for distributed systems. Additionally, the course covers some research topics related to currently open problems. Specifically, some of the topic that will be covered are as follows: definition and scope of distribution, principles of communication and computation, socket programming, remote method invocation, software architecture of distributed systems, middleware systems, service discovery, quality of service, adaptive systems, mobility, security, and fault tolerance.

Course Materials


We will use Piazza for class discussion. Piazza is highly catered to getting you help fast and efficiently from classmates, the TA, and myself. Rather than emailing questions to the teaching staff, I encourage you to post your questions on Piazza.
Join Piazza on our class page at: https://piazza.com/gmu/fall2014/swe622


Students are required to participate in class. For grading purposes, participation is defined as joining and contributing to the Piazza discussion forum. In class participation is also expected, but is not formally graded.


All assignments are due at the start of class on the due date. In other words, late assignments are not accepted. There are no exceptions.
There are two types of assignments in this class:


A midterm exam is held approximately halfway through the semester during regular class time. See schedule page for exact date. A final exam is held during the University-scheduled exam period.

Honor System:

The honor system governs all work turned in for credit. Collaboration is allowed on reading assignments within each group. Programming assignments must be completed individually, with the exception that you are allowed to seek assistance from the professor or the GTA. Exams must be completed individually without any outside assistance.
I refer violators to the GMU Honor Committee according to the procedures given in the GMU Course Catalog. Further details available at the CS Department's Honor Code page.


Grades are computed as: Participation (5%), Five (5) Reading Assignments (20%), Two (2) Programming Assignments (25%), Midterm Exam (25%), Final Exam (25%).
The scale for transforming numeric scores to letter grades is:


As the semester progresses, I post notices about changes to the course updates page.

Electronic Device Policy

From an educational perspective, electronic devices are a classic "dual-use" technology. Students are allowed (perhaps even encouraged) to use electronic devices (laptops, cellphones, etc.) for class-related activities such as taking notes, viewing slides, etc.

However, general surfing is explicitly disallowed. General surfing is defined by example as emailing, checking stock quotes, texting, tweeting, skyping, facebooking, buying stuff on Amazon etc. Because "second-hand" surfing is a documented educational hazard for other students, non-class related use of electronic devices is grounds for sanction according to the following schedule:

If you have to take that call, text, or email (and I do understand it can happen), please put your phone on vibrate and quietly step outside the classroom.

Academic accomodations

I am happy to participate in academic accomodations, but they must be formally arranged through Disability Services. It is the student's responsibility to bring the need for accomodations to my attention.