Download as pdf or txt
Download as pdf or txt
You are on page 1of 3

PROJECT 3

NetChest: Ciphered Key Cache

Programming Technologies and Educational Practice

Grading Policy

Functional Implementation (30 Points)

Binary I/O: 5 points

Generics: 5 points

(Lists, Stacks, Queues, Priority Queues): 5 points

Sets and Maps: 5 points

Concurrency (Multithreading & Parallel Programming) (10 Points): Demonstrate the ability to
handle multiple client connections simultaneously using multithreading or parallel programming
techniques.

Requirements Implementation (60 Points)

TCP Server - TCPClient Connection (30 Points):

Implement a TCP server (TCPServer) capable of handling the following commands:

GET <key>
PUT <key> <value>
DELETE <key>
KEYS
QUIT
The server should store key-value pairs in memory.

UDP Server - UDP Client Connection (30 Points):

Implement a UDP server (UDPServer) with the same functionality as the TCP server:

GET <key>
PUT <key> <value>
DELETE <key>
KEYS
QUIT

The server should store key-value pairs in memory.

Execution Order and Error Handling (10 points): Handle exceptions gracefully to prevent server
crashes and ensure reliable operation.

Mandatory Usage of Sublime Text:

Requirement: Sublime Text is required as the primary text editor for coding the project.

Server-Client Interaction:
Servers should be executed first before clients. If a client is running and one of the servers is stopped, it
should throw an IO Connection timeout error.

Follow the UML diagram for proper system architecture and interaction and execution order..



1. TCP Server - executed
2. TCP Client - executed



3. UDP Server - executed
4. UDP Client - executed

Bonus Points (Up to 10 Points)

Additional Features: Up to 10 bonus points may be awarded for innovative features that extend beyond
the specified requirements.

Plagiarism Policy

Plagiarism in any form is strictly prohibited. All codes must be original. Failure to comply with this
policy will result in a grade of zero for the project and may lead to further academic consequences. You
can earn extra points (up to 10) for adding new features.
Plagiarism Grading:

0-19 points: No Plagiarism - All code is original or properly cited if external resources are used.
20-39 points: Minimal Plagiarism - A significant portion of the code is plagiarized.
40-59 points: Moderate Plagiarism - Some parts of the code are plagiarized, but most of it is original.
60-100 points: Plagiarism - Most or all of the code is plagiarized.

You might also like