Course Syllabus

 CompE560 : Computer and Data Networks [Fall 2023]

Instructor

Dr. Junfei Xie

https://smile.sdsu.edu/

Prerequisite

CompE 271 (Computer Organization) and EE 410 (Signals and Systems)

When/Where

T & Th: 17:30-18:45pm; PSFA310

Office Hours

T&Th: 9am – 10am (in-person or zoom via https://SDSU.zoom.us/j/82213140638  or by appointment)

TA* 

Ruitao Wu (Email: rwu9937@sdsu.edu)

Office hours Tuesday & Thursday: 2:00 PM - 3:00 PM (Or by appointment if the time is unavailable for you) 

Location: E-302D

Zoom: https://SDSU.zoom.us/j/88257918794 

Meeting ID: 882 5791 8794

Note: please include "COMPE560" in the subject when you email me, thank you.

Contact Info.

Email: jxie4@sdsu.edu

Required Text:

Computer Networks by A. Tanenbaum, 5th (4th or 6th) Edition

* For any questions related to programming assignments, contact the TA. For other questions, contact the instructor. 

 

Purpose:

This course will explore the fundamentals of computer networks. We shall study various aspects of data transfer from point A to point B in today’s Internet. We shall begin the course with a general overview of data networks and a discussion of protocols, and the TCP/IP protocol suite.

 

We shall then briefly study the key aspects of transmission, interfacing, link control and multiplexing.  Important concepts of wide area networks (WAN) like circuit and packet switching, routing and congestion control will be studied. Finally, we shall look into the IP, TCP and Application layers of the protocol stack.

 

Overall, this course shall leave you with a broad overview of computer networks and a strong grasp over the fundamentals of computer data networks. We will briefly study certain key concepts of wireless networks and a few state-of-the-art wireless technologies as well. I shall walk you through the various layers of the TCP/IP model and familiarize you with the issues/concerns/importance of every layer. We shall take the bottom-up approach meaning that we shall begin at the lowest layer and work our way up the protocol stack.

 

Programming Projects:

This course will have a DHCP assignment and a socket programming assignment for which you will require a “Jason/Volta” account. If you do not already have one, please submit the Jason/Volta account creation request on https://ost.sdsu.edu/open.php. The IT Team will support you. 

 

Exams:

I will conduct five short exams during the course of the semester. The exams will be conducted in-person whenever possible. There will be no make-up exams, so please plan accordingly. The grading will be relative to the performance of the entire class.

 

Assignments:

This course has 7 assignments, including 5 written assignments and 2 programming assignments (DHCP and socket programming). Instructions on how to conduct the programming assignments will be provided.

Late submissions are not accepted, so do not wait until the last minute, do the assignments ahead of time and submit in advance. You will not be able to upload your assignments after the deadline. 

NOTE: Any use of generative AI (like ChatGPT) not assigned by the instructor may constitute academic dishonesty and be subject to discipline under the terms of the SDSU Student Code of Conduct. 

Grade Distribution and General Comments:

  • 5 short exams: 12% + 12% +12% +12% +12% = 60%
  • 5 written assignments: 5% + 5% + 5% + 5% + 5% = 25%
  • 2 programming assignments: 5% + 10% = 15%

I will use the Canvas extensively. Please log into Canvas to check for assignments, solutions and grades. This course requires a LOT of reading and will require some research on your own for the programming projects.

 

Course Schedule & Pacing Guide:                       

August & September

8/22

T

Explore Syllabus 

8/24

Th

M1: Intro [Ch1]

8/29

T

M1: Intro [Ch1] / M2: PHY [Ch2] 

8/31

Th

M2: PHY [Ch2]                   9/1 is the last day to drop classes!

9/5

T

M2: PHY [Ch2]   

9/7

Th

M3: Data Link [Ch 3] 

9/12

T

M3: Data Link [Ch 3]  & Submit Written Assignment 1: Intro & PHY

9/14

Th

M3: Data Link [Ch 3]

9/19

T

Take Exam 1: Intro & PHY

9/21

Th

M3: Data Link [Ch 3]   

9/26

T

M3: Data Link [Ch 3]  

9/28

Th

M4: MAC [Ch 4]  

 

October

10/3

T

M4: MAC [Ch 4]  & Submit Written Assignment 2: Link

10/5

Th

M4: MAC [Ch 4] 

10/10

T

Take Exam 2: Data Link 

10/12

Th

M5: Network [Ch 5] 

10/17

T

M5: Network [Ch 5] 

10/19

Th

M5: Network [Ch 5] 

10/24

T

M5: Network [Ch 5]  

10/26

Th

M5: Network [Ch 5] 

10/31

T

 Take Exam 3: MAC & Submit Written Assignment 3: MAC

 

November

11/2

Th

M5: Network [Ch 5] 

11/7

T

M6: Transport [Ch 6]  &  Submit Project Assignment 1 on DHCP 

11/9

Th

M6: Transport [Ch 6]  

11/14

T

M6: Transport [Ch 6]   & Submit Written Assignment 4: Network

11/16

Th

Take Exam 4: Network 

11/21

T

M7: Application [Ch 7]

11/23

Th Thanksgiving Holiday, No Class!

11/28

T

M7: Application [Ch 7] & Submit Written Assignment 5: Transport

11/30

Th

M7: Application [Ch 7]  

December

12/5

T

M7: Application [Ch 7]  & Submit Project Assignment 2 on Socket Programming

12/7

Th

Take Exam 5: Transport & Application

 

---

This course will use the Canvas Learning Management System instead of Blackboard. To access your course log in at canvas.sdsu.edu, and sign in using your SDSUid.

Note: You are responsible for adjusting your notification settings in such a way that you receive ALL announcements regarding this class. All Canvas email notifications will be delivered to your SDSU email address. You can add additional email addresses and sign up for text/mobile app notifications via the settings in your Canvas Profile, and then adjust your notifications in the Notifications Tab. Canvas notifications are system wide and cannot be adjusted by course. Click here to view a step-by-step guide to add additional notification and contact methods. 

If you have technical issues with Canvas, please contact the SDSU Canvas 24/7 support line at 619.483.0632.

---

Course Summary:

Date Details Due