NOTE: This offering of the course is past. It is no longer maintained here. Links may break.
Please see the Syllabus for more details on the course, grading, schedule, etc.. This page is meant only as a summary and quick-reference.
Course Matierials
-
Project 4 - BitClone (Blocks)
COS 460/540 - Computer Networks
Project 4: BitClone (Blocks)
Specification
For the next two projects we will be creating a lightweight, stripped down, [BitCoin][1] clone called BitClone. The project is broken into two parts and focuses on the networking protocols not the cryptocurrency portions. In this first of two assignments, you will create the peer to peer network protocol. In the second part you will implement the distributed database protocol.
-
9 - Application (slides)
-
8 - Network Security (slides)
-
6 - Review (slides)
-
7 - Presentation (slides)
-
5 - End to End Protocols (slides)
-
Project 3 - BitClone (Peer to Peer)
Specification
For the next two projects we will be creating a lightweight, stripped down, [BitCoin][1] clone called BitClone. The project is broken into two parts and focuses on the networking protocols not the cryptocurrency portions. In this first of two assignments, you will create the peer to peer network protocol. In the second part you will implement the distributed database protocol.
You may work in teams of two on this and the next project. Please email or talk to me if you want to do this and we can setup GitHub to make it happen.
-
3 - Internetworking (slides)
-
Project 2 - HTTP Server
Specification
In this assignment your goal is to create your own simple HTTP (web) server. Your server must allow (serve) files and subdirectories from a “document root” folder over a TCP port to HTTP clients (web browsers). Both the document root and TCP port must be configurable via command line parameters or a configuration file. Your server must be able to serve concurrent (simultaneous) requests as well as multiple requests over time.
-
2 - Direct Link Networks (slides)
-
Project 1 - Number Guessing Server
Specification
Your goal is to develop a TCP/IP based server that implements a number guessing game. This assignment is an introduction to TCP/IP socket programming and connecting clients and servers together. You will only be responsible for the server side of things, you can use “telnet” for testing and validation. Additionally you can use telnet, a simple text-based client to interact with your server.
-
1 - Foundations (slides)
-
0 - Introduction (slides)
-
COS 460/540 Computer Networks Syllabus
USM Course Catalog: A description of computer networks organized as a layered architecture based on the OSI Reference Model. Protocols and services of each layer are examined in detail. Specific local area networks, metropolitan area networks, and wide area networks will be considered. Prerequisites: COS 285, COS 251. Cr 3.
The focus of the course will be on understanding and utilizing the Internet (TCP/IP) protocol stack. Students will write network client and server applications in addition to reading and discussing the theory behind modern data communication networks.
The class is dual-listed as an undergraduate (COS 460) and graduate course (COS 540); graduate students will have additional reading and must prepare a presentation for the class (see below).
subscribe via RSS