CSCI4430 - Computer Networks
The course assignments of CSCI4430.
The Course
I took the course CSCI4430 in 2019 spring term. The course is to learn the terminologies and high-level ideas of computer networking.
It introduces basic concepts of networks and discusses the concepts of networking design (e.g. TCP, UDP). It is a very informational course, and I made a full font size 8, 2 pages (4-sided) cheatsheet for the final exam.
There were 3 assignments and 1 fianl examination for this course. The second assignment is quite challenging. The final examination tested students’ understanding of important concepts, as well as some of the details mentioned in class.
Course Assignment
There were 3 assignments:
- A Multi-Client File Transfer Application. In this assignment, students are required to implement a multi-client file transfer application called MYFTP. MYFTP is a simplified version of the File Transfer Protocol (FTP). It includes the basic functionalities of FTP, such as file upload/download and file listing. It also enables multiple clients to simultaneously connect to the server at the same time.
- Selective Repeat. In this assignment, students are required to implement the Selective Repeat (SR) protocol to support the reliable data transfer between a client and a server over UDP under an unreliable network connection.
- Implementing NAT using NFQUEUE. In this assignment, students are required to implement a NAT application using the software library NFQUEUE. The NAT application can forward TCP traffic.
Links
Check GitHub for our assignments!