COMP 177 - Computer Networking - Fall 2020

Instructor

Name Jeff Shafer
Office Anderson Hall 227
Phone (209) 946-2302
Email jshafer at pacific dot edu

Course Support

Zoom for Class Sessions See link on Canvas site (calendar or front page)
Zoom for Lab Sessions See link on Canvas site (calendar or front page)
Canvas Site https://pacific.instructure.com/courses/64931
Class Slack https://ecpe.slack.com/
Use class comp177 channel for all questions that would be helpful to your classmates. DM instructor otherwise.
Office Hours Schedule a 1:1 Zoom appointment at https://calendly.com/jeff-shafer

Course Basics

Class Hours Tuesday, Thursday, 8:00-9:45am
Lab Hours Monday, 3:30-6:30pm
Prerequisites COMP 053 and ECPE 170 with a "C-" or better.
Textbook Optional free online books:
An Introduction to Computer Networks by Peter L Doral
Computer Networking : Principles, Protocols and Practice by Olivier Bonaventure
Credits 4

Course Description

Topics examined in this course include computer networks and the internet, LAN and WAN architectures, and packet switched networks and routing. Students learn about the 7-layer OSI model and internet protocol stack, socket programming and client/server systems, wireless and security. The course includes a laboratory.

Course Learning Objectives

The vision for this course is: What do I, as an application programmer, need to understand about computer networks (including software and hardware both on your computer and elsewhere on the network) in order to write efficient, high-performing programs?

You will have many different opportunities to gain this knowledge through:

  • Homework assignments
  • Hands-on analysis of network data
  • Hands-on laboratory exercises using commercial routers and switches
  • Programming projects where you implement networked applications and tools
  • Student presentations
  • Class lectures, discussions, and reading assignments

After taking this course, you should be able to:

  • be familiar with the terminology in networking, e.g., protocols, RFCs, packets, etc.
  • describe the layered architecture of the Internet
  • differentiate different networking nodes, e.g., switches, routers, firewalls, hosts, etc.
  • understand Ethernet, and its challenges, and how to build wired LANs
  • describe how hubs and switches work
  • understand WiFi, and its challenges
  • describe how to construct an end-to-end communication facility between hosts
  • describe IPv4 service model, packet format, addressing, subnets, etc.
  • understand how physical and logical addresses are translated to each other
  • understand the details of how virtual LANs work
  • understand how errors are handled in networking
  • describe IPv6 service model, packet format, addressing, and differentiate it with IPv4
  • understand the details of connectionless data transport
  • program applications on connectionless data transport service
  • understand the details of reliable data transport
  • understand the details of connection-oriented data transport
  • program applications on connection-oriented data transport service
  • identify services on remote hosts
  • understand how NAT-enabled routers work
  • understand the details about world wide web and HTTP
  • understand the details about electronic mail service
  • understand the details about domain name systems
  • understand the details about dynamic host configuration
  • understand other topics in networking, e.g., virtual private networks, firewalls, software-defined networking, etc.

University of the Pacific Core Competencies: This course reflects the following university-wide core competencies in the undergraduate program:

  • Critical Thinking
  • Information Literacy
  • Oral Communication

Outcomes for COMP program: The assessment plan for this course comprises the following outcomes identified by ABET:

  • Outcome 1: "Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions."
  • Outcome 2: "Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline."
  • Outcome 3: "Communicate effectively in a variety of professional contexts."

Outcomes for ECPE program: The assessment plan for this course comprises the following outcomes identified by ABET:

  • Outcome g: "an ability to communicate effectively"
  • Outcome j: "a knowledge of contemporary issues"

Course Topics

The topics covered in this course include:

  • Overview: terminology, layered architecture, devices, protocols, addressing, etc.
  • Ethernet: architecture, addressing, collision detection, devices
  • WiFi: architecture, collision avoidance
  • IPv4: network layer service model, architecture, fragmentation, addressing, subnets
  • ARP: architecture, security
  • VLANs: architecture
  • ICMP: architecture, applications
  • IPv6: architecture, addressing
  • UDP: service model, architecture, UDP socket programming
  • TCP: service model, architecture, connection management, TCP socket programming, states, MTU discovery, reliable data transfer, windowing, flow control, congestion control
  • Port scanning with Nmap
  • NAT: architecture
  • WWW application
  • Email application
  • DNS application
  • DHCP application
  • Firewalls, VPNs, SDNs, etc.

Assignments and Examinations

This course will be composed of the following elements:

  • Homework
    • Class activities: 20%
    • Homework assignments: 20%
  • Labs: 10%
  • Projects: 40%
  • Presentations: 10%

Attendance Policy

Regular class attendance is strongly encouraged.  Students who miss class meetings are responsible for keeping up with the class.  The course Canvas site will be used to assist in instruction. You are responsible for keeping up with projects, labs, lecture notes, announcements, and other materials that may be posted there.

Grading Policy

Grades for the course are assigned on the scale below:

Grade A A- B+ B B- C+ C C- D+ D F
Points > 93 93-90 < 90-87 < 87-83 < 83-80 < 80-77 < 77-73 < 73-70 < 70-67 < 67-60 60

Recording Policy

All live class presentations and discussions during this course may be recorded. As a student in this class, please note that your participation in live class discussions may therefore also be recorded. By participating in a live class discussion you are giving your consent to this recording. Access to these recordings will be limited to faculty and the students enrolled in the class and to assist enrolled students who cannot attend the live session.

Student Work

Please note that copies of student work may be retained by the instructor to assess how the learning objectives of the course are met. Further, the MOSS (Measure of Software Similarity) system may be used to compare student submissions in an automated fashion.

Honor Code

The Honor Code at the University of the Pacific calls upon each student to exhibit a high degree of maturity, responsibility, and personal integrity. Students are expected to:

  • Act honestly in all matters
  • Actively encourage academic integrity
  • Discourage any form of cheating or dishonesty by others
  • Inform the instructor and appropriate university administrator if she or he has a reasonable and good faith belief and substantial evidence that a violation of the Academic Honesty Policy has occurred.

Violations will be referred to and investigated by the Office of Student Conduct and Community Standards. If a student is found responsible, it will be documented as part of her or his permanent academic record. A student may receive a range of penalties, including failure of an assignment, failure of the course, suspension, or dismissal from the University. The Academic Honesty Policy is located in Tiger Lore and online at https://www.pacific.edu/student-life/safety-wellness/student-conduct/tiger-lore-student-code-of-conduct-/honor-code

Accommodations for Students with Disabilities

If you are a student with a disability who requires accommodations, please visit https://www.pacific.edu/disabilities to contact the Office of Services for Students with Disabilities (SSD) for information on how to request accommodations while at Pacific.

  • Students who have not previously registered for accommodations can request services by visiting https://www.pacific.edu/disabilities and selecting New Students Apply Here. Once registered, students will be asked to provide documentation of their disability, and meet with the accommodation specialists to determine reasonable accommodations.
  • Students who have previously been approved for services with SSD can requests accommodation(s) letters each semester by selecting the Returning Students Login Here link located on https://www.pacific.edu/disabilities

The Office of Services for Students with Disabilities is located in the McCaffrey Center, Second Floor.
Phone: 209-946-3221
Email: ssd@pacific.edu
Online: https://www.pacific.edu/disabilities   

 

Nondiscrimination Policy

The University of the Pacific does not discriminate in the administration of any of its educational programs, admissions, scholarships, loans, athletics, or other University activities or programs on the basis of race, color, national and ethnic origin, handicap, sexual orientation or preference, sex or age.