BSc Computing CSY2026 Modern Networks

BSc Computing CSY2026 Modern Networks 3rd November, 2016 Date of Issue: Agreed Date for late submission: Date for Submission: 15th January, 2017 M...
Author: Drusilla Parks
11 downloads 2 Views 79KB Size
BSc Computing CSY2026 Modern Networks 3rd November, 2016

Date of Issue: Agreed Date for late submission:

Date for Submission:

15th January, 2017

Module Tutor:

Espen Svennevik

(23:59 by e-submission)

Signed:

Student Name: Student ID:

Student’s Signature: This assignment is weighted as 50% of the Module's assessment Assessment Feedback Aspect

A

Virtual Demo

30%

Design

15%

Implementation

30%

B

C

D

F

(Java & C#) Testing

15%

Report Quality

10%

Specific aspects of the assignment Specific aspects of the assignment that need that the marker likes: 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 15

th

January, 2017.

Your report should include the following sections: 1. 2. 3. 4. 5. 6.

Virtual Demo Design Implementation Test References 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. e. f.

Satisfactorily evaluate and use networks, in both fixed and mobile contexts, that are used for device programming. Evaluate and appraise the use of modern networks used in fixed and mobile contexts to an adequate level. Design and implement programs for use on modern networks.

Key Skills g. h. i. j.

Competently identify relevant sources of information Communication. Write clearly about complex subjects in a form adequate to the purpose. Managed Learning: Satisfactorily make, justify and implement decisions following evaluation of options. 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 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.

Y/N

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%20generic.doc

Aspect

A

B

C

D

F

Virtual Demonstration

An excellent virtual demonstration showing that the two applications, not only having all the required features, working to a high quality, but also can interoperate as specified. Additional and useful features are also documented.

A good virtual demonstration showing that the two applications with most of the required features, working to a high quality and interoperating mostly as specified. Additional and useful features are also documented.

A satisfactory virtual demonstration showing that the two applications with many of the required features working and interoperating mostly as specified. Some additional and useful features are also documented.

A poor virtual demonstration showing a little of the applications interoperating Little or no additional or useful features documented.

Little or nothing giv

Design of Java nc application

Excellent design showing the Java user interface and describing how it operates with the background code. The algorithm is excellently described in terms pseudocode or similar.

A good design showing the Java user interface and describing how it operates with the background code. The algorithm is well described in terms pseudocode or similar.

A satisfactory design showing the Java user interface and describing how much of it operates with the background code. Some of the algorithm is described in terms pseudocode or similar.

A poor design showing little of how the Java application will operate or similar.

Little or nothing is of the Java design any very poor qual

Design of C# nc application

Excellent design showing the C# user interface and describing how it operate with the background code. The algorithm is excellently described in terms pseudocode or similar.

A good design showing the C# user interface and describing how it operates with the background code. The algorithm is well described in terms pseudocode or similar.

A satisfactory design showing the C# user interface and describing how much of it operates with the background code. Some of the algorithm is described in terms pseudocode or similar.

A poor design showing little of how the C# application will operate or similar.

Little or nothing is of the C# design o any very poor qual

Implementation of Java nc design

Excellent use of Java to implement fully the application as designed. Code snippets are excellently explained for each design features.

Good use of Java to implement most of the application as designed. Code snippets are well explained for the design features.

Satisfactory use of Java to implement much of the application as designed. Code snippets are explained for the design features.

A poor implementation showing little of how the Java design is implemented.

Little or nothing is of the Java implementation or a very poor quality

Implementation of C# nc design

Excellent use of C# to implement fully the application as designed. Code snippets are excellently explained for each design features.

Excellent use of C# to implement most of the application as designed. Code snippets are well explained for the design features.

Satisfactory use of C# to implement much of the application as designed. Code snippets are explained for the design features.

A poor implementation showing little of how the C# design is implemented.

Little or nothing is of the C# impleme or it is of a very po quality.

Testing of Java implementation

An excellent test plan is produced. Evidence of testing is given for all of the test plan. Excellent use of screen shots as evidence.

A good test plan is produced. Evidence of testing is given for most of the test plan. Good use of screen shots as evidence.

A satisfactory test plan is produced. Evidence of testing is given for much of the test plan. Some use of screen shots as evidence.

Some little evidence of testing the Java application is given.

Little or nothing giv

implementation

References

An excellent test plan is produced. Evidence of testing is given for all of the test plan. Excellent use of screen shots as evidence..

A good test plan is produced. Evidence of testing is given for most of the test plan. Good use of screen shots as evidence

A satisfactory test plan is produced. Evidence of testing is given for much of the test plan. Some use of screen shots as evidence.

Some little evidence of testing the C# application is given.

Little or nothing giv

An excellent report consisting of all the correct sections, pagination, and table of contents with page numbers. References and Full listing of implemented code is appendices given.

A good report consisting of most of the correct sections, pagination, and table of contents with page numbers. References and listing of implemented code is appendices given.

A satisfactory report consisting of many the correct sections, pagination, and table of contents with page numbers.

An poor report lacking many the correct sections, pagination, or table of contents with page numbers.

A poor report prese little or nothing of required.