COMP3331/9331
Computer Networks and Applications COMP 3331/COMP 9331
LIC: Nadeem Ahmed nadeem.ahmed@unsw.edu.au
Course Outline & Logistics
Course Outline 1
COMP3331/9331
Today’s Agenda
• Course (non-technical) details
• Logistics: How we will roll
• What is this course about?
• Introduction to Computer Networks (Chapter 1)
Course Outline 2
COMP3331/9331
WebCMS Portal
•
• Everything is posted on the course website
https://webcms3.cse.unsw.edu.au/COMP3331/18s2/
• Course Outline (PLEASE READ THIS THOROUGHLY)
• Lecture Notes
• Video Recordings
• Lab Schedules, Allocations and Locations
• Assignment and Lab Exercises
• Homework Problems
• Consultation hours
• Announcement: Your responsibility to check the announcement forum on regular basis for important updates/changes to schedule, etc.
• Nothing will be handed out in the class
• Your active participation and interaction is crucial to ensure that all of us get the most out of this course
Very important
Course Outline 3
COMP3331/9331
Course Material
• Computer Networking: A Top Down Approach, Jim Kurose, Keith Ross, Addison-Wesley(Pearson), 7th Edition, 2016 (6th Edition will suffice for most of the part).
• Lecture Notes (on WebCMS)
• Links/articles on additional material
• Reference Books:
• Computer Networks: A Systems Approach, Larry Peterson and Bruce Davie, Morgan Kaufmann, Fourth Edition, 2007.
• Unix Network Programming Volume 1 – Networking APIs: Sockets and XTI, W. Richard Stevens, Prentice Hall, Second Edition, 1998 (Third edition also available)
• Java Network Programming, E. R. Harold, O’Reilly, Third Edition, 2004.
• Links to programming help
Course Outline 4
COMP3331/9331
Course Aims
• To gain in-depth introduction to a wide range of topics in the field of computer networks, including the Internet
• To obtain hands-on understanding of networking protocols
• To gain skills in network programming, designing and implementing network protocols, evaluating network performance and problem solving
• To build necessary foundational knowledge required in more advanced networking courses
• You will gain problem solving skills
Course Outline 5
COMP3331/9331
Teaching/Learning Strategies
• Lectures (12 weeks, 3-hr per week)
• Labs (7 of them)
• Hands-on learning
• Assignments (only 1, but individual, due Week 12)
• Basic network programming and protocol design
• C or Java or Python
• Weekly Homework (Self-assessed)
• Problem solving skills
Course Outline 6
COMP3331/9331
Lectures
• Lectures (12 weeks, 3-hr per week)
• We will focus on most important concepts and supplement with
• Problem solving exercises • Discussions
• Additional material
• Certain material will be left for self study • These will be indicated on the lecture notes
Course Outline 7
COMP3331/9331
Labs
• 2 hour lab sessions starting Week 2
• Hands-on experiments related to concepts that you learn in lectures
• Wireshark packet sniffer, ns-2 network simulator, other network measurement tools
• 9 lab sessions:
• 7 Lab Exercises:
– Some are submission only, other requires demonstration
– 5 best performing labs out of 7 will be used for assessment
– Lab Report to be submitted at midnight on the day of your lab – Highly encouraged to attempt lab tasks before attending labs – Demonstrate select labs to the tutors
• 2 Tutorials (Week 5 & 12)
– Help with problem solving – Prep for exams
• Strongly encouraged to work in pairs (but individual submissions only)
Course Outline 8
COMP3331/9331
Assessment
• Hands-on – 40%
• Labs 20%
• Assignment 20%
• Single assignment due in 12th Week
• Implement a networking software (C/Java/Python)
• Concepts and theory – 60%
• Mid-session test (20%)
• In Week 6 (includes material from Week 1 to Week 5) • Closed-book MCQ
• Negative marking enforced to deter random attempts
• Final Exam (40%)
• Closed-book written exam, End of semester
• Critical thinking and problem solving questions
• Hurdlecomponent–mustobtainatleast40%toclear
Course Outline 9
COMP3331/9331
Assessment
NOTE: To pass the course, a student MUST receive at least 40% marks on the final exam
lab = marks for lab exercises (scaled to 20)
assign = mark for the programming assignment (scaled to 20) midExam = mark for the mid-semester exam (scaled to 20 marks) finalExam = mark for the final exam (out of 40 marks)
mark = lab + assign + midExam + finalExam
grade = HD|DN|CR|PS if mark >= 50 && finalExam >= 16
= FL if mark < 50 || finalExam < 16
NOTE: If you cannot clear the final exam hurdle, the maximum marks reported will be 40/100
Course Outline 10
COMP3331/9331
Getting help
• Use discussion forum for labs, assignment, and other matters at WebCMS
• Fellow students benefit from your questions
• Fellow students can answer your questions
• Develop a community
• Please avoid emailing LiC/admin as much as possible; you may be directed to use forum if you email
• Consultation hours
• LiC for lecture-related help - 2 hours each week
• Lab consultation hours for lab and programming related help
Course Outline 11
COMP3331/9331
Accounts for accessing lab machines
• Use your zid/zpass to log into CSE computers
• New to UNSW -
https://it.unsw.edu.au/students/zpass/index.html
• You will be automatically added as a student to the course website. Log on using zid/zpass
Course Outline 12
COMP3331/9331
Be original !!
• Collaboration
• You may discuss approaches, not solutions
• You must submit your own work
• We strongly support discussions
• Plagiarism
• Zero tolerance, don’t do it
https://my.unsw.edu.au/student/academiclife/Plagiarism.pdf https://student.unsw.edu.au/plagiarism
Course Outline 13
COMP3331/9331
What is this course about ?
• Introductory (first course) course in computer network
• Learn principles and practice of computer networking
• We use the Internet as a vehicle to understand the core concepts of networking
Course Outline 14
COMP3331/9331
What is this course about ?
1.
To learn how the Internet works
• Internet is a complex global infrastructure
• What are the organising principles behind the Internet?
• What really happens when you “browse the Web”?
• What are TCP/IP, DNS, HTTP, NAT, VPNs, 802.11,.... anyway?
Course Outline 15
COMP3331/9331
What is this course about ?
1.
To learn how the Internet works
• Internet is a complex global infrastructure
• What are the organising principles behind the Internet?
• What really happens when you “browse the Web”?
• What are TCP/IP, DNS, HTTP, NAT, VPNs, 802.11,.... anyway?
To learn the fundamentals of computer networks
• What issue you need to take into consideration to make a computer network work well?
• What design strategies have proven valuable?
• How do we evaluate network performance?
2.
Course Outline 16
COMP3331/9331
Why learn the fundamentals?
• Applicable to all computer networks
• Help you design new types of networks
• Change/reinvention
• Today’s Internet is different from yesterday’s
• And tomorrow’s will be different again
• But the fundamentals remain the same
Course Outline 17
COMP3331/9331
Pictures: http://medicineworld.org/, Wikipedia Nano-scale computer networks?
• 1 nm = 10-9 m = 1/25000 diameter of a human hair
• Network of nanorobots to sweep the coronary plaque
Course Outline 18
COMP3331/9331
Pre-requisites
• Good understanding of algorithms, data structures and basic probability
• Proficient in programming: C, Java or Python
Course Outline 19
COMP3331/9331
Where do I go from here?
• COMP 9332: Network Routing and Switching
• COMP 9333: Advanced Computer Networks
• COMP 9334: System Capacity and Planning
• COMP 3441/9441: Security Engineering
• COMP 4335/9335: Wireless Mesh and Sensor Networks
• COMP 4336/9336: Mobile Data Networking
• COMP 4337/9337: Securing Wireless Networks
• COMP6733: Internet of Things
• Thesis Projects
• Research (Master’s, PhD)
Course Outline 20