COMP9331 Computer Networks and Applications

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
  • Mid-term Exam
  • Final Exam
CLO2 : Identify soundness and/or potential flaws in proposed protocols
  • Programming Assignmnent
  • Mid-term Exam
  • Final Exam
CLO3 : Design networked applications and protocols, and implement them in C, Java or Python
  • Lab
  • Programming Assignmnent
CLO4 : Analyse and evaluate the performance of computer networks
  • Lab
  • Programming Assignmnent
  • Final Exam
CLO5 : Capture and analyse network traffic
  • Lab
CLO6 : Explain security and ethical issues in computer networking
  • Final Exam

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:

  • What is the Internet?
  • Network edge and core
  • Performance of networks

Introduction:

  • Layering and Encapsulation
Week 2 : 3 June - 9 June Lecture

Application Layer:

  • Principles of networked applications
  • The Web & HTTP
  • Email
  • Domain Name Service (DNS)
  • Peer-to-Peer Networks and DHT
Week 3 : 10 June - 16 June Lecture

Application Layer:

  • Content Distribution Networks
  • Socket Programming

Transport Layer:

  • Transport services
Week 4 : 17 June - 23 June Lecture

Transport Layer:

  • Multiplexing & Demultiplexing
  • UDP
  • Principles of reliable data delivery
  • Pipelined Protocols
Week 5 : 24 June - 30 June Lecture

Transport Layer:

  • TCP
  • Connection management & flow control
  • Congestion control
Week 7 : 8 July - 14 July Lecture

Network Layer, Data Plane:

  • Overview
  • IP
Week 8 : 15 July - 21 July Lecture

Network Layer, Data Plane:

  • IP Addressing
  • NAT
  • IPv6

Network Layer, Control Plane:

  • Routing algorithms
  • Link State
Week 9 : 22 July - 28 July Lecture

Network Layer, Control Plane:

  • Distance Vector
  • ICMP

Link Layer:

  • Error detection
  • Multiple Access Protocols
Week 10 : 29 July - 4 August Lecture

Link Layer:

  • Link-Layer Addressing and ARP
  • Ethernet
  • Switches

Wireless Networks

  • Wireless Characteristics
  • 802.11
  • CSMA/CA

A Day in the Life of a Web request

Network Security

  • Basic Cryptography
  • Message integrity & Digital signatures
  • Authentication

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.



发表评论

电子邮件地址不会被公开。 必填项已用*标注