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:
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:
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). 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.
• 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
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
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 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.
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/Stage2SkillsDevelopmentPlan.doc Year 3 http://pdp.northampton.ac.uk/Year3_Files/Docs/Skill%20Development%20Plan%20year %203%20ge