NWEN302 (2022) - Computer Network Design


This course addresses the principles, architectures and protocols that have shaped the development of the Internet and modern networked applications. It examines network design principles, underlying protocols, technologies and architectures of the TCP/IP protocol stack. Topics include the design of transport protocols, routing protocols, logical link control, medium access control and physical media.

Course learning objectives

Students who pass this course will be able to:

  1. Explain the process in which packets are delivered from source to destination in the Internet (GA 3(b))
  2. Explain key routing algorithms, the process of how routing protocols communicate/exchange topology information and set up routing tables (GA 3(a), 3(b), 3(d), 3(e ))
  3. Explain the operation of the TCP flow and congestion control algorithms (GA 3(a), 3(b), 3(c), 3(d), 3(e))
  4. Explain the role of medium access control and implications of different types of physical layers (GA 3(a), 3(b), 3(c), 3(d), 3(e))
  5. Setup and interconnect networks with an emulation tool (GA 3(b), 3(d ), 3(f))
  6. Implement simple networking algorithms and protocols using TCP/IP primitives (GA 3(b), 3(d), 3(f))
  7. Setup and configure a simple network of SDN-enabled devices and demonstrate the usage, comparing it with the traditional Internet model (GA 3(b), 3(d), 3(f)).

Course content

2022: The course is primarily offered in-person, and there are components such as tests, labs, tutorials, and marking sessions which require in-person attendance. There will be remote alternatives for all the components of the course, but these are only available to students studying from outside the Wellington region. The remote option for tests will use a Zoom-based system for online supervision of the tests. 
Students taking this course remotely must have access to a computer with camera and microphone and a reliable high speed internet connection that will support real-time video plus audio connections and screen sharing. Students must be able to use Zoom; other communication applications may also be used. A mobile phone connection only is not considered sufficient. The computer must be adequate to support the programming required by the course: almost any modern windows, macintosh, or unix laptop or desktop computer will be sufficient, but an Android or IOS tablet will not.

Required Academic Background

Students must have basic networking protocols knowledge (cf: NWEN 243) and be able to program in C and Python (cf: NWEN 241).

Withdrawal from Course

Withdrawal dates and process:


Dr Alvin Valera (Coordinator)

Prof Winston Seah

Teaching Format

This course will be offered in-person and online. For students in Wellington, there will be a combination of in-person components and web/internet based resources. It will also be possible to take the course entirely online for those who cannot attend on campus, with all the components provided in-person also made available online.
During the trimester there will be two in-person lectures per week. Students are encouraged to approach the lecturers if they have questions; students can also discuss with tutors if they have questions on the assignments/labs.

Student feedback

A summary of the course feedback provided by students previously for this course is available from: http://www.cad.vuw.ac.nz/feedback/feedback_display.php

Dates (trimester, teaching & break dates)

  • Teaching: 11 July 2022 - 14 October 2022
  • Break: 22 August 2022 - 04 September 2022
  • Study period: 17 October 2022 - 20 October 2022
  • Exam period: 21 October 2022 - 12 November 2022

Class Times and Room Numbers

11 July 2022 - 21 August 2022

  • Monday 10:00 - 10:50 – 102, Alan MacDiarmid Building, Kelburn
  • Tuesday 10:00 - 10:50 – 102, Alan MacDiarmid Building, Kelburn
  • Thursday 10:00 - 10:50 – 102, Alan MacDiarmid Building, Kelburn
05 September 2022 - 16 October 2022

  • Monday 10:00 - 10:50 – 102, Alan MacDiarmid Building, Kelburn
  • Tuesday 10:00 - 10:50 – 102, Alan MacDiarmid Building, Kelburn
  • Thursday 10:00 - 10:50 – 102, Alan MacDiarmid Building, Kelburn

Other Classes

There will be weekly 3-hour in-person helpdesks in CO246 reserved for NWEN 302 labs. There will also be weekly 1-hour online helpdesks through Zoom.


There are no required texts for this offering.

Mandatory Course Requirements

In addition to achieving an overall pass mark of at least 50%, students must:

  • Attempt all labs and obtain at least 40% of the total available marks across all the labs.
  • Obtain an average of C- grade or better in the final test.

If you believe that exceptional circumstances may prevent you from meeting the mandatory course requirements, contact the Course Coordinator for advice as soon as possible.


This course will be assessed through assignments, labs and a final exam.

Assessment ItemDue Date or Test DateCLO(s)Percentage
Assignment 1Week 4CLO: 1,2,3,42.5%
Assignment 2Week 7CLO: 1,2,3,42.5%
Assignment 3Week 9CLO: 1,2,3,42.5%
Assignment 4Week 12CLO: 1,2,3,42.5%
Lab 1Week 5, Week 7CLO: 5,6,720%
Lab 2Week 9, Week 10CLO: 5,6,720%
Lab 3Week 12CLO: 5,6,720%
Final ExamAssessment PeriodCLO: 1,2,3,430%


Assignments and labs submitted after the deadline will be deducted 20% of the marks per day late (00:00 the following day is counted as one day late).


Any request for extension must be supported by a medical certificate or other acceptable documentation for non medical reasons. Medical certificates must be provided by a registered medical practitioner. Approval for extensions can only be granted by the course lecturers.

Submission & Return

All assignments and lab reports (and supplementary documents, e.g. source codes) are to be submitted electronically via the ECS submission system and are due at 23:59 on the date specified.


In order to maintain satisfactory progress in NWEN 302, you should plan to spend an average of 10 - 11 hours per week on this paper. A plausible and approximate breakdown for these hours would be:

  • Lectures: 3 hours
  • Readings: 2 hours
  • Assignments: 2 hours
  • Labs: 3-4 hours

Teaching Plan

See https://ecs.wgtn.ac.nz/Courses/NWEN302_2022T2/LectureSchedule

Communication of Additional Information

Please refer to the ECS Wiki Page at https://ecs.wgtn.ac.nz/Courses/NWEN302_2022T2/ for the latest information related to the course.

Offering CRN: 17181

Points: 15
Prerequisites: NWEN 241, 243; ENGR 123 or (MATH 161, one of MATH 177, QUAN 102 or STAT 193)
Duration: 11 July 2022 - 13 November 2022
Starts: Trimester 2
Campus: Kelburn