George Mason University

DEPARTMENT OF COMPUTER SCIENCE
CS 475 Concurrent & Distributed Systems
Fall 2017

MW 3:00 - 4:15 pm,  Mason Hall D023

Professor Sanjeev Setia
703-993-4098
setia at gmu.edu

COURSE OFFICE HOURS:

Thursday 1-3 pm, Room 4300,  Nguyen (Engineering) Building

PREREQUISITES:

CS 367 (Computer Systems & Programming)

This is a programming intensive course. You need to be comfortable with programming in C and Java to be able to do the programming assignments. It is also not a good idea to take this class if your course/work schedule is already quite full.

DESCRIPTION : 

The class focuses on issues that arise in the design and implementation of concurrent and distributed applications. Course work will involve several programming assignments.

ABET COURSE OUTCOMES
READINGS:

Unfortunately there is no single textbook that covers all the material that will be discussed in this class. The following books are recommended (not required):

Class notes will also be provided as necessary. Recommendations for additional books on specific topics (Network programming, Web services, Distributed Systems) will be provided by the instructor.

TOPICS:

The following topics will be covered:

  1. Multi-threaded/Concurrent Programming
  2. Distributed Systems
  3. Client-Server Applications
  4. Middleware technologies
    1. TCP/IP Sockets
    2. RPC/RMI
  5. Advanced topics (time permitting) - Peer to Peer Computing, Parallel Programming
GRADING:

There will be four programming assignments (two dealing with concurrent programming and two with distributed/networked applications). The software required for these projects is available on the computers in the VS&E Lab. You can also do the projects on your own computer. (The programming assignments involve programming in C or Java on a UNIX/Linux platform.)  You can do the assignments individually or in a group of two students. There will be at least one "paper and pencil" assignment.

50% of the course grade will be based on the assignments. In-class quizzes make up 15% of the overall course grade. Quizzes will not be announced in advance but you can expect a quiz once every two weeks or so. In addition, there will be a mid-term exam worth 15% of the grade. The final exam will account for the remaining 20% of the grade.

LATENESS:

The late submission policy for programming assignments is as follows: you have 4 slip days that you can use during the course of the semester, but at most two slip days per assignment. An assignment is considered late by one day irrespective of whether you miss the deadline by 1 minute or up to 24 hours. Slip days only apply to programming assignments.

GTA:
TBA

HONOR CODE:

Violations of the honor code will result in a failing grade. Click here for the CS Department's links to materials on the honor code, ethics and integrity

CLASS NOTES:

Class notes, slides, handouts, etc. will be available at the class Blackboard page. Students can use Piazza for online discussions.

DISABILITY ACCOMMODATIONS:

If you are a student with a disability and you need academic accommodations, please see me and contact the Office of Disability Services (ODS) at 993-2474, http://ods.gmu.edu. All academic accommodations must be arranged through the ODS.

POLICY ON USE OF ELECTRONIC DEVICES:

Laptops, tablets, cell phones and other electronic devices are not allowed in this class. Please keep them stowed away.