Course Outline, Winter 2018
Data Communications & Computer Networks
COMP 445
Instructors
Coordinator:
Dr. Tristan Glatard
Office: EV 6.225
e-mail: tristan.glatard@concordia.ca
Office hours: Monday 3pm4pm - 5pm or by appointment.
Teaching Assistants:
Lectures & Labs
- Lectures: Monday - Wednesday 1:15PM - 2:30PM at H 535 SGW.
- Labs:
- WI (Scaria): Monday 11:10AM - 1:00PM at H 967 SGW. Note the room change!
- WJ (Oqaily): Wednesday 11:10AM - 1:00PM at H 967 SGW
Learning Objectives
At the end of this course, you will be able to:
- Understand the ISO OSI and Internet models, architecture
and protocols.
- Analyze the fundamental concepts of Computer Networks
and Data Communication.
- Design network applications based on specific
requirements.
- Use the socket API to implement network
applications.
Textbook
Computer Networking; A Top-Down Approach by Jim Kurose and Keith Ross, Pearson Higher Education (7th edition).
Slides
Available here.
Schedule
Dates | Lecture | Lab | Assignments |
Jan 8-10 | Introduction (Ch 1) | None | None |
Jan 15-17 | Application Layer (Ch 2) | HTTP client | None |
Jan 22-24 | Application Layer (Ch 2) | HTTP client | None |
Jan 29-Jan 31 | Transport Layer (Ch 3) | HTTP client | TA1: "Introduction and Application Layer" Due date: Feb 2, 11:55pm. |
Feb 5-7 | Transport Layer (Ch 3) | HTTP server | LA1: "HTTP client" Due date: Feb 9, 11:55pm. |
Feb 12-14 | Transport Layer (Ch 3) | HTTP server | TA2: "Transport Layer" Due date: Feb 23, 11:55pm. |
Spring break |
Feb 26-Feb 28 | Mid-term exam (Feb 28) | HTTP server | None |
Mar 5-7 | Network Layer (Ch 4) | HTTP server | None |
Mar 12-14 | Network Layer (Ch 5) | UDP | None |
Mar 19-21 | Link Layer and LANs (Ch 6) | UDP | LA2: "HTTP server" Due date: Mar 23, 11:55pm. |
Mar 26-28 | Link Layer and LANs (Ch 6) | UDP | None |
Apr 2-4 | Security (Ch 8) | UDP | TA3: "Network and Link Layers, Security" Due date: Apr 6, 11:55pm. |
Apr 9-11 | Security (Ch 8) | UDP | LA3: "UDP" Due date: Apr 20, 11:55pm. |
April 20, 2:00pm-5:00pm | Final exam |
Please note: In the event of extraordinary circumstances beyond the University's control, the content
and/or evaluation scheme in this course is subject to change.
Course Evaluation
All assignments (theoretical and lab) will
be placed
on Moodle. No hardcopies of the
assignments will be distributed in class. All assignments
must be submitted
through Moodle. Deadlines are set to Fridays, 11:55pm (see exact dates
on schedule). A grace period of 2
days will be granted, i.e., assignments could be submitted
until Sunday 11:55pm. No assignment will be accepted
beyond the grace period.
- Lab Assignments
(LA1, LA2, LA3):
20%: You will be required to develop some
protocol software. There will be a total of 3 lab
assignments. You can work on these assignments
individually or in a team of two (teams cannot exceed 2
students). A team has to submit only one copy of the
assignment by one of the members.
A demo for about 10 minutes will take
place between the group members and the marker. Different
marks may be assigned to teammates based on the markers
judgment. The demo time will be determined and announced
by the markers, and students must reserve
a particular time slot for the demo (arrange
directly with the markers) . No demo means zero marks for
the assignment. No additional marks will be given for
working individually.
-
Mid-term exam: 25%: The exam
is a closed-book exam, and will be conducted on February
28th. In general, you will need to bring your own ENCS
calculator; the same rule also applies to the final
exam. Additionally, and as a general rule for exams, you need
to show all your work (just the final result is not
enough). There is no substitution for a missed exam.
-
Final exam: 50%: The exam is
a closed-book exam. The final exam date will be set by the
University Administration. The exam will cover material from
the entire semester, including lectures, textbook, and
assignments. Passing the final exam is necessary for passing
the course. There is no substitution for a missed final exam.
-
Theoretical
Assignments (TA1, TA2, TA3): 5%:
There will be a total of 3 theoretical assignments with equal
weights. The main purpose behind these assignments is to provide
you with good preparation for the mid-term and final. These
assignments are individual assignments (no groups are
allowed). All assignments must be typed: hand-written or scanned
assignments will be rejected.
Grading Scheme: A passing mark on each of the
deliverables is required to get a passing grade for the course. There
is no standard relationship between percentages and letter grades
assigned. The grading of the course will be done based on the relative
percentages assigned to the assignments and the exams. There is no
definite rule for translation of number grades to letter grades.
Graduate Attributes
As part of both the Computer Science and Software Engineering program
curriculum, the content of this course includes material and exercises
related to the teaching and evaluation of graduate
attributes. Graduate attributes are skills that have been identified
by the Canadian Engineering Accreditation Board (CEAB) and the
Canadian Information Processing Society (CIPS) as being central to the
formation of Engineers, computer scientists and information technology
professionals. As such, the accreditation criteria for the Software
Engineering and Computer Science programs dictate that graduate
attributes are taught and evaluated as part of the courses. This
particular course aims at teaching and evaluating 3 graduate
attributes. This course emphasizes and develops the following CEAB
graduate attributes:
- Knowledge-base: Knowledge of network architectures: OSI and Internet models. Link layer: error
detection, multiple access protocols, addressing. Local area networks: Ethernet, ATM, switches
and hubs. Network layer: forwarding and routing, IP, routing algorithms, multicast. Transport
layer: connectionless and connection ‐ oriented transport, reliable data transport, congestion
control, QoS, UDP and TCP. Application layer: DNS, the web and http, file transfer, and email.
Introduction to network security, multimedia protocols and wireless networking.
Indicators:
- Indicator 1.3: Knowledge-base in a specific domain.
- Problem analysis: Use mathematical modeling to analyze networking characteristics such as
bandwidth, throughput, delay, etc.
Indicators:
- Design: Develop simple system software applications related to the operation of computer
networks, such as protocols, routing, security, etc.
Indicators:
- Indicator 4.1: Problem identification and information gathering.
- Indicator 4.3: Architectural and detailed design.
- Indicator 4.4: Implementation and validation.
- Use of Engineering Tools: Make educated choices as to what data structures and algorithms to
use to solve problems following their respective strengths and constraints.
Indicator:
-
Indicator 5.1: Ability to use appropriate tools, techniques and
resources.
The evaluation of these attributes will be based on: 1) Programming Assignments, 2) Midterm, and 2)
Final exam questions. This evaluation will be used to indicate your proficiency in all of the attributes as
per accreditation requirements.
Academic Integrity
Violation of the Academic Code of Conduct in any form will be
severely dealt with. This includes copying (even with modifications)
of program segments. You must demonstrate independent thought through
your submitted work. Click on the following link for more
information: http://www.concordia.ca/students/academic-integrity.html.