Hello, if you have any need, please feel free to consult us, this is my wechat: wx91due
COMP9331 Computer Networks and Applications
Course Details & Outcomes
Course Description
This course is an introductory course on computer networks aimed at students with a computer science / electrical engineering background. You 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
(6) Security threats and standard defensive techniques (if time permits)
This is a combined undergraduate and postgraduate course. The corresponding undergraduate course code is COMP3331.
Course Aims
The course aims to provide students with an overview of the core topics in computer networks and the Internet's architecture and protocols. Students will be introduced to network programming and will learn to design and implement network protocols and applications and evaluate network performance. As an introductory course, one of the aims is to prepare students for more advanced study in follow-on courses.
Course Learning Outcomes
Course 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 security and ethical issues in computer networking |
Course Learning Outcomes | Assessment Item |
---|---|
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 security and ethical issues in computer networking |
|
Learning and Teaching Technologies
Moodle - Learning Management System
Assessments
Assessment Structure
Assessment Item | Weight | Relevant Dates |
---|---|---|
Lab
Assessment FormatIndividual
|
20% |
Due DateWeeks 3,4,5,9,10
|
Programming Assignmnent
Assessment FormatIndividual
|
20% |
Due DateWeek 9
|
Mid-term Exam
Assessment FormatIndividual
|
20% |
Due DateWeek 7
|
Final Exam
Assessment FormatIndividual
|
40% |
Due DateExam Period
|
Assessment Details
-
Lab
Assessment Overview
Students will work on a set of small exercises to explore tools and techniques for analysing and building networking applications.
Marks are awarded by the lab demonstrators using criteria given in each lab exercise.
Course Learning Outcomes
- 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
-
Programming Assignmnent
Assessment Overview
Students will be asked to implement a moderately complex component of a network architecture, in C, Java or Python.
The assignment will be partly auto-marked. The submissions will be reviewed by tutors, who will provide feedback.
Course Learning Outcomes
- 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
-
Mid-term Exam
Assessment Overview
The mid-term exam will be 75 minutes long and will be held approximately in the middle of the term. It will examine students on topics covered from the first half of the term.
Course 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
-
Final Exam
Assessment Overview
The final exam will be 2 hours long and will be held in the UNSW exam period. It will examine students on all topics covered in the term.
Course 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
- CLO4 : Analyse and evaluate the performance of computer networks
- CLO6 : Explain security and ethical issues in computer networking
General Assessment Information
Grading Basis
Standard
Course Schedule
Teaching Week/Module | Activity Type | Content |
---|---|---|
Week 1 : 27 May - 2 June | Lecture |
Course Logistics
Introduction:
|
Week 2 : 3 June - 9 June | Lecture |
Application Layer:
|
Week 3 : 10 June - 16 June | Lecture |
Application Layer:
Transport Layer:
|
Week 4 : 17 June - 23 June | Lecture |
Transport Layer:
|
Week 5 : 24 June - 30 June | Lecture |
Transport Layer:
|
Week 7 : 8 July - 14 July | Lecture |
Network Layer, Data Plane:
|
Week 8 : 15 July - 21 July | Lecture |
Network Layer, Data Plane:
Network Layer, Control Plane:
|
Week 9 : 22 July - 28 July | Lecture |
Network Layer, Control Plane:
Link Layer:
|
Week 10 : 29 July - 4 August | Lecture |
Link Layer:
Wireless Networks
A Day in the Life of a Web request
|
Attendance Requirements
Students are strongly encouraged to attend all classes and review lecture recordings.
Course Resources
Recommended Resources
Course Textbook:
- Computer Networking - A Top-Down Approach Featuring the Internet, J. Kurose and K. Ross, Pearson, 8th Edition, 2020 (Seventh edition will suffice for most parts). UNSW Bookshop Link - Print Version , Pearson Link - 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
Links to additional reading material will be available on the lecture notes page.
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 the feedback received for previous terms, we note that it was generally positive. Consequently, we do not anticipate making any significant changes to the course. However, it was brought to our attention that some students found the programming assignment quite challenging and would perhaps benefit from additional help with coding. In response to this concern, we will be offering additional help sessions and tutorials on network programming. We hope that this extra support will assist students in completing the assignment on time ensuring a better learning experience for everyone.