The official course outline now lives in ECOS . ECOS is UNSW's new Enterprise Course Outline Solution

Below is some relevant information.

Contents

Course Details

Course Code COMP3331/9331
Course Title Computer Networks and Applications
Units of Credit 6
Lecture Mahbub Hassan
Admin Isura Nirmal
Classes Lectures: Tue 9am - 11am (Law Theatre G04 ) and Wed 2pm - 4pm (E19 Patricia O'Shane 104).
Timetable for lectures and labs.
Lecturer Consultations Lecturer's Consultation Hour: Tuesdays 2pm - 3pm: Room 607, K17 Building

Course Website https://webcms3.cse.unsw.edu.au/COMP3331/26T1/
Course Contact Email cs3331@cse.unsw.edu.au
Course Forum Join the COMP3331/9331 Discourse ( login with zID (not email) and zPass )

Handbook Entry Handbook Entry

Course Summary

This course is an introductory course on computer networks aimed at students with a computer science / electrical engineering background. We will focus on common paradigms and protocols used in present data communication. Through lectures, in-class activities, labs and assignments, you will learn the theory and application of:

(1) Medium access control, congestion control, flow control, and reliable transmission,

(2) Addressing and naming,

(3) Routing and switching,

(4) Widely used protocols such as Ethernet, IP, TCP, UDP, HTTP, etc.

(5) Special-purpose networks, including content delivery, peer-to-peer, and wireless networks, and

This is a combined undergraduate and postgraduate course.

Course Timetable

There will be 4 hours of lectures every week:

(i) 2-hour lecture on Tuesday from 9am - 11am and

(ii) 2-hour lecture on Wednesday from 2pm - 4pm

Lectures will be in person in Law Theatre G04 (Tuesdays) and E19 Patricia O'Shane 104 (Wednesdays). The lecturers will also be recorded, and the video recordings will be available for viewing.

Labs will start from Week-2 (No labs to attend in Week-1). There will be 2-hour labs during 8 weeks, including 3 tutorials (starting in Week 2). Laba will be mostly in-person except a few online labs that will be recorded and released to all students. The detailed lab schedule will be posted on the Labs page.

Course Aims

The course aims to give students an overview of the core topics in computer networks and the Internet's architecture and protocols. Students will be introduced to network programming, learn how to design and implement network protocols and applications, and evaluate network performance. As an introductory course, one aim is to prepare students for more advanced study in follow-on courses.

Student Learning Outcomes

CLO1: Describe the current architecture of the Internet and the entities involved in its operations

CLO2: Identify soundness and/or potential flaws in proposed protocols

CLO3: Design networked applications and protocols and implement them in C, Java or Python

CLO4: Analyse and evaluate the performance of computer networks

CLO5: Capture and analyse network traffic

CLO6: Explain wireless and mobile access to computer networking (Note: Security is replaced with Wireless; this overrides the ECOS topic list)

Assumed Knowledge

Before commencing this course, students should:

  • Have a good understanding of data structures and algorithms and basic probability theory.
  • Write working programs in C, Java, or Python. The course will include a programming assignment and lab exercises.

Teaching Rationale

This course takes a top-down approach to teaching computer networks. The rationale is that most students have first-hand experience using applications over the Internet. This allows them to relate to each protocol stack layer as we travel down the layers. Once committed, they participate in appropriate cognitive aspects, such as learning the details with a focus on understanding them. Students get mentally prepared to answer questions. Very often, there is no single answer, or the answers can be unexpected. This results in deep learning and gives students a sense of accomplishment and confidence.

Learning will be primarily facilitated through lectures. The hands-on laboratories will help students better understand the concepts and theories discussed in the lectures. The sample problems, homework problem set, and tutorials will help students develop problem-solving skills and prepare for the exams. The programming assignment aims to familiarise students with basic network programming and network protocol design.

Teaching Strategies

  • Lectures: introduce the theory and explain how they apply in practice
  • Lab Work: reinforce concepts taught in lectures by conducting hands-on experiments
  • Assignment: allow students to design and implement network protocols and evaluate network performance
  • Homework Problems: allow students to solve problems based on content from lectures, develop problem-solving skills, assist with exam preparation
  • Consultations, Tutorials and Course Forum: allow students to ask questions and seek help from the teaching team.

Assessment

There will be four assessment components as listed below:

Component Weight
Lab Exercises 20%
Programming Assignment 20%
Mid-term Test 20%
Final Exam 40%

Assistance from Generative AI is NOT recommended and is NOT required for completing any of these assessments.

To pass the course, a student MUST receive a combined score of at least 50/100 AND at least 40% (16/40) marks in the final exam. The final exam may be scaled. The following formula outlines precisely how the final mark will be computed:

lab = marks for lab exercises (scaled to 20) 
assign = marks for the programming assignment (out of 20 marks) 
midTerm = mark for the mid-term exam (out of 20 marks) 
finalExamScaled = scaled mark for the final exam (out of 40 marks) 
mark = lab + assign + midTerm + finalExamScaled 
grade = HD|DN|CR|PS if mark >= 50 && finalExamScaled >= 16 
      = FL          if mark < 50
      = UF          finalExamScaled < 16
The final and mid-term exams will use the Inspera online platform in this course. The exam times will be announced well in advance. The mid-exam is non-invigilated, open-book, and can be taken on-line, while the final exam is invigilated (on-campus) and closed-book. More information for students about Inspera can be found here: https://www.student.unsw.edu.au/exams/inspera .


Student Conduct

The Student Code of Conduct ( Information , Policy ) sets out what the University expects from students as members of the UNSW community. In addition to the learning, teaching, and research environment, the University aims to provide an environment that enables students to achieve their full potential and provide an experience consistent with the University's values and guiding principles. A condition of enrolment is that students inform themselves of the University's rules and policies affecting them and conduct themselves accordingly.

In particular, students are responsible for observing standards of equity and respect when dealing with every university community member. This applies to all activities on UNSW premises and all external activities related to study and research. This includes in-person and social media behaviour; for example, Facebook groups are set up to discuss UNSW courses or coursework. Behaviour that is considered in breach of the Student Code Policy as discriminatory, sexually inappropriate, bullying, harassing, invading another's privacy or causing any person to fear for their safety is serious misconduct. It can lead to severe penalties, including suspension or exclusion from UNSW.

If you have any concerns, you may raise them with your lecturer or approach the School Ethics Officer , Grievance Officer , or one of the student representatives.

Plagiarism is defined as using the words or ideas of others and presenting them as your own. UNSW and CSE treat plagiarism as academic misconduct, which carries severe penalties, such as being excluded from further study at UNSW. There are several sources to help you understand what plagiarism is and how it is dealt with at UNSW:

Make sure that you read and understand the above. Ignorance is not accepted as an excuse for plagiarism. In particular, you are responsible for securely storing your assignment files so that they are not accessible by anyone but you by setting proper permissions on your CSE home directory and/or online code repositories. Note also that plagiarism includes paying or asking another person to do a piece of work for you and then submitting it as your work. Plagiarism also covers collusion: working on an individual assessment with other students. If the assignment is individual, do it yourself or ask your tutor or the forum for help.

UNSW is committed to fostering a learning culture informed by academic integrity. All UNSW staff and students are responsible for adhering to this principle of academic integrity. Plagiarism undermines academic integrity and is not tolerated at UNSW. Plagiarism at UNSW is defined as using the words or ideas of others and passing them off as your own. This encompasses copying works from your fellow students (plagiarism) or asking/paying someone to do the work for you (contract cheating).

Course Schedule

The following table lists the tentative weekly schedule. Students will be informed of any changes during the lecture and by announcements on the notices/forum page.


Week Lecture Dates Lecture Topics Labs Assessment Tasks
1 17 & 18 Feb Course Logistics
Introduction:
  • What is the Internet?
  • Network edge and core
  • Performance of networks
Introduction:
  • Layering and Encapsulation
Self-Study of Lab
resources and tools
(no submission and no marks)
2 24 & 25 Feb Application Layer:
  • Principles of networked applications
  • The Web & HTTP
  • Email
Lab 1 Lab 1 submission deadline: 17:00 Tue 03 March



3 03 & 04 March

Application Layer:
  • Domain Name Service (DNS)
  • Peer-to-Peer Networks
  • Content Distribution Networks
  • Socket Programming
Lab 2 Lab 2 submission deadline: 17:00 Tue 10 March




4 10 & 11 March

Transport Layer:
  • Transport services
  • Multiplexing & Demultiplexing
  • UDP
  • Principles of reliable data delivery
  • Pipelined Protocols
Lab 3
Lab 3 submission deadline: 17:00 Tue 17 March



5 17 & 18 March Transport Layer:
  • TCP
  • Connection management & flow control
  • Congestion control
Tutorial 1

6 No lecture No lecture
No Lab



7 31 March & 01 April
Note: Mid-term exam will take place on 31 March. Hence, there is no in-person lecture on that day.
Network Layer, Data Plane:
  • Overview
  • IP
Programming Tutorial Mid-term Test on 31 March during lecture hours

8
07 & 08 April Network Layer, Data Plane:
  • IP Addressing
  • NAT
  • IPv6
Network Layer, Control Plane:
  • Routing algorithms
  • Link State
  • Distance Vector
  • ICMP
Lab 4
Lab 4 submission deadline: 17:00 Tue 14 April


9 14 & 15 April

Link Layer:
  • Error detection
  • Multiple Access Protocols
  • Link-Layer Addressing and ARP
  • Ethernet
  • Switches

A Day in the Life of a Web request

Lab 5
Lab 5 submission deadline: 17:00 Tue 21 April

Assignment Due: 5 pm 17 April.
10 21 & 22 April

Wireless Networks
  • Wireless Characteristics
  • 802.11
  • CSMA/CA

Recap

Tutorial 2

Exam Period 01 - 14 May T1 Exams
Final Exam


Resources for Students

Course Textbook:

  • Computer Networking - A Top-Down Approach Featuring the Internet, J. Kurose and K. Ross, Pearson, 8th Edition, 2020. Bookshop Links: Print Version , E-book Version .

Reference Texts:

  • Unix Network 1 - Networking APIs: Sockets and XTI, W. Richard Stevens, Prentice-Hall, Second Edition, 1998.
  • Java Network Programming, E. R. Harold, O'Reilly, Third Edition, 2004.
  • Learning Python, Mark Lutz, O'Reilly, Fifth Edition, 2013.
  • Computer Networks: A Systems Approach, Larry Peterson and Bruce Davie, Morgan Kaufmann, Fifth Edition, 2011.
  • Introduction to Computer Networks and Cybersecurity, John Wu and J. David Irwin, CRC Press, 2013.
  • Computer Networks, Andrew Tanenbaum and David Wetherall, Fifth Edition, Pearson, 2010.
  • Wireless and Mobile Networking, Mahbub Hassan, CRC Press, 2022 (free digital access through UNSW library)

Links to any additional reading material will be available on the lecture notes page.

Software:

For the labs, we will be using several Unix-based network utility programs. The purpose of these programs and information on how to use them will be provided in the lab handouts. We will also use a packet sniffing tool called Wireshark, which is widely deployed on CSE machines. In addition, we will also use Ns-2, a widely used network simulator for a few labs. Ns-2 is installed on the CSE lab machines. The simulator is written in C++. However, it uses OTcl as its command and configuration interface. In the lab exercises, we will use scripts written in OTcl. We will provide the necessary scripts for the lab exercises. You will be expected to run the scripts, make some changes in the scripts, and specific performance metrics. You will not be required to write C++ code. Detailed resources for all tools will be available on the lab exercises page.

The programming assignment is expected to be developed in C, Java or Python . Students are assumed to have sufficient expertise in one of these programming languages. Links to C, Java and Python network programming resources will be available on the assignment page. Students will work on some simple client-server applications in two lab exercises, which should be a helpful starting point for the assignment.

Course Evaluation and Development

Student feedback on this course is obtained through the myExperience survey at the end of each term. We value student feedback and take it seriously, using it as a basis for continuous improvements to the course. We strongly encourage students to promptly inform the course lecturer of any issues that may arise. We are open to suggestions and criticisms and committed to taking appropriate actions to rectify any problems and enhance the student's learning experience.

Based on feedback from previous terms, some students found the programming assignment challenging. To address this, we will provide additional support in the form of extra help sessions and tutorials on socket programming and multithreaded programming. These sessions will commence shortly after the assignment specification is released and continue until the assignment deadline. This additional support is intended to help students progress through the assignment more confidently and to enhance the overall learning experience. In addition, the assignment specification will be released earlier in the term to allow students more time to engage with the task.

Special Consideration

You can view the Special Consideration policy at the link here .

UNSW centrally handles special considerations (in the Student Lifecycle division), so all special consideration requests must be submitted via the UNSW Special Consideration website. If you believe your work for any assessment component in this course was affected by unforeseen adverse circumstances, you could apply for Special Consideration. Special consideration requests must be accompanied by documentation on how you have been impacted, which Student Lifecycle will verify. Do not email the LiC directly about special consideration. If your request is reasonable and your work has been impacted, then:

  • Lab submission: you may be granted an extension of a few days.
  • Assignment: you may be granted an extension of a few days.
  • Mid-Term Exam: you may be offered a Supplementary Exam, or your final exam marks will be scaled up to cover the mid-term component.
  • Final Exam: you may be offered a Supplementary Exam

Note the use of the word "may". None of the above is guaranteed. It depends on you making a convincing case that the circumstances have impacted your ability to work. UNSW expects you to be available to sit for the supplementary exams if required. If you are awarded a supplementary exam and do not attend, your exam mark will be zero.

If you are registered with Equitable Learning Services (ELS), please email your documentation to cs3331@cse.unsw.edu.au within the first two weeks of the term.

Contacting Lecturer and Course Admin: No personal emails, please. Please use cs3331@cse.unsw.edu.au

Resource created Monday 02 February 2026, 03:36:40 PM, last modified Thursday 05 February 2026, 09:30:25 AM.


Back to top

COMP3331/COMP9331 26T1 (Computer Networks and Applications) is powered by WebCMS3
CRICOS Provider No. 00098G