Question
1 NTU Nottingham Trent University School of Science and Technology COURSEWORK ASSESSMENT SPECIFICATION Details of Module and Team What Learning Outcomes are assessed? What are my Deadlines and how much does this assessment contribute to my Module Grade? What am I required to do in the assessment? What are my assessment criteria? (What do I have to achieve for each grade?) Can I get formative feedback before submitting ? If so, how? What extra support could I look for myself? How and when do I submit this assessment? How and when will I get summative feedback? What skills might this work evidence to employers? Module Code SOFT10121 Nottingham Trent NTU University 2 Module Title Module Leader Module Team Coursework Title Module Learning outcomes assessed Apprentice Learning outcomes assessed Contribution to element Date set Deadline for submissions Method of Submission Software Project and Report All Knowledge and skills outcomes N/A 100% of overall module mark Report, code and recorded video demo to be submitted via DROPBOX Deadline for Feedback Method of Feedback NOW Dropbox Work handed in up to five working days late will be given a maximum Grade of Low Third whilst work that arrives more than five working days will be given a mark of zero. Work will only be accepted beyond the five working day deadline if satisfactory evidence, for example, an NEC is provided. https://www.ntu.ac.uk/studenthub/my-course/student-handbook/submit-a- notification-of-extenuating-circumstances The University views plagiarism and collusion as serious academic irregularities and there are a number of different penalties which may be applied to such offences. The Student Handbook has a section on Academic Irregularities, which outlines the penalties and states that plagiarism includes: 'The incorporation of material (including text, graph, diagrams, videos etc.) derived from the work (published or unpublished) of another, by unacknowledged quotation, paraphrased imitation or other device in any work submitted for progression towards or for the completion of an award, which in any way suggests that it is the student's own original work. Such work may include printed material in textbooks, journals and material accessible electronically for example from web pages.' Whereas collusion includes: “Unauthorised and unacknowledged copying or use of material prepared by another person for use in submitted work. This may be with or without their consent or agreement to the copying or use of their work.” If copied with the agreement of the other candidate both parties are considered guilty of Academic Irregularity. Please remember submitting portions of work already assessed is Self- Nottingham Trent NTU University 3 Plagiarism and is also a serious academic irregularity. Penalties for Academic irregularities range from capped or zero grades for elements of modules, to dismissal from the course and termination of studies. To ensure that you are not accused of plagiarism, look at the sections on Plagiarism Support and Turnitin support. Chat GPT and other Al-powered language models It is important to note when using any Al platform that they generate the most common responses to questions, not necessarily the correct ones. They also fabricate evidence. The material they produce is not your own words. Assessments require you answer questions giving your own view and in your own words. The outputs from Chat GPT do not provide that. By presenting such material as your own words you are violating Academic Integrity policy, a matter that NTU takes very seriously. The skills you develop during your time with us allow you to interrogate material and evaluate it, important skills in all careers. Chat GPT does not allow you to develop these. Nottingham Trent NTU University I. Assessment Requirements You will design and implement a program in Python based on either one of the given scenarios or on an idea proposed by you and agreed with the lab tutor. If the latter is the case, the system you will produce would have to be of sufficient complexity. The report must be at least 8 pages and no more than 15 pages maximum in length (font to be used is Verdana, 11 point). If you include either a front cover sheet, list of tables, or reference / bibliography pages these will not count towards the size of the report. Only pages dedicated to the following sections will count towards the 8 to 15- page limit: 1. Introduction/Design (no more than 6 pages): Your design should include: i. The problem statement as to what your system is intending to achieve. ii. iii. iv. What key features your system is going to provide including those that go beyond what was asked for in the scenario. The design of what your system is going to do through the use of flow charts or pseudo code detailing the complexity of the system (i.e., the algorithms that you will be implementing). You are required to explain your decisions for your choices in your design. How you intend to test the system to make sure it works correctly. You must describe a number of tests and determine what the outcome of the tests will be. These tests will then be used to show that your system is working correctly in section 3. 2. Implementation (no more than 6 pages): You are required to describe your implementation. To do this, short listings of code can be included within this section, but the code must be fully described, and you must justify why it should be discussed. The description must detail the complexity and/or challenges that you encountered when writing the code (for example what problems you encountered and how you solved them). Including program listings which does not satisfy the previous will not be acceptable (for example, no large listings of code will be acceptable). You are required to describe what data structures are used within the system and why they were chosen. These details can be integrated into the general discussion in section 2. 3. Testing (no more than 3 pages): You must discuss and detail how the system satisfies the testing procedure described in section 1.4. This requires you to show, by referencing from section 1.4: i. What the test is ii. The expected result iii. The actual result You must produce a working program with all source code, including any additional NTU Nottingham Trent University 5 files that are required. Any elements or features of the system from other sources will need to be fully attributed in both the program code and report. Failure to do so will result in an Academic Misconduct Investigation for plagiarism. This can apply to (but not limited to) code, algorithms or design. If you are in doubt, discuss the matter with the lab tutor and/or consult the student handbook for more information. 4. Recorded video demo When submitting your report, include a recorded video of between 5 to 10 minutes showcasing the functionality of your working system for the chosen task. Ensure your voice is audible in the video and upload the recorded demo to Dropbox. You must submit the following: 1. The report as detailed above in electronic format only. This accounts for 40% of the grade. 2. All source code (including any additional files that are required) to be submitted electronically. This accounts for 60% of the grade. 3. A statement of ownership which states that this is your own work and provides references to sources if elements of your system come from other works. For more information or if you are in doubt, you must discuss this with the lab tutor. 4. A recorded video demo showcasing the functionality of your working system for the chosen task. Ensure your voice is audible in the video. (5 to 10 minutes) II. Assessment Scenario/problem You must choose one of the following scenarios: 1. A network-based chat server and client. The server must allow multiple clients from remote machines to connect simultaneously and allow parallel conversations between different people on different clients, prioritizing the confidentiality and integrity of communication. You should implement authentication mechanisms by incorporating features to mitigate potential security threats such as unauthorized access and malicious activities within the network. 2. DNS Server. Imagine you are a cybersecurity specialist who needs to create a DNS server for a client. Your task is to program and simulate the server, which should be able to handle multiple clients and resolve domain names to their corresponding IP addresses. Prioritize security by implementing measures to protect against potential vulnerabilities and attacks. Establish a secure protocol and messaging system to facilitate communication with the clients, ensuring the confidentiality and integrity of data exchange. Integrate mechanisms for storing addresses and IP addresses securely, either through hard-coding or by loading them from a file. The design and implementation of the DNS server should adhere to cybersecurity best practices, addressing concerns such as data integrity, confidentiality, and resilience against potential malicious activities. The implementation should include robust authentication mechanisms to safeguard the communication channels and prevent unauthorized access to information. You are required to research how DNS works (the Nottingham Trent NTU University