Programming Assignment 1: Instructions
Programming Assignment 1: Instructions
This first assignment is a warmup. Select your Team leader and divide up work per the
Programming Process instructions.
Instructions:
In this assignment, you will learn the basics of socket programming for UDP and TCP in Python.
You will learn how to send and receive datagram packets using UDP sockets and TCP sockets.
Throughout the assignment, you will gain familiarity with a Client Server architecture.
This assignment basically requires you to submit the Python client and server code for the UDP
socket programming example in Section 2.7.1 and then also the TCP socket programming
example in Section 2.7.2. You should each try to do this on your own first but you will then work
with your assigned team for this assignment. Split up your team to have one group do the UDP
example together and another group to do the TCP example. The goal of this assignment is a) to
learn about how UDP and TCP works and how to program with UDP and TCP and also b) to
make sure your computer is set up and working, ready for the next assignment where you will
be writing your own code. You are welcome to use whatever IDE the team prefers; for this
assignment with about 10 lines of code, you may prefer to simply use an editor but this is up to
you. Code it, test it with the following cases:
abcdef abc123def
ABcdEF
AB12cdEF
This assignment is worth 150 points. The grading objectives for the assignment are given below.
Grading Objectives
For TCP and for UDP each: (70 + 70 = 140 points)
(15 points) Client receives and prints out the modified message.
What to Hand in
Since the code is already given, you need not submit python files for this assignment. You will
hand in the following:
1. Screenshots of the working UDP and TCP client/server programs for all test cases given
above.
2. Minutes of meeting including: Team Lead name, attendance, work division narrative (1-
2 lines is good enough).
You must also fill in the peer evaluation form for teamwork grade.
(10 Extra Credit points) If you have time, try to do this in the mininet virtual machine. Submit
screenshots of TCP and UDP client/server programs running on the mininet VM.