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. Jumbo. Here you will experiment with the virtual machine that we will use in this course. Install Jumbo in some suitable location and then run through the steps in Section 6.2 of the Jumbo document. Don't worry if you don't get to all the steps.

  2. 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.

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

  4. 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.

  5. 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.

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

  7. 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 vary each time this course runs. See class notes for more information.

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

  9. Labs below are subject to change


Last Revised: 2018-05-25
© Copyright 2018 by Peter C. Chapin <pchapin@vtc.edu>