Course Code | COMP3331/9331 |
Course Title | Computer Networks and Applications |
Units of Credit | 6 |
Lecture | Mahbub Hassan |
Admin | Wei Song |
Classes |
Lectures: Mon 10:00-12:00 Hrs (Colombo Theatre B) and Thu 09:00 -11:00 Hrs (Mathews Theatre A).
Timetable for all lectures. |
Consultations | Thursdays 11:05-12:05 Hrs in Room 607, K17 (CSE Building), FCFS, No Appointment Needed |
Course Website |
www.cse.unsw.edu.au/~cs3331
|
Course Contact Email | cs3331@cse.unsw.edu.au |
Course Forum |
https://edstem.org/au/courses/11968/discussion/
Must join the forum first via the following link: https://edstem.org/au/join/XHBJMt |
Handbook Entry | Handbook Entry (may be slightly dated) |
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
(6) Security threats and standard defensive techniques (if time permits)
This is a combined undergraduate and postgraduate course.
There will be 4 hours of lectures every week:
(i) 2-hour lecture on Monday from 10:00 - 12:00 and
(ii) 2-hour lecture on Thursday from 09:00 - 11:00
Lectures will be delivered in-person in Colombo Theatre B (Mondays) and Mathews Theatre A (Thursdays). Lecturers will be recorded and the video recordings will be available for viewing.
There will be 2-hour labs during 8 weeks (starting in Week 2). Most of the labs will be held in person, but a few online labs are also available. The detailed lab schedule will be posted on the detailed course timetable available
here
.
After completing this course, students will:
This course contributes to the development of the following graduate capabilities:
Graduate Capability |
Acquired in |
Scholarship: of their discipline in its interdisciplinary context |
Lectures, labs, assignment |
Scholarship: Capable of independent and collaborative |
Labs, assignment |
Scholarship: rigorous in their analysis, critique, and reflection |
Lectures, labs, exams, sample problems |
Scholarship: able to apply their knowledge and skills to solve problems |
Labs, assignment, exams, sample problems |
Scholarship: capable of effective communication |
Labs, assignment, lectures, exams |
Scholarship: digitally literate |
All aspects of the course |
Scholarship: information literate |
All aspects of the course |
Leadership: collaborative team workers |
Labs, assignment |
Professionalism: capable of independent, self-directed practice |
All aspects of the course |
Professionalism: capable of lifelong learning |
All aspects of the course |
Professionalism: capable of operating within an agreed Code of Practice |
Labs, assignment |
Global citizens: culturally aware and capable of respecting diversity and acting in socially /responsible ways |
Labs, course forums |
Before commencing this course, students should:
This course takes a top-down approach to teach 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 they are 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 largely facilitated through the delivery of lectures. The hands-on laboratories will provide an opportunity to gain a deeper understanding of the concepts discussed in the lectures. The sample problems, homework problem set, and tutorials will help develop problem-solving skills and prepare for the exams. The programming assignments are mainly geared to allow students to gain familiarity with basic network programming and designing network protocols.
There will be four assessment components as listed below:
Component | Weight |
---|---|
Lab Exercises | 20% |
Programming Assignment | 20% |
Mid-term Test | 20% |
Final Exam | 40% |
To pass the course, a student MUST receive at least 40% marks in the final exam. 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 <p> = UF finalExamScaled < 16</p>In this course, the final and mid-term exams will be using the Inspera online platform, which you will get access to from a link in the course Moodle site. The exam times will be announced well in advance. Both the mid-term and the final exams will be on-line, un-invigilated, and you can sit for the exam from a place of your choice. More information for students about Inspera can be found here: https://unsw.sharepoint.com/sites/Assessment-Platform-Pilot .
The Student Code of Conduct ( Information , Policy ) sets out what the University expects from students as members of the UNSW community. As well as the learning, teaching and research environment, the University aims to provide an environment that enables students to achieve their full potential and to 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 in dealing with every member of the University community. This applies to all activities on UNSW premises and all external activities related to study and research. This includes behaviour in person and on social media; for example, Facebook groups 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 means that it carries penalties as severe 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 such 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 both copying works from your fellow students (plagiarism) or asking/paying someone to do the work for you (contract cheating).
The following table lists the tentative weekly schedule. Students will be informed of any changes during the lecture and by announcements on the notices page.
Week | Lecture Dates | Lecture Topics | Labs | Assessment Tasks |
---|---|---|---|---|
1 | 29 May & 01 Jun |
Course Logistics
Introduction:
|
Self-Study of Lab
resources and tools (no submission and no marks) |
|
2 | 05 & 08 Jun |
Application Layer:
|
Lab 1 |
Lab 1 submission deadline: 10:00 Tue 13 Jun
|
3 |
15 (Jun)
Note: 12 Jun is Public Holiday, hence no in-person lecture on that day but a lecture video will be released |
Application Layer:
Transport Layer:
|
Lab 2 |
Lab 2 submission deadline: 10:00 Tue 20 Jun
Assignment Specs Released (Expected) |
4 |
19 & 22 Jun
|
Transport Layer:
|
Lab 3
|
Lab 3 submission deadline: 10:00 Tue 27 Jun
|
5 |
26 & 29 Jun
|
Transport Layer:
|
Tutorial 1
|
|
6 | No lecture |
No lecture
|
No Lab |
No Lab Submission
|
7 |
10 & 13 Jul
Note: Mid-term exam will take place on the 10th, hence no in-person lecture on that day but a lecture video will be released |
Network Layer, Data Plane:
|
Lab 4
|
Mid-term Test on 10th July during lecture hours
Lab 4 submission deadline: 10:00 Tue 18 Jul |
8
|
17 & 20 Jul
|
Network Layer, Data Plane:
|
Lab 5
|
Lab 5 submission deadline: 10:00
Tue 25 Jul |
9 |
24 & 27 Jul
|
Network Layer, Control Plane:
|
Lab 6
|
Lab 6 submission deadline: 10:00
Tue 01 Aug Assignment Due: 28 Jul |
10 |
07 & 10 Aug
|
Link Layer:
Network Security
|
Tutorial 2
|
|
Exam Period |
11-24 August
|
T2 Exams |
|
Final Exam |
Course Textbook:
Reference Texts:
Links to 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 has been 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 certain 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 useful starting point for the assignment.
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 we are committed to taking appropriate actions to rectify any problems and enhance the students' learning experience.
Based on the feedback received for Term 1, 2023, we are pleased to note that it was generally very positive. Consequently, we do not anticipate making any major changes to the course. However, it was brought to our attention that some students, particularly those not specializing in computer science and engineering (CSE), found the programming assignment to be quite challenging. To address this concern, we have devised a plan to offer additional help sessions after the assignment specifications are released, continuing until the assignment is due. This extra support aims to assist non-CSE students in successfully completing the assignment and ensuring a better learning experience for everyone.
You can view the Special Consideration policy at the link here .
UNSW handles special centrally (in the Student Lifecycle division), so all special consideration requests must be submitted via the UNSW Special Consideration website. If you believe that 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 affected, which Student Lifecycle will verify. Do not email the LiC directly about special consideration. If your request is reasonable and your work has clearly been impacted, then:
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 clearly impacted your ability to work. Note that UNSW expects you to be available to sit Supplementary Exams if required. If you are awarded a supplementary exam and do not attend, then your exam mark will be zero.
If you are registered with Equitable Learning Services (ELS), please forward your documentation to your Lecturer within the first two weeks of the term.
Contacting LiC and Course Admin: No personal emails, please. Please use cs3331@cse.unsw.edu.au.
9 months ago , last modified 8 months ago .
Resource created Wednesday 10 May 2023, 11:53:29 AM, last modified Wednesday 24 May 2023, 08:32:33 AM.