SWE 622 - Distributed Software Engineering
Spring 2014
Location: Nguyen Engineering Building, Room 1110
Time: Tuesday 7:20 - 10:00 pm
SWE 622 - Distributed Software Engineering
Spring 2014
Location: Nguyen Engineering Building, Room 1110
Time: Tuesday 7:20 - 10:00 pm
Schedule (subject to change; check regularly)
Lecture slides and assignments are available for download from blackboard.
We will be using Piazza for class discussion. The system 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.
Find our class page at: https://piazza.com/gmu/spring2014/swe622/home
Week 1 Jan 21
-- Cancelled due to snowstorm
Week 1 Jan 28
Topic: Introduction
-- Tanenbaum 1
-- J. Waldo, G. Wyant, A. Wollrath, and S. Kendall. "A Note on Distributed Computing."
Week 2 Feb 4
Topic: Communication Fundamentals and Intro to Middleware Solutions
-- Tanenbaum 4.1 - 4.3
-- W. Emmerich. "Software Engineering and Middleware: A Roadmap."
Week 3 Feb 11
Topic: Middleware Solutions
-- Tanenbaum 4.3 - 4.5
-- A. Carzaniga, D.S. Rosenblum, and A.L. Wolf. "Design and Evaluation of a Wide-Area Event Notification Service."
-- RMI Tutorial
Week 4 Feb 18
-- Topic: Continue lecture on middleware solutions
-- Homework 1 is due
Week 5 Feb 25
Topic: Naming, Service Discovery, and Service-Oriented Computing
-- Tanenbaum 5.1 - 5.3, Tanenbaum 12
-- Debu Panda, "An Introduction to Service-Oriented Architecture from a Java Developer Perspective."
-- Robert E. McGrath, "Discovery and its Discontents: Discovery Protocols for Ubiquitous Computing."
-- Steve Vinoski, "Where is Middleware?”
-- Homework 2 is due
Week 6 Mar 4
Topic: Continue Lecture on SOA
Week 7 Mar 11
-- Spring Break
Week 8 Mar 18
Topic: Synchronization
-- Tanenbaum 6.1 - 6.2
-- Programming assignment 1 is due
Week 9 Mar 25
Topic: Consistency and Coordination
-- Tanenbaum 3.1 and Tanenbaum 7
-- Homework 3 is due
Week 10 Apr 1
-- Midterm Exam
Week 11 Apr 8
Topic: Replication and Fault Tolerance
-- Tanenbaum 8.1 - 8.3, Tanenbaum 8.5 - 8.6
Week 12 Apr 15
Topic: Security
-- Tanenbaum 9
-- Homework 4 is due
Week 13 Apr 22
Topic: Mobility and Adaptation
-- Tanenbaum 2.4, Tanenbaum 3.5
-- A. Carzaniga, G. P. Picco, and G. Vigna. "Designing Distributed Applications with Mobile Code Paradigms."
-- J. O. Kephart, D. Chess. “The Vision of Autonomic Computing.” IEEE Computer Vol. 36(1): 41-50 (2003)
Week 14 Apr 29
Topic: Final Review
-- Programming assignment 2 is due
Week 15 May 6
-- Homework 5 is due
-- Reading day; no lecture
Week 16 May 13
-- Final Exam: starts at 6:45pm
Instructor
Professor Dr. Sam Malek
Electronic Mail: smalek@gmu.edu
Office: Nguyen Engineering Building, Room 4431
Office Phone: +1-703-993-1677
Office Hours: Tues 10am-12pm or by appointment
Teaching Assistant Thabet Kacem
Electronic Mail: tkacem@masonlive.gmu.edu
Office: Nguyen Engineering Building, Room 5321
Office Hours: Wed 3:30-5:30pm or by appointment
Overview
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.
Prerequisites
•SWE Foundation Courses
•Strong Java Programming Knowledge
Textbook and Readings
•Distributed Systems: Principles and Paradigms (2nd edition), Andrew S. Tanenbaum, Maarten Van Steen, 2007, ISBN 0-13-239227-5
•Supplemental papers (see the schedule below)
Grading
•Five Reading Assignments 20%
•Two Programming Assignments 30%
•Two Exams 50%
Academic Integrity
George Mason's policy concerning student conduct applies. Although students are encouraged to discuss the topics covered in class, all homework assignments, exams, and projects are to be completed individually, unless joint work is explicitly authorized by the instructor. If joint work is authorized, all contributing students must be listed on the submission. Presenting as one's own the words, the work, or the opinions of someone else without proper acknowledgment is plagiarism. Any deviation from the aforementioned policies is considered to be a violation of GMU’s Honor Code, and, as a minimum, will result in failure of the submission and, as a maximum, failure of the class.
Technology in Classroom
The use of Laptops, iPads, Smartphones and other forms of mobile technology without explicit authorization from the instructor is prohibited during the class lectures and exams.
Learning Disabilities
Students with a learning disability or other condition (documented with GMU Office of Disability Services) that may impact academic performance should speak with professor ASAP to discuss accommodations.