CSC 376 Distributed Systems

Spring 2018-2019

TTh 11:50am - 1:20pm in CDM 226

Karen Heart, MS, Instructor
kheart@depaul.edu

(312)362-1469

Syllabus

Last revised: 3-25-19

Summary of the course

This course provides an introduction to distributed systems, primarily through a focus on the design and development of software that transmits information across networks. Topics will include some but, perhaps, not all of the following: the architecture of distributed systems; networking; synchronous and asynchronous protocols network programming; remote procedure calls; threading and shared memory concurrency; cryptography and security.

Textbooks and printed resources

Java Network Programming (4th edition), E. R. Harold. O'Reilly & Associates, 2013, Print ISBN: 978-1449357672.

The textbook is not required and no reading assignments will be given from it. It is a useful resource for learning the programming techniques in which you must develop basic proficiency in order to pass this course.

Prerequisites

CSC 301, 383, or CSC 393; and CSC 374

Office Hours

During classes, I will be in my office, CDM 838, as follows:

During Finals week, I will be in my office as follows:

Assignments and Grading

Overview

This course focuses on the implementation of distributed systems using a system level library. The programming languages used will be Python and Java. Ongoing programming projects will serve as the main focus on the course. Additionally, quizzes covering various aspects of networking and related topics will also be assigned. Your understanding of the material will be tested through these assignments and a final project. Further details will be posted on the class website, which is on Desire2Learn (D2L).

Goals

Exercises

Quizzes

Grading

Approach

This course will be taught in a manner that is sometimes described as a "flipped" class. Lecture material will be prerecorded and uploaded to D2L for you to view; no lectures will be given live, except for the first class period. Class time will be reserved for reviewing coding techniques, lab assignments, and related matters. Consequently, you may use class time to work on labs and other matters; but, more importantly, you may obtain assistance from the instructor during that time. You may also, as mentioned above, obtain assistance from the instructor during office hours.

Policy on Working Together

Each student is expected to turn in original work for the assignments and final project. Copying code or other documents from another person is considered a serious violation of the university's academic integrity policy (see below).

Course Schedule

WeekDateTopics
1 Apr. 2 Distributed systems in action
  Apr. 4 Synchronous programming: sockets
2 Apr. 9 Application Level Protocols intro: Simple Text Echo
  Apr. 11 Asynchronous programming: Threading and concurrency.
Apr. 12: Last day to drop without penalty!
3 Apr. 16 Asynchronous programming: Detecting shutdown and exiting programs;
  Apr. 18 Networking basics and tools; Application Level Protocols: HTTP
4 Apr. 23 Application Level Protocols: HTTP (cont.);
  Apr. 25 Application Level Protocols: BitTorrent; Remote Method Invocation(RMI)
5 Apr. 30 Local networks
  May 2 How the Internet Works
6 May 7 Networking protocols: IP, TCP, and UDP
  May 9 Network Address Translation (NAT)
7 May 14 Scalability and large systems: load balancing and failover
  May 16 Content Delivery Networks; Cloud computing; Peer to Peer Applications: BitTorrent
May 17: Last day to withdraw without receiving a grade.
8 May 21 Firewalls
  May 23 Transport Layer Security(TLS); IPsec
9 May 28 Authentication and Authorization: Kerberos
  May 30 Security: SQL Injection; Security: HTML and Cross Site Scripting (XSS)
10 Jun. 4 (Parkinson's Law)
  Jun. 6 (Parkinson's Law)
Final Exam Jun. 11 Final project due by 11:59pm

Attendance

Attendance is optional although encouraged.

Academic Integrity and Plagiarism

This course will be subject to the university's academic integrity policy. More information can be found at http://academicintegrity.depaul.edu/. If you have any questions be sure to consult with your professor.

Academic Policies

All students are required to manage their class schedules each term in accordance with the deadlines for enrolling and withdrawing as indicated in the University Academic Calendar. Information on enrollment, withdrawal, grading and incompletes can be found at: http://cdm.depaul.edu/enrollment.

Students with Disabilities

Students who feel they may need an accommodation based on the impact of a disability should contact the instructor privately to discuss their specific needs. All discussions will remain confidential. To ensure that you receive the most appropriate accommodation based on your needs, contact the instructor as early as possible in the quarter (preferably within the first week of class), and make sure that you have contacted the Center for Students with Disabilities (CSD) at: csd@depaul.edu.
Lewis Center 1420, 25 East Jackson Blvd.
Phone number: (312)362-8002
Fax: (312)362-6544
TTY: (773)325.7296

Online Course Evaluations

Evaluations are a way for students to provide valuable feedback regarding their instructor and the course. Detailed feedback will enable the instructor to continuously tailor teaching methods and course content to meet the learning goals of the course and the academic needs of the students. They are a requirement of the course and are key to continue to provide you with the highest quality of teaching. The evaluations are anonymous; the instructor and administration do not track who entered what responses. A program is used to check if the student completed the evaluations, but the evaluation is completely separate from the student’s identity. Since 100% participation is our goal, students are sent periodic reminders over three weeks. Students do not receive reminders once they complete the evaluation. Students complete the evaluation online in CampusConnect.

Changes to Syllabus

This syllabus is subject to change as necessary during the quarter. If a change occurs, it will be thoroughly addressed during class, posted under Announcements in D2L and sent via email.

School Policies

Policies of the school are explained on the webpage for this course on my.cdm.depaul.edu.