This document outlines an assignment for a Modern Networks course to design, implement, and test graphical Java and C# applications that can communicate over TCP and UDP like the netcat utility. Students must demonstrate their applications can: connect between programming languages over TCP and UDP; and optionally connect to other applications like web servers. A report is due January 15th documenting the virtual demo, design, implementation, testing, references, and appendices. This assignment aims to help students understand distributed computing applications using TCP and UDP in mobile and fixed contexts.
BSc Computing CSY2026 Modern Networks Date of Issue .docx
1. BSc Computing
CSY2026 Modern Networks
Date of Issue:
3rd November,
2016
Date for
Submission:
15th January, 2017
(23:59 by e-submission)
Agreed Date for late
submission:
Module Tutor:
Signed:
Espen Svennevik
Student Name:
Student ID:
Student’s
Signature:
2. This assignment is weighted as 50% of the Module's
assessment
Assessment Feedback
Aspect A B C D F
Virtual Demo
30%
Design 15%
Implementation
(Java & C#)
30%
Testing 15%
Report Quality 10%
Specific aspects of the assignment
that the marker likes:
3. Specific aspects of the assignment that need
more work:
Tutor’s Signature:
Date: Grade
:
The University of Northampton’s Policy on Plagiarism &
Mitigating Circumstances
will be
strictly implemented. By submitting this signed assignment you
are asserting
that this submission is entirely your own individual work.
Modern Networks
Assignment 1 - CSY2026
Finish Date: 15th January, 2017 – By e-submission by 23:59
Aims & Objectives
To enable the student to understand and extend Distributed
Computing applications,
using the Java programming language and C# .NET utilising the
Transmission Control
Protocol (TCP) as well as User Datagram Protocol (UDP).
4. Brief:
The netcat command line utility allows arbitrary TCP and UDP
connections to be
established between two or more instances of the utility, or
between the utility and other
applications, and for them to exchange data.
Two console based applications, written in both Java and C#,
have much of the
functionality used by netcat. These source code behind these
applications are available
to you to help with this assignment. These two applications
allow each to act as a:
• TCP server
• TCP client
• UDP server
• UDP client
Design, implement and test a graphical version of netcat in both
Java and C# so that
these applications can be used in the same way as the netcat
command line utility
(There is no need to design the GUI behind the Java and the C#
GUI applications as they
are available as two skeleton applications. You need to design,
implement and test the
code behind each application). As, a minimum, you need to
demonstrate that your two
applications can communicate with themselves and each as
follows.
5. • Java TCP Listener <-> Java TCP
• Java UDP Listener <-> Java UDP
• C# TCP Listener <-> C# TCP
• C# UDP Listener <-> C# UDP
• Java TCP Listener <-> C# TCP
• C# UDP Listener <-> TCP UDP
You may also wish to show your application(s) communicating
with existing applications.
For example, with a web server (when acting as a web browser)
or a web browser (when
acting as a web server).
Deliverables
A report is required to be submitted to TurnitIn by 23:59 on
15th January, 2017.
Your report should include the following sections:
1. Virtual Demo
2. Design
3. Implementation
4. Test
5. References
6. Appendices
Please note that the work you produce must be your own and
you may be asked
for a viva.
EJS
6. Learning objectives
This assessment corresponds to the following Learning
Objectives as detailed in the
Module Specification document:
Knowledge and Understanding
c. Understand and explain the principles of mobile device
programming to a
satisfactory level.
Subject specific skills
d. Satisfactorily evaluate and use networks, in both fixed and
mobile contexts, that
are used for device programming.
e. Evaluate and appraise the use of modern networks used in
fixed and mobile
contexts to an adequate level.
f. Design and implement programs for use on modern networks.
Key Skills
g. Competently identify relevant sources of information
h. Communication. Write clearly about complex subjects in a
form adequate to the
7. purpose.
i. Managed Learning: Satisfactorily make, justify and
implement decisions following
evaluation of options.
j. Problem solving: Develop skills to satisfactorily design and
implement appropriate
software and systems.
Personal Development & Key Skills (for your PDP)
This assignment provides an opportunity to add to your personal
development portfolio
as indicated below:
Key Skill Y/N
1 Managing the Learning Process: Ability to evaluate learning
styles,
identify strategies for approaching study tasks, manage and
organise
oneself taking responsibility for decision-making, target-setting
and
delivery of action.
2 Communication Skills: The ability to express, discuss and
present
knowledge, ideas and viewpoints to a variety of audiences with
confidence
and clarity.
3 Groupwork: The ability to work harmoniously and
8. productively as a
member of a group in a variety of roles, demonstrating an
awareness of
group dynamics, appropriate inter personal and interactional
skills.
4 Information Skills: The ability to identify information needs,
access and
evaluate a range of relevant sources, organise and use
information
efficiently and effectively for both academic and professional
purposes.
5 Problem Solving: The ability to identify problems and to
apply concepts,
principles and techniques in order to generate solutions, choose
between
alternatives and take appropriate action.
6 Use of IT: The ability to effectively use key information
technology and
appropriate software to assist in the learning process through
research and
retrieval, communication and manipulation of information in
various forms.
7 Application of number: The ability to understand, interpret
and use
numerical and graphical information accurately and effectively.
9. Remember to consult and completing your Key Skills Checklist
or Skills
Development Plan as appropriate, to help you to identify current
strengths and how
you can build on these, as well as highlight areas that need
improving. At the end of
each year you can complete a new skills checklist/plan, based
on your learning
experiences.
Year 1:
http://pdp.northampton.ac.uk/Year1_Files/docs/Key%20Skills%
20Checklist.doc
Year 2:
http://pdp.northampton.ac.uk/Year2_Files/Docs/Stage2SkillsDe
velopmentPlan.doc
Year 3
http://pdp.northampton.ac.uk/Year3_Files/Docs/Skill%20Develo
pment%20Plan%20year
%203%20generic.doc