Referencing Styles : Open
This assignment of TCP/IP communications is a group-of-two assignment worth 15% though working alone without a group is also acceptable. It will require Socket Programming, which is the topic of Week04 Lecture and Week05 Tutorial.
Sections 1 through 3 introduce some background information relevant to the assignment. The assignment tasks are described in Section 4. Section 5 highlights what and where you need to hand in your project report. In Section 6, the marking scheme of the assignment is enclosed for your reference.
This assignment relates to the following unit outcomes described in the unit outline:
Outcomes:
2. Advanced collaborative and communication skills through a group project and a technical report; and
4. Advanced collaborative and communication skills through a group project and formal technical report.
The criteria and performance standards used in this assessment are described in a table at the end of this document. Use the table as a marking guide.
You are asked to self-assess your assignment (in the enclosed marking guide table) and reflect on what you have achieved before handing in your assignment report. This gives you the opportunity to reflect on what you have learned from this assignment and also what you need to improve.
For the self-assessment, submit the self-assessed sheet together with your assignment. The self-assessment sheet is the table at the end of this document, and is used as a marking guide.
For reflection, write a separate section of Reflection in your assignment report.
Key technical aspects that this assignment is addressing include: TCP/IP communications, socket programming. No-technical aspects of the assignment include: team work, report and communication, and reflection.
2. Background: Dealing with Time
There are basically three types of methods to deal with time in C programming:
(1) Use some well-developed timing control APIs. For example, in Windows, a few functions are implemented in windows library (header file: windows.h); and QueryPerformanceCounter() can be used for high-resolution timing control. This is the method we have used in our examples, and is recommended to you for this assignment.