Net-Centric Computing (NC)
NC1. Introduction to net-centric computing [core]
NC2. Communication and networking [core]
NC3. Network security [core]
NC4. The web as an example of client-server computing [core]
NC5. Building web applications [elective]
NC6. Network management [elective]
NC7. Compression and decompression [elective]
NC8. Multimedia data technologies [elective]
NC9. Wireless and mobile computing [elective]
Recent advances in computer and telecommunications networking, particularly those based on TCP/IP, have increased the importance of networking technologies in the computing discipline. Net-centric computing covers a range of sub-specialties including: computer communication network concepts and protocols, multimedia systems, Web standards and technologies, network security, wireless and mobile computing, and distributed systems.
Mastery of this subject area involves both theory and practice. Learning experiences that involve hands-on experimentation and analysis are strongly recommended as they reinforce student understanding of concepts and their application to real-world problems. Laboratory experiments should involve data collection and synthesis, empirical modeling, protocol analysis at the source code level, network packet monitoring, software construction, and evaluation of alternative design models. All of these are important concepts that can best understood by laboratory experimentation.
NC1. Introduction to net-centric computing [core]
Minimum core coverage time: 2 hours
Topics:
- Background and history of networking and the Internet
- Network architectures
- The range of specializations within net-centric computing
- Networks and protocols
- Networked multimedia systems
- Distributed computing
- Mobile and wireless computing
Learning objectives:
- Discuss the evolution of early networks and the Internet.
- Demonstrate the ability to use effectively a range of common networked applications including e-mail, telnet, FTP, newsgroups, and web browsers, online web courses, and instant messaging.
- Explain the hierarchical, layered structure of a typical network architecture.
- Describe emerging technologies in the net-centric computing area and assess their current capabilities, limitations, and near-term potential.
NC2. Communication and networking [core]
Minimum core coverage time: 7 hours
Topics:
- Network standards and standardization bodies
- The ISO 7-layer reference model in general and its instantiation in TCP/IP
- Circuit switching and packet switching
- Streams and datagrams
- Physical layer networking concepts (theoretical basis, transmission media, standards)
- Data link layer concepts (framing, error control, flow control, protocols)
- Internetworking and routing (routing algorithms, internetworking, congestion control)
- Transport layer services (connection establishment, performance issues)
Learning objectives:
- Discuss important network standards in their historical context.
- Describe the responsibilities of the first four layers of the ISO reference model.
- Discuss the differences between circuit switching and packet switching along with the advantages and disadvantages of each.
- Explain how a network can detect and correct transmission errors.
- Illustrate how a packet is routed over the Internet.
- Install a simple network with two clients and a single server using standard host-configuration software tools such as DHCP.
NC3. Network security [core]
Minimum core coverage time: 3 hours
Topics:
- Fundamentals of cryptography
- Secret-key algorithms
- Public-key algorithms
- Authentication protocols
- Digital signatures
- Examples
Learning objectives:
- Discuss the fundamental ideas of public-key cryptography.
- Describe how public-key cryptography works.
- Distinguish between the use of private- and public-key algorithms.
- Summarize common authentication protocols.
- Generate and distribute a PGP key pair and use the PGP package to send an encrypted e-mail message.
- Summarize the capabilities and limitations of the means of cryptography that are conveniently available to the general public.
NC4. The web as an example of client-server computing [core]
Minimum core coverage time: 3 hours
Topics:
- Web technologies
- Server-side programs
- Common gateway interface (CGI) programs
- Client-side scripts
- The applet concept
- Characteristics of web servers
- Handling permissions
- File management
- Capabilities of common server architectures
- Role of client computers
- Nature of the client-server relationship
- Web protocols
- Support tools for web site creation and web management
- Developing Internet information servers
- Publishing information and applications
Learning objectives:
- Explain the different roles and responsibilities of clients and servers for a range of possible applications.
- Select a range of tools that will ensure an efficient approach to implementing various client-server possibilities.
- Design and build a simple interactive web-based application (e.g., a simple web form that collects information from the client and stores it in a file on the server).
NC5. Building web applications [elective]
Topics:
- Protocols at the application layer
- Principles of web engineering
- Database-driven web sites
- Remote procedure calls (RPC)
- Lightweight distributed objects
- The role of middleware
- Support tools
- Security issues in distributed object systems
- Enterprise-wide web-based applications
Learning objectives:
- Illustrate how interactive client-server web applications of medium size can be built using different types of Web technologies.
- Demonstrate how to implement a database-driven web site, explaining the relevant technologies involved in each tier of the architecture and the accompanying performance tradeoffs.
- Implement a distributed system using any two distributed object frameworks and compare them with regard to performance and security issues.
- Discuss security issues and strategies in an enterprise-wide web-based application.
NC6. Network management [elective]
Topics:
- Overview of the issues of network management
- Use of passwords and access control mechanisms
- Domain names and name services
- Issues for Internet service providers (ISPs)
- Security issues and firewalls
- Quality of service issues: performance, failure recovery
Learning objectives:
- Explain the issues for network management arising from a range of security threats, including viruses, worms, Trojan horses, and denial-of-service attacks
- Summarize the strengths and weaknesses associated with different approaches to security.
- Develop a strategy for ensuring appropriate levels of security in a system designed for a particular purpose.
- Implement a network firewall.
NC7. Compression and decompression [elective]
Topics:
- Analog and digital representations
- Encoding and decoding algorithms
- Lossless and lossy compression
- Data compression: Huffman coding and the Ziv-Lempel algorithm
- Audio compression and decompression
- Image compression and decompression
- Video compression and decompression
- Performance issues: timing, compression factor, suitability for real-time use
Learning objectives:
- Summarize the basic characteristics of sampling and quantization for digital representation.
- Select, giving reasons that are sensitive to the specific application and particular circumstances, the most appropriate compression techniques for text, audio, image, and video information.
- Explain the asymmetric property of compression and decompression algorithms.
- Illustrate the concept of run-length encoding.
- Illustrate how a program like the UNIX compress utility, which uses Huffman coding and the Ziv-Lempel algorithm, would compress a typical text file.
NC8. Multimedia data technologies [elective]
Topics:
- Sound and audio, image and graphics, animation and video
- Multimedia standards (audio, music, graphics, image, telephony, video, TV)
- Capacity planning and performance issues
- Input and output devices (scanners, digital camera, touch-screens, voice-activated)
- MIDI keyboards, synthesizers
- Storage standards (Magneto Optical disk, CD-ROM, DVD)
- Multimedia servers and file systems
- Tools to support multimedia development
Learning objectives:
- For each of several media or multimedia standards, describe in non-technical language what the standard calls for, and explain how aspects of human perception might be sensitive to the limitations of that standard.
- Evaluate the potential of a computer system to host one of a range of possible multimedia applications, including an assessment of the requirements of multimedia systems on the underlying networking technology.
- Describe the characteristics of a computer system (including identification of support tools and appropriate standards) that has to host the implementation of one of a range of possible multimedia applications.
- Implement a multimedia application of modest size.
NC9. Wireless and mobile computing [elective]
Topics:
- Overview of the history, evolution, and compatibility of wireless standards
- The special problems of wireless and mobile computing
- Wireless local area networks and satellite-based networks
- Wireless local loops
- Mobile Internet protocol
- Mobile aware adaption
- Extending the client-server model to accommodate mobility
- Mobile data access: server data dissemination and client cache management
- Software package support for mobile and wireless computing
- The role of middleware and support tools
- Performance issues
- Emerging technologies
Learning objectives:
- Describe the main characteristics of mobile IP and explain how differs from IP with regard to mobility management and location management as well as performance.
- Illustrate (with home agents and foreign agents) how e-mail and other traffic is routed using mobile IP.
- Implement a simple application that relies on mobile and wireless data communications.
- Describe areas of current and emerging interest in wireless and mobile computing, and assess the current capabilities, limitations, and near-term potential of each.