CITS3002 Computer Networks  
 

Unit home

help3002

Lecture recordings
via LMS

Schedule

Project

Final exam

Unit outline

Resources

Textbooks

Extra reading



Look after yourself!

Practical project 2024 - clarifications

(due 11:59pm Fri 17th May - end of week 11)

See also: The project and Getting Started

Please post requests for clarification about any aspect of the project to help3002, so that all students may remain equally informed. They will be summarized here.

12th May
Please note the revised point #7 of the marking rubric.

10th May
Please note the important (and unchanged) requirements:
  • You are writing two station servers, in two different programming languages. Each of these servers should be able to communicate with the other server, using (your) common protocol.
  • Servers are invoked in a consistent manner, providing the colon-separated hostnames and (UDP) ports of neighbouring station servers, but not the names of the neighbouring stations.
  • The specified format for timetable files - text files with 5 comma-separated fields. The timetable files may have any filenames you choose.

5th May (from help3002 questions)
  • As UDP is an unreliable protocol, you should attempt to address this.

  • The goal is to make a *useable* web-based application that reports correct information, or indicates if there is no 'solution' to a query. You will need to ask the starting station-A:

    "how to I get from station-A to the destination station-B, leaving after time-T ?"

    Your query should be made directly to the server of station-A, and need to provide station-B and time-T (the inputs). If station-A is directly connected to station-B, station-A can get the answer from its own timetable, and immediately reply with:

    "catch bus-N from station-A, at time HH:MM, to arrive at station-B at time XX:YY"

    If station-A is not directly connected to station-B, it will have to ask each of its neighbours for help. As the route will require a transfer from the first bus to a second bus (to a third bus....) the output will need to inform the traveller, as with:

    "catch bus-N from station-A, at time HH:MM, to arrive at station-C at time XX:YY. catch bus-P from station-C, at time RR:SS, to arrive at station-B at time JJ:KK"

    If no journey can reach the destination station by midnight, then the the output should be:

    "there is journey from station-A to station-B leaving after time-T today"

    The output does not have to aesthetically pleasing, or in fluent English, just to correctly report station names, and times, in the order to be taken.

28th April (from help3002 questions)
  • While you'll be able to initially develop your project on a single computer, it will need to be demonstrated on multiple computers.
  • (a reminder that) UDP is unreliable, and your project must account for this.
  • Journeys have to begin and end on the same day, and must not continue past midnight.
    The buildtransperthtimetables.sh shellscript has been modified to support this.
  • Station names will be at most 60 characters long.
  • The fastest journey to a destination (from 'now') is one that arrives at the destination soonest, independent of when it starts.

24th April
The section "Simplifying the building and execution of your transport networks" has been moved to the Getting Started page.

21st April
More advice, than a clarification - do not attempt to code anything immediately. Instead, grab some paper or a notebook and undertake some design of your project. "Computer Science is all boxes and arrows".

Focus on the following questions:

  • Who are the significant players?
  • What information needs to be communicated?
  • How will the information be represented?
  • What path will the information take?
  • How will success and failures be communicated?

The University of Western Australia

Computer Science and Software Engineering

CRICOS Code: 00126G
Presented by [email protected]