CS 368 : Distributed Computing

Course Description

CS368 Distributed Computing: This course provides an overview of distributed computing: that is, programs that operate on multiple computers that are connected by a network. The course will be programming intensive, and will include, but not be limited to, course topics such as: the basic client/server programming model, the sockets programming API, client and server development in C and Java, remote procedure calls (RPC), remote method Invocation (Java), connectionless v. connection-oriented clients and servers and multithreaded servers. Prerequisites: CS321 and CS365. 3:0:3

Learning Outcomes

  1. Explain and apply basic distributed computing concepts including (but not limited to): *Client-server paradigm *IP addresses, ports, and sockets *Connection oriented versus connectionless communications *Multi-threaded servers and/or clients
  2. Explain and apply several common distributed computing applications in depth. For example, explain one or more of these applications in depth: *Telnet *FTP *NFS *HTTP web server
  3. Explain and apply to distributed computing these protocol concepts: *UDP / TCP protocols *IP protocol *Reliable data transfer *Flow control *Congestion control
  4. Explain and apply one or more of these alternative distributed computing approaches: *Remote Procedure Calls *Remote Method Invocation (Java) *Java Database Connectivity

Teaching Directives:

Linkage to Learning Outcome #:
Homework Assignments:
Assign a sufficient amount of homework such that all of the above objectives are covered. All
For each homework assignment, include short answer questions that require the student to apply the above objectives. All
For certain homework assignments, the student will be asked to solve problem(s) by applying appropriate client-server networking techniques. All
Optional Projects (The teacher may include these projects at his/her discretion):
Write a client and server application using Java's or C's socket classes. The student must demonstrate proper functionality in his/her program.
All
Implement a program that uses some of the following:
remote procedure calls, Java's remote method invocation, and Java's database connectivity.
All
Exams:
Include one or more of:
short answer, multiple choice, mathematical calculation problems.
All
Given a problem description, apply an appropriate client-server technique. All

Textbooks

View the approved textbook list.

^ Back to the Top

---------------------------------

University Resources


This page was last modified on Monday, September 12, 2011