ITT440 Network Programming Assignment
ITT440 Network Programming Assignment
The constraints and objectives for the network programming assignment significantly influence the students' project execution strategy by outlining specific requirements and limitations. Students must pick a network protocol that is not TCPMUX, Echo Protocol, or Message Send Protocol, and cannot be duplicated by more than two students, which encourages originality and a broad understanding of various protocols . The objective to implement a basic version of the protocol in C or Python and possibly extend it, rewards depth of understanding with higher marks. The emphasis on originality in implementation highlights the importance of avoiding plagiarism, necessitating a customized approach. Lastly, the requirement to present and upload their project to GitHub encourages professionalism and provides a real-world application scenario of project management and software presentation.
Requiring submission of the network programming project via a GitHub repository prepares students for industry practices by introducing them to version control systems, which are integral to modern software development workflows. Through GitHub, students learn to manage code versions, collaborate effectively with others, and document their work—a reflection of real-world software development environments. This experience also emphasizes the importance of maintaining a professional online presence for code, a skill beneficial for future employment opportunities . Furthermore, GitHub's platform allows students to demonstrate their ability to follow best practices in code organization and collaboration, which are essential competencies in the industry.
When implementing a network protocol in a client-server model, understanding the protocol's workings is crucial because each protocol operates based on specific rules defining communication between the client and server. For example, understanding the request-response cycle in HTTP is key to correctly implementing an HTTP server or client. This understanding enables developers to create software that correctly formats and processes messages according to protocol specifications, ensuring interoperability and correctness . Additionally, practical skills in a programming language such as C or Python are necessary to translate this understanding into working code. Implementing the protocol requires not only theoretical knowledge but also practical abilities to handle network interactions, manage data flow, and troubleshoot issues that may arise during execution.
The evaluation criteria for the network programming project are designed to promote higher-order thinking and creativity by prioritizing originality, functionality, and presentation skills. The project is assessed heavily on the video presentation (70 Marks), which tests creativity, innovation, and professionalism, demonstrating an understanding beyond mere functionality to include how the project is communicated and showcased . This pushes students to think critically about not just the coding aspect but also how effectively they can engage and inform their audience. Additionally, the encouragement of extending basic functions for extra marks incentivizes creative problem-solving and application of knowledge, pushing students to explore innovative solutions and practically apply what they have learned.
The prohibition of plagiarism plays a critical role in maintaining the integrity and educational value of the network programming assignment by ensuring that each student's work is original and reflective of their understanding and effort. Plagiarism undermines the learning process by depriving students of genuine knowledge acquisition and the development of problem-solving skills. By enforcing strict penalties for plagiarism, such as receiving zero marks and being reported to the academic office, the assignment ensures that students engage in authentic learning and creativity, which are fundamental to personal and professional development in the field of network programming .