NC. Net-Centric Computing (15 core hours)
NC1. Introduction to net-centric computing (core -- 9 hours)
Background and history of the Internet
The architecture of the Internet
The five-layer reference model (physical, data link, network, transport,
application)
Host name resolution and the Domain Name Service
Public-key cryptography and digital certificates
Distributed computing
Networked multimedia systems
NC2. The web as an example of client-server computing (core -- 6 hours)
Introduction to client-server programming
Designing clients and servers
Introduction to the technologies of the web (URLs, HTML, HTTP, applets,
etc.)
NC3. Building web applications
JavaScript and other client-side programming within a web browser
CGI and other server-side programming with web-based application
servers
NC4. Communication and networking
Protocol suites
Streams and datagrams
Client-server communication and group communication
Remote procedure calls
Internetworking and routing
NC5. Distributed object systems
Serializing objects
Persistent objects
Remote procedure calls
Distributed object frameworks
Java's distributed object framework (JavaBeans, Java RMI, and JINI)
COM and DCOM as distributed object framework
CORBA and IDL
Lightweight distributed objects with XML
Security issues in distributed object systems
NC6. Collaboration technology and groupware
Audio/video interpersonal applications
Shared workspace for computer-supported collaborative work
Audio/video distribution
Audio/videoconferencing
Multimedia document transfer
Multimedia server-based applications
Virtual reality
Emerging topics in CSCW
NC7. Distributed operating systems
Distributed processes and threads
Distributed file systems
Name services
Time, synchronization and coordination
Replication
Concurrency control
Shared and distributed transactions
Distributed shared memory
NC8. Distributed systems
Characterization of distributed systems
Partition and allocation of distributed tasks
Load balancing of distributed systems
Modeling and analysis of distributed systems
Distributed languages
Fault tolerance and recovery
Security issues of distributed systems