SE 331: Introduction to Computer Networks מבוא לרשתות מחשבים
Course, Kinneret College on the Sea of Galilee, Software Engineering, 2024
Semester 1, 5785
Course Details:
- Lecture: Wednesday 08:00 - 10:00 in Room 803
- Targil: Monday 15:00 - 17:00 in Room 815, Wednesday 10:00-12:00 in Room 6201
- Instructor: Michael J. May
- Email: mjmay (at) kinneret,ac,il
The full detailed syllabus of the course is available here.
Topics:
The course is an introduction to the physical, link, network, and transport layers of the standard computer network model. Significant time will be spent on Ethernet, switching, routing, Wi-Fi, IPv4, IPv6, UDP, and TCP. By the end of the course, students will have a good algorithmic understanding of the OSI seven layer model and various technologies have been used to implement the first four layers. Some time will be spent on network programming in Java or C. Congestion control and queuing algorithms will be covered as well.
The course assumes no prior knowledge of networks or communications protocols.
Goals:
At the end of the course the student will be able to:
- Define and explain the differences between the following concepts: size, packet, bandwidth, round trip time (RTT), sending time. The student shall be able to also perform calculations based on them.
- Read and understand the packet formats of the following protocols and technologies: Ethernet (classical, fast, and gigabit), RIP, OSPF, Wi-Fi, IPv4, IPv6, TCP, and UDP.
- Explain the roles of each layer in the OSI seven layer model.
- Perform basic hand executions of routing protocols, CRC, sliding window, and IPv4 assisting protocols: e.g., DHCP, ARP, DNS, ICMP.
- Plan an IPv4 network which uses subnetting, including assigning addresses, subnet numbers, and subnet masks.
- Use Wireshark to examine and analyze network traces of Ethernet, Wi-Fi, RIP, OSPF, UDP, and TCP traffic.
- Read and write networking communication programs using sockets in Java.
- Explain how queuing algorithms (fair queuing, weighted fair queuing) work and perform analyses on their behavior.
Reading
The following books are used in the class:
- Dordal, P. L. (2023). An introduction to computer networks (2.0.11 ed.). Shabbona, IL, USA: Online. (link)
- James F. Kurose and Keith W. Ross. Computer Networking: A Top-Down Approach. Addison-Wesley, 8/E edition, 2020.
- Larry L. Peterson and Bruce S. Davie. Computer Networks: A Systems Approach. Morgan Kaufmann, 6.2-dev edition, 2020. Online. (link)
- Andrew S. Tanenbaum, Nick Feamster, and David J. Wetherall. Computer Networks. Pearson, 6th edition, 2021.
Assignments
The following assignments will comprise the assignment portion of the course grade:
Assignment 1 (10%): Sending Calculations. Due: 12 Nov 2024
Assignment 2 (10%): Stop and Wait Sending. Due: 1 Dec 2024
Assignment 3 (10%): CRC Calculation. Due: 8 Dec 2024
Assignment 4 (10%): Sliding Window. Due: 30 Dec 2024
Assignment 5 (10%): Spanning Tree, Fragmentation, and Subnets. Due: 16 Jan 2025
Assignment 6 (10%): TCP and Subnet Router. Due: 3 Feb 2025
Assignments are on Moodle. More details of assignments will be given during the course of the semester.
Grading Criteria
Final grades will be calculated by combining grades from student participation, the midterm exam, and projects. The grades are weighted as follows:
- 40% Assignments (Required - תקף)
- 60% Final Exam
Lecture Slides and Notes
# | Date | Topic | Slides | Recitation |
---|---|---|---|---|
1 | 6 Nov | Overview, Links, Bandwidth | [pdf] | [pdf] |
2 | 13 Nov | Bandwidth, Layers and OSI Model, Physical Layer | [pdf] | [pdf] |
3 | 20 Nov | Data Link Layer: Framing, Error Correction, ARQ Protocols, | [pdf] | [pdf] |
4 | 27 Nov | Sliding Window | [pdf] | [pdf] |
5 | 4 Dec | Ethernet, Fast and Gigabit Ethernet, Switching Algorithms, | [pdf] | [pdf] |
6 | 11 Dec | Switching Algorithms, Wi-Fi, Bridges Spanning Tree | [pdf] | [pdf] |
7 | 18 Dec | Bridges, IP, Fragmentation, Subnetting Intro | [pdf] | [pdf] |
8 | 1 Jan 2025 | Subnetting, IPv6 | [pdf] | [pdf] |
9 | 8 Jan | Routing: RIP, OSPF, UDP | [pdf] | [IPv6], [RIP] |
10 | 15 Jan | TCP, TCP Congestion Control, ICMP | [pdf] | [pdf] |
11 | 22 Jan | TCP and Threads, Glue Protocols: DHCP, ARP | [pdf] | [pdf] |
12 | 29 Jan | DNS, NAT, Resource Allocation, Queuing | [pdf] | [pdf] |
13 | 3 Feb | Queuing - Fair and Weighted, Congestion avoidance: RED | [pdf] | [pdf] |
Academic Integrity
Cheating of any sort will not be tolerated. Student collaboration is encouraged, but within limits as set forth in the college’s rules on academic integrity. Any students caught cheating will be immediately referred to the department head and the Dean and may receive a failing grade for the course.
Cheating includes:
- Copying information, content, or verbatim text from other students, internet sites, books (other than the ones listed in the bibliography), other unaffiliated individuals to answer questions, solve problems, or aid in programming projects.
- Copying or submitting source code, documentation, or other programming aids without attribution from other students, web sites, online repositories, text books, open source programs, or other unaffiliated individuals.
- Project teams which submit work which is identical or substantially identical to work submitted by other project teams, whether current or from previous years.
- Other forms of academic misconduct as described at this link or as reasonably assessed by the instructor, program head, or dean.
If you have any questions about what constitutes cheating in the above rules, contact the instructor as early as possible.