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
- Introduction
- Tools
- Network Architecture
- Data Transmission
- Sockets
- Uniplex Communications
- Multiplexing
- Client/Server Architecture
- Producer/Consumer Architecture
- Worker Pools
- Python/C API