0% found this document useful (0 votes)
67 views2 pages

ITT440 Network Programming Assignment

This document provides instructions for an individual assignment on network programming. Students must choose a network protocol that runs on a well-known port, with the exceptions of TCPMUX, Echo, and Message Send Protocols. They must understand how the chosen protocol works and implement a basic client-server version of it in either C or Python. Students will be evaluated based on a 10-minute video presentation demonstrating their working code and the code itself submitted on Github. The deadline is Week 9 and no late assignments or plagiarized work will be accepted.

Uploaded by

Zaifee hamzah
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
67 views2 pages

ITT440 Network Programming Assignment

This document provides instructions for an individual assignment on network programming. Students must choose a network protocol that runs on a well-known port, with the exceptions of TCPMUX, Echo, and Message Send Protocols. They must understand how the chosen protocol works and implement a basic client-server version of it in either C or Python. Students will be evaluated based on a 10-minute video presentation demonstrating their working code and the code itself submitted on Github. The deadline is Week 9 and no late assignments or plagiarized work will be accepted.

Uploaded by

Zaifee hamzah
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

1

NETWORK PROGRAMMING (ITT440)


INDIVIDUAL ASSIGNMENT

INDIVIDUAL ASSIGNMENT (10% of Carrymark) OBE: P2

Course Outcome: Perform practical skill related to network programming.

Learning Outcomes: Cognitive and Practical Skills (MOE).

The Objectives

By the end of this project, you should be able to


• Understand the concept of network programming.
• Apply the knowledge and skills in network programming to in real world scenario.

The Instructions

The task is to pick one network protocol running on well-known port (e.g. HTTP, FTP),
except for the protocol listed below you can refer the list of well-known protocol here
[Link]

You cannot pick this protocol


• TCPMUX
• Echo Protocol
• Message Send Protocol

After you have picked the protocol, you need to understand how the protocol works. For
example, for HTTP protocol the server will be listening for a request. When the client
establishes connection, it will first send HTTP request and the server will reply with HTTP
response. After understanding the inner working of the protocol, you need to implement
the server-client protocol using your own code. You can use C or Python programming
language for your implementation. Your implementation can only cover basic function of
the protocol. Extended function will be rewarded with extra mark.

You must present your project by creating a video and submit your code via Github
repository. Each protocol can only be picked by TWO (2) student. Even though the protocol
is similar, the implementation in your code must be different. Plagiarism will not be
tolerated.
2

Project Evaluation

Your project will be evaluated based on the following criteria:


1. Video Presentation (70 Marks)
2. Your code in Github Repository (30 Marks)

Video Presentation
Please prepare 10 Minute video to demonstrate your network application is up and running.
Please make sure the system is up and running during presentation. Marks will be given
based on creativity, innovation and professionalism during the presentation.

Deadline: Week 9 (29 MAY 2022)

Late Assignments

NO late assignments or make up will be accepted.

Plagiarism

If you consult any outside sources when doing your work, you are expected to further
document these sources. Give credit where credit is due. Plagiarism will not be tolerated.
You will be given zero mark and be reported to UiTM’s academic office.

Common questions

Powered by AI

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 .

You might also like