代写 C data structure algorithm html Java python socket COMP3331/9331

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