You are on page 1of 2

NOTRE DAME UNIVERSITY

Electrical, Computer and Communications Engineering Department

EEN 342 – Computer Networks


M. Khabbaz

Project I

Objective:

This project has the objective of designing and implementing a Network-oriented Morse Code (NoMC)
application. Precisely, it is required to write both of a TCP-based and a UDP-based client/
server applications where two clients running on two different hosts are able to exchange Morse-code
encoded messages through a server application that runs on a third host.

Preliminaries:

Morse code was developed by Samuel Morse in 1832 and intended to be used for telegraph systems.
In essence, this coding scheme consists of assigning a sequence of dots and dashes to each letter of
the alphabet, each digit, and a few special characters (e.g., period, comma, colon, and semicolon) The
different characters considered in this project together with their assigned Morse code sequences are
illustrated in Table I below.

Table I: Morse code character/digit mapping.


Character Code Character Code Character Code Character Code
A ⋅− J ⋅−−− S ⋅⋅⋅ 1 ⋅−−−−
B − ⋅⋅⋅ K −⋅−⋅ T − 2 ⋅⋅ − − −
C −⋅−⋅ L ⋅ − ⋅⋅ U ⋅⋅ − 3 ⋅⋅⋅ − −
D − ⋅⋅ M −− V ⋅⋅⋅ − 4 ⋅⋅⋅⋅ −
E ⋅ N −⋅ W ⋅−− 5 ⋅⋅⋅⋅⋅
F ⋅⋅ − ⋅ O −−− X − ⋅⋅ − 6 − ⋅⋅⋅⋅
G − −⋅ P ⋅ − −⋅ Y −⋅−− 7 − −⋅⋅⋅
H ⋅⋅⋅⋅ Q − −⋅ − Z − −⋅⋅ 8 − − − ⋅⋅
I ⋅⋅ R ⋅−⋅ 9 − − − −⋅
0 −−−−−

In sound-oriented systems, the dot is represented by a short sound and the dash by a long sound. The
separation between words is indicated by silence (i.e. the absence of a dot or a dash), which is equivalent
to a relatively short period of time during which no sound is produced or transmitted.
Tasks:

This project is subdivided into two different tasks. These tasks are enumerated below:

1) Write two versions of the application, namely: i) a TCP-based version and ii) a UDP-based version.
In both versions, two clients will be exchanging Morse-encoded messages via a multithreaded
server application. The sending client application should:
a. Read English-language phrases from a text file or through direct input from the user through
the keyboard.
b. Encode the text into Morse code.
c. Send the coded message through the server to the other client.
The receiving client is supposed to:
a. Decode the messages.
b. Reconstruct the sending client’s phrases.
c. Display the reconstructed messages to the screen if the originally sent phrases were taken
directly from the keyboard.
d. Create a file and store the reconstructed phrases into that file if the originally sent phrases
were taken from a file.
Use one blank between each Morse-coded letter and three blanks between each Morse-coded word.
2) Turn your text-oriented application into a sound-oriented one by allowing the sending user to send
voice-encoded Morse code sequences that the receiving client is supposed to decode and playback
to the receiving user.

Proper referencing:

All resources including tutorials, research articles, books and web-based information used throughout the
development of this project much be clearly and explicitly cited and acknowledged in a REFERENCES
section included at the end of your project’s report.

Deliverables:

The following material should be turned in on the above mentioned due date in both hard and soft copies.

Item Grade Percentage


Documentation of the solution: A well-written report including explanations and 10%
illustrations in two to three pages of the problems that you encountered while
developing this project.
Source code: A well annotated PYTHON code file that contains an 80%
appropriate amount of comments.
Video demo: a video clip demonstrating the operation of your application. 10%

You might also like