Outline

Instructors
Lectures & Labs
Learning Objectives
Textbook
Slides
Schedule
Evaluation
Graduate Attributes
Academic Integrity

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

Learning Objectives

At the end of this course, you will be able to:
  1. Understand the ISO OSI and Internet models, architecture and protocols.
  2. Analyze the fundamental concepts of Computer Networks and Data Communication.
  3. Design network applications based on specific requirements.
  4. 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.

  1. 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.
  2. 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.
  3. 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.
  4. 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:
  1. 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.
  2. Problem analysis: Use mathematical modeling to analyze networking characteristics such as bandwidth, throughput, delay, etc.
    Indicators:
    • Indicator 2.2: Modeling.
  3. 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.
  4. 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.