272x Filetype PDF File size 0.13 MB Source: www.eng.mcmaster.ca
COMP ENG 4DN4
Section C01
Academic Year: 2018/2019
Term: Winter 2019
COMP ENG 4DN4
Advanced Internet Communications
Winter 2019
Course Outline
(Please see the course web site for the latest version of this outline.)
CALENDAR/COURSE DESCRIPTION
This is an advanced course on computer network communications that will focus on Internet
design and operational principles. It will enable students to understand and develop software
that implements network communications using the Berkeley/POSIX application programming
interface (API). The course also introduces many of the software tools that are used by Internet
application developers. The laboratories involve Internet communication experiments and
software development using the Python programming language.
PRE-REQUISITES AND ANTI-REQUISITES
Prerequisite(s): Registration in Level III or greater in any Computer Engineering or Electrical
Engineering Program; COMP ENG 4DK4.
SCHEDULE
Lectures: Monday, Wednesday and Thursday in T34/104 at 1:30 pm – 2:20 pm
Tutorial: Friday in BSB 120 at 8:30 am – 9:20 am.
Labs: Monday, Tuesday, Wednesday, Thursday and Friday in ITB/155 at 2:30 – 5:20pm.
INSTRUCTOR OFFICE HOURS AND CONTACT INFORMATION
Dr. Terry Todd Office Hours: See course web site.
ITB A324
todd@mcmaster.ca
905 525 9140 ext. 24343
TEACHING ASSISTANT OFFICE HOURS AND CONTACT INFORMATION
Arvin Hekmati Peyvand Teymoori Office Hours:
ITB A302 ITB A302 See course web site.
hekmatia@mcmaster.ca teymoorp@mcmaster.ca
905-525-9140 ext. 27264 905-525-9140 ext. 27264
Page 1 of 7
COMP ENG 4DN4
Section C01
Academic Year: 2018/2019
Term: Winter 2019
COURSE WEBSITE/ALTERNATE METHODS OF COMMUNICATION
https://owl. ece. mcmaster.ca/coe4d n4
COURSE OBJECTIVES
1. Understand the concepts, design principles and operation of the Internet.
2. Understand and develop networking software using the Berkeley/POSIX socket
application programming interface (API) in Python.
3. Learn and understand the tools used by Internet application developers.
ASSUMED KNOWLEDGE
COMP ENG 4DK4: Computer Communication Networks.
COURSE MATERIALS
Required Text:
Communication Networks (Second Edition), A. Leon-Garcia and I. Widjaja, McGraw-Hill, 2004.
(Optional) Reference Text:
M. Donahoo and K. Calvert, TCP/IP Sockets in C, Practical Guide for Programmers, 2nd edition,
Morgan Kaufmann, 2009. ISBN: 978-0631202790.
Other Materials:
Lecture presentations and notes.
Personal Computer or laptop with a C compiler and Python 3 installed.
COURSE OVERVIEW (SUBJECT TO MINOR CHANGE)
Date/Week Topic Readings
Installation and review of Python 3. Review of Internet
1 communications, IPv4, UDP, TCP, etc. Python IP Chapters 7 and 8 in
networking support features, e.g., ipaddress module textbook. Class notes.
functions.
2 DNS, DHCP and NAT. Python support. Class notes.
Detailed discussion of TCP state machine. Network
3 software tools, e.g., telnet, nmap, ncat, tcpdump, windump Class notes.
and WireSHARK.
Page 2 of 7
COMP ENG 4DN4
Section C01
Academic Year: 2018/2019
Term: Winter 2019
Introduction to the Berkeley/POSIX socket application
4-6 programming interface (API). Illustration using C and Class notes.
Python examples. Endianness and Alignment.
7 Network message transmission. Unicode and its support in Class notes.
Python.
8 Non-blocking sockets with native polling.Using socket Class notes.
timeouts. Port forwarding example.
9 UDP sockets and broadcasting. Socket timeouts and Class notes.
service discovery.
10 Threaded and multiprocessing sockets in Python. Class notes.
11 Python select programming. Class notes.
12 Methods for data framing in network communications. Class notes.
IP multicast and Python examples.
13 IPv6, HTTP, CGI and multimedia networking. Class notes.
LABORATORY AND ASSIGNMENT OVERVIEW (SUBJECT TO CHANGE)
Date/Week Topic Readings
TBA Network Packet Sniffing and Scanning See course web site.
TBA Online Grade Retrieval Network Application See course web site.
TBA Online File Sharing Network Application See course web site.
TBA Online Group Chatting Network Application See course web site.
ASSESSMENT
Component Weight
Laboratories 30%
Midterm 0% or 30% (see explanation below)
Final Exam 70% or 40% (see explanation below)
Total 100%
(30% of the final grade is taken as the best of the midterm and final exam marks. There is no
makeup midterm test.)
Page 3 of 7
COMP ENG 4DN4
Section C01
Academic Year: 2018/2019
Term: Winter 2019
ACCREDITATION LEARNING OUTCOMES
Note: Learning Outcomes are measured throughout the course and form part of the
Department’s continuous improvement process. They are a key component of the accreditation
process for the program and will not be taken into consideration in determining a student’s
actual grade in the course. For more information on accreditation, please ask your instructor or
visit: http://www.engineerscanada.ca .
Outcomes Indicators Measurement
Method(s)
Competence in Specialized Engineering Knowledge 1.4 Final Exam
Proposes solutions to open-ended problems. 4.3 Final Exam
Manages time and processes effectively, prioritizing
competing demands to achieve personal and team goals and 6.1 Final Exam/Lab Demo
objectives
Applies knowledge of law and principles of equity to ensure 10.3 Final Exam
equitable treatment of others
ACADEMIC INTEGRITY
You are expected to exhibit honesty and use ethical behaviour in all aspects of the learning
process. Academic credentials you earn are rooted in principles of honesty and academic
integrity.
Academic dishonesty is to knowingly act or fail to act in a way that results or could result in
unearned academic credit or advantage. This behaviour can result in serious consequences,
e.g. the grade of zero on an assignment, loss of credit with a notation on the transcript (notation
reads: “Grade of F assigned for academic dishonesty”), and/or suspension or expulsion from the
university.
It is your responsibility to understand what constitutes academic dishonesty. For information on
the various types of academic dishonesty please refer to the Academic Integrity Policy, located
at http://www.mcmaster.ca/academicintegrity
ACADEMIC ACCOMMODATIONS
Students who require academic accommodation must contact Student accessibility Services
(SAS) to make arrangements with a Program Coordinator. Academic accommodations must be
Page 4 of 7
no reviews yet
Please Login to review.