Software Development

Network Programming In C

Overview

This course trains students to write networked software, services, and tools. This course is suitable for students who have some command of the C language, some Python experience, and wish to write networked software.

Who Should Take This Course

Prerequisites

Students should have some experience programming in both C and Python. Knowledge of data structures and TCP/IP networking is recommended.

Why You Should Take This Course

Upon completion of this course, students will be able to:

  • Explain how a TCP connection works
  • Write a dual-stack IP client
  • Develop a network service
  • Write a simple UDP server
  • Write a simple TCP server
  • Analyze small pieces of network traffic
  • Describe what a worker pool is
  • Identify common pitfalls in network programming
  • Write an extension module for Python in C

Course Outline

Network Programming In C

  1. Introduction
  2. Tools
  3. Network Architecture
  4. Data Transmission
  5. Sockets
  6. Uniplex Communications
  7. Multiplexing
  8. Client/Server Architecture
  9. Producer/Consumer Architecture
  10. Worker Pools
  11. Python/C API
Search UMBC Training Centers