Network Programming (CIS-3152) Labs

This document contains a listing of labs for the Network Programming class. Not all of these labs are used every semester. However, they are all presented here for reference.

  1. Concurrent TCP Servers. In this lab you will write a concurrent echo client and server. This can be done by modifying the example daytime client and server provided in class. The server should fork a child process for each incoming connection.

  2. Transmission Control Protocol. In this lab you will explore the details of the TCP protocol and its states.

  3. Trivial FTP. In this lab you will write trivial FTP client and server programs following RFC-1350. The intent is to create two high-quality programs that could really be used. See my TFTP project on GitHub for more information.

  4. DNS Client. In this lab you will write a UDP client for the DNS system following RFC-1035. See my DNS project on GitHub for more information.

  5. Character Conversions. In this lab you will experiment with different character encodings.

  6. RML. In this lab you will modify the CafeJ program in the Recipe Markup Language project on GitHub. The precise nature of the modifications required varies each time this course runs. See class notes for more information.

  7. XSLT. In this lab you will experiment with XSLT by writing a style sheet that converts CEML into XHTML.


Last Revised: 2025-06-30
© Copyright 2025 by Peter Chapin <peter.chapin@vermontstate.edu>