Difference between revisions of "BSc: Networks"

From IU
Jump to navigation Jump to search
m (I.konyukhov moved page BSc:Networks to BSc:Networks.S22)
 
(7 intermediate revisions by 4 users not shown)
Line 1: Line 1:
  +
 
= Networks =
 
= Networks =
  +
* '''Course name''': Networks
  +
* '''Code discipline''': —
  +
* '''Subject area''':
   
  +
== Short Description ==
* <span>'''Course name:'''</span> Networks
 
  +
This course covers the following concepts: Computer networking; TCP/IP layered structure; Addressing; Routing; Applications; Transport and application protocols.
* <span>'''Course number:'''</span> —
 
   
== Course characteristics ==
+
== Prerequisites ==
   
=== Key concepts of the class ===
+
=== Prerequisite subjects ===
   
* Computer networking
 
* TCP/IP layered structure
 
* Addressing
 
* Routing
 
* Applications
 
* Transport and application protocols
 
   
  +
=== Prerequisite topics ===
=== What is the purpose of this course? ===
 
   
This is an introductory course to Computer Networks. During the course, we will introduce the fundamental principles behind modern computer networks, including the OSI reference model, the fundamental communication protocols, network topologies, and peer-to-peer and client-server architectures for network applications. We will also cover the basic C functions for network programming, as well as software tools to monitor data packets in a network, the configuration of routers and routing algorithms. We will conclude the course with covering the modern problems of existing computer networks, including the security aspects.
 
   
=== Course Objectives Based on Bloom’s Taxonomy ===
+
== Course Topics ==
  +
{| class="wikitable"
  +
|+ Course Sections and Topics
  +
|-
  +
! Section !! Topics within the section
  +
|-
  +
| Application layer ||
  +
# Application layer functionality
  +
# Application layer protocols
  +
# Domain name system
  +
# Web
  +
# File transfer
  +
|-
  +
| Transport layer ||
  +
# TCP and UDP
  +
# Transmission control
  +
# Quality of service
  +
# Delay-tolerant networking
  +
|-
  +
| Network layer ||
  +
# IP addressing
  +
# Subneting
  +
# Routing
  +
# Inter-networking
  +
# host-to-host networking
  +
|-
  +
| Physical and data link layer ||
  +
# Layered structure of network
  +
# Physical layer
  +
# Data link layer
  +
# Medium access control
  +
# Congestion
  +
# Swiching
  +
# Sliding window protocols and other protocols in physical and link layer
  +
|}
  +
== Intended Learning Outcomes (ILOs) ==
   
=== - What should a student remember at the end of the course? ===
+
=== What is the main purpose of this course? ===
  +
This is an introductory course to Computer Networks. During the course, we will introduce the fundamental principles behind modern computer networks, including the OSI reference model, the fundamental communication protocols, network topologies, and peer-to-peer and client-server architectures for network applications. We will also cover the basic C functions for network programming, as well as software tools to monitor data packets in a network, the configuration of routers and routing algorithms. We will conclude the course with covering the modern problems of existing computer networks, including the security aspects.
   
  +
=== ILOs defined at three levels ===
By the end of the course, the students should be able to recognize and define
 
   
  +
==== Level 1: What concepts should a student know/remember/explain? ====
  +
By the end of the course, the students should be able to ...
 
* Layered structure of a computer network
 
* Layered structure of a computer network
 
* Topologies in computer networks
 
* Topologies in computer networks
Line 32: Line 67:
 
* Nuts and bolts of applications in networks
 
* Nuts and bolts of applications in networks
   
=== - What should a student be able to understand at the end of the course? ===
+
==== Level 2: What basic practical skills should a student be able to perform? ====
  +
By the end of the course, the students should be able to ...
 
By the end of the course, the students should be able to understand:
 
 
 
* How a network is formed
 
* How a network is formed
 
* How addressing is done at different layers of the networks
 
* How addressing is done at different layers of the networks
Line 44: Line 77:
 
* And Demonstrate the knowledge and discuss the overal functioning of a computer network
 
* And Demonstrate the knowledge and discuss the overal functioning of a computer network
   
=== - What should a student be able to apply at the end of the course? ===
+
==== Level 3: What complex comprehensive skills should a student be able to apply in real-life scenarios? ====
  +
By the end of the course, the students should be able to ...
 
By the end of the course, the students should be able to
 
 
 
* Configure networks
 
* Configure networks
 
* Configure routing
 
* Configure routing
 
* Perform TCP and UDP connections
 
* Perform TCP and UDP connections
 
* Create networks and subnets
 
* Create networks and subnets
* Write simple network applications through sockets
+
* Write simple network applications through sockets
  +
== Grading ==
 
=== Course evaluation ===
 
   
  +
=== Course grading range ===
{|
 
  +
{| class="wikitable"
|+ Course grade breakdown
 
  +
|+
!
 
!
 
!align="center"| '''Proposed points'''
 
 
|-
 
|-
  +
! Grade !! Range !! Description of performance
| Labs/seminar classes
 
| 20
 
|align="center"| 20
 
 
|-
 
|-
  +
| A. Excellent || 90-100 || -
| Weekly Quizzes
 
| 10
 
|align="center"| 10 (excluding 4 worst)
 
 
|-
 
|-
  +
| B. Good || 70-89 || -
| Midterm Exam
 
| 20
 
|align="center"| 20
 
 
|-
 
|-
  +
| C. Satisfactory || 60-69 || -
| Final Exam
 
| 50
 
|align="center"| 50
 
 
|-
 
|-
  +
| D. Poor || 0-59 || -
| Instructor discretion
 
|
 
|align="center"| 10
 
 
|}
 
|}
   
  +
=== Course activities and grading breakdown ===
If necessary, please indicate freely your course’s features in terms of students’ performance assessment: None
 
  +
{| class="wikitable"
 
  +
|+
=== Grades range ===
 
 
<div id="tab:NetworksCourseGradingRange">
 
 
{|
 
|+ Course grading range
 
!
 
!
 
!align="center"| '''Proposed range'''
 
 
|-
 
|-
  +
! Activity Type !! Percentage of the overall course grade
| A. Excellent
 
| 90-100
 
|align="center"| 90-100
 
 
|-
 
|-
  +
| Regular Quizzes (During lectures, tutorials, or labs) || 5 (excluding 3 worst)
| B. Good
 
| 75-89
 
|align="center"| 70-89
 
 
|-
 
|-
  +
| Midterm Exam || 20
| C. Satisfactory
 
| 60-74
 
|align="center"| 60-69
 
 
|-
 
|-
  +
| Final Exam || 60
| D. Poor
 
| 0-59
+
|-
  +
| Labs/seminar classes || 15
|align="center"| 0-59
 
 
|}
 
|}
   
  +
All labs must be delivered by a specified date, before the exam date, otherwise the course is failed; late labs delivery without justifying reasons is penalised.
  +
  +
Failing any part of the evaluation (that is scoring less than 60%) will trigger a failure in the entire course (midterm is an exception). If there are no failed components, then the final grade is computed as a weighted average of the components listed above approximated at the highest second digit and then rounded to the closest integer.
  +
  +
=== Recommendations for students on how to succeed in the course ===
   
</div>
 
If necessary, please indicate freely your course’s grading features: The semester starts with the grade ranges as proposed in the Table [[#tab:NetworksCourseGradingRange|1]], but it might be slightly adjusted (usually reduced) depending on the average students progress.
 
   
=== Resources and reference material ===
+
== Resources, literature and reference materials ==
   
  +
=== Open access resources ===
 
* Lecture material
 
* Lecture material
 
* Computer networking: A top-down approach / James F. Kurose, Keith W. Ross.—6th edition (or later ones)
 
* Computer networking: A top-down approach / James F. Kurose, Keith W. Ross.—6th edition (or later ones)
Line 123: Line 131:
 
* Online resources
 
* Online resources
   
== Course Sections ==
+
=== Closed access resources ===
   
The main sections of the course and approximate hour distribution between them is as follows:
 
   
  +
=== Software and tools used within the course ===
{|
 
  +
|+ Course Sections
 
  +
= Teaching Methodology: Methods, techniques, & activities =
!align="center"| '''Section'''
 
  +
! '''Section Title'''
 
!align="center"| '''Teaching Hours'''
+
== Activities and Teaching Methods ==
  +
{| class="wikitable"
  +
|+ Activities within each section
 
|-
 
|-
  +
! Learning Activities !! Section 1 !! Section 2 !! Section 3 !! Section 4
|align="center"| 1
 
| Application layer
 
|align="center"| 15
 
 
|-
 
|-
  +
| Homework and group projects || 1 || 1 || 1 || 1
|align="center"| 2
 
| Transport layer
 
|align="center"| 15
 
 
|-
 
|-
  +
| Midterm evaluation || 1 || 1 || 1 || 1
|align="center"| 3
 
| Network layer
 
|align="center"| 15
 
 
|-
 
|-
  +
| Testing (written or computer based) || 1 || 1 || 1 || 1
|align="center"| 4
 
| Physical and data link layer
 
|align="center"| 15
 
 
|-
 
|-
  +
| Reports || 1 || 1 || 1 || 1
|align="center"| 5
 
  +
|-
| Network security
 
  +
| Discussions || 1 || 1 || 1 || 1
|align="center"| 10
 
|}
+
|}
  +
== Formative Assessment and Course Activities ==
   
=== Section 1 ===
+
=== Ongoing performance assessment ===
   
=== Section title: ===
+
==== Section 1 ====
  +
{| class="wikitable"
 
  +
|+
Application layer
 
  +
|-
 
  +
! Activity Type !! Content !! Is Graded?
=== Topics covered in this section: ===
 
  +
|-
 
  +
| Question || How application layer protocols work? || 1
* Application layer functionality
 
  +
|-
* Application layer protocols
 
  +
| Question || How DNS work with the transport layer protocols? || 1
* Domain name system
 
  +
|-
* Web
 
  +
| Question || How does http and https work? || 1
* File transfer
 
  +
|-
 
  +
| Question || How does ftp work? || 1
=== What forms of evaluation were used to test students’ performance in this section? ===
 
  +
|-
 
  +
| Question || How security is incoporated at application layer? || 1
<div class="tabular">
 
  +
|-
 
  +
| Question || Which applications need TCP and UDP at the lower layer? || 1
<span>|a|c|</span> &amp; '''Yes/No'''<br />
 
  +
|}
Development of individual parts of software product code &amp; 0<br />
 
Homework and group projects &amp; 1<br />
 
Midterm evaluation &amp; 1<br />
 
Testing (written or computer based) &amp; 1<br />
 
Reports &amp; 1<br />
 
Essays &amp; 0<br />
 
Oral polls &amp; 0<br />
 
Discussions &amp; 1<br />
 
 
 
 
</div>
 
=== Typical questions for ongoing performance evaluation within this section ===
 
 
# How application layer protocols work?
 
# How DNS work with the transport layer protocols?
 
# How does http and https work?
 
# How does ftp work?
 
# How security is incoporated at application layer?
 
# Which applications need TCP and UDP at the lower layer?
 
 
=== Test questions for final assessment in this section ===
 
   
  +
==== Section 2 ====
  +
{| class="wikitable"
  +
|+
  +
|-
  +
! Activity Type !! Content !! Is Graded?
  +
|-
  +
| Question || How does TCP 3-way handshake work? || 1
  +
|-
  +
| Question || How reliability is achieved in TCP? || 1
  +
|-
  +
| Question || What are the pros and cons of connectionless and connection-oriented protocols in transport layer? || 1
  +
|-
  +
| Question || How security is provided at transport layer? || 1
  +
|-
  +
| Question || Implement TCP connection through sockets || 0
  +
|-
  +
| Question || Develop simple application incorporating TCP and UDP || 0
  +
|}
  +
==== Section 3 ====
  +
{| class="wikitable"
  +
|+
  +
|-
  +
! Activity Type !! Content !! Is Graded?
  +
|-
  +
| Question || What are different classes of IPv4 address? || 1
  +
|-
  +
| Question || Why do we need IPv6? || 1
  +
|-
  +
| Question || How different routing protocols work and why do we need different routing algorithms? || 1
  +
|-
  +
| Question || How quality of service is provided at network layer? || 1
  +
|-
  +
| Question || How to create different subnets? || 1
  +
|-
  +
| Question || Configure routing table || 0
  +
|-
  +
| Question || Create subnets || 0
  +
|-
  +
| Question || Work on quality of service, congestion and related topics || 0
  +
|}
  +
==== Section 4 ====
  +
{| class="wikitable"
  +
|+
  +
|-
  +
! Activity Type !! Content !! Is Graded?
  +
|-
  +
| Question || How do different protocols work at physical and link layer? || 1
  +
|-
  +
| Question || How does a switch and a hub work? || 1
  +
|-
  +
| Question || How does different medium access control mechanisms work? || 1
  +
|-
  +
| Question || How to detect and correct errors in transmission? || 1
  +
|-
  +
| Question || What are different transmission media? || 1
  +
|-
  +
| Question || Configure switches || 0
  +
|-
  +
| Question || Detect errors in transmission || 0
  +
|-
  +
| Question || Play with different protocols, e.g., ARP || 0
  +
|}
  +
=== Final assessment ===
  +
'''Section 1'''
 
# As above
 
# As above
  +
'''Section 2'''
 
=== Section 2 ===
 
 
=== Section title: ===
 
 
Transport layer
 
 
=== Topics covered in this section: ===
 
 
* TCP and UDP
 
* Transmission control
 
* Quality of service
 
* Delay-tolerant networking
 
 
=== What forms of evaluation were used to test students’ performance in this section? ===
 
 
<div class="tabular">
 
 
<span>|a|c|</span> &amp; '''Yes/No'''<br />
 
Development of individual parts of software product code &amp; 0<br />
 
Homework and group projects &amp; 1<br />
 
Midterm evaluation &amp; 1<br />
 
Testing (written or computer based) &amp; 1<br />
 
Reports &amp; 1<br />
 
Essays &amp; 0<br />
 
Oral polls &amp; 0<br />
 
Discussions &amp; 1<br />
 
 
 
 
</div>
 
=== Typical questions for ongoing performance evaluation within this section ===
 
 
# How does TCP 3-way handshake work?
 
# How reliability is achieved in TCP?
 
# What are the pros and cons of connectionless and connection-oriented protocols in transport layer?
 
# How security is provided at transport layer?
 
 
=== Typical questions for seminar classes (labs) within this section ===
 
 
# Implement TCP connection through sockets
 
# Develop simple application incorporating TCP and UDP
 
 
=== Test questions for final assessment in this section ===
 
 
 
# As above
 
# As above
  +
'''Section 3'''
 
  +
# As above
=== Section 3 ===
 
  +
'''Section 4'''
 
=== Section title: ===
 
 
Network layer
 
 
=== Topics covered in this section: ===
 
 
* IP addressing
 
* Subneting
 
* Routing
 
* Inter-networking
 
* host-to-host networking
 
 
=== What forms of evaluation were used to test students’ performance in this section? ===
 
 
<div class="tabular">
 
 
<span>|a|c|</span> &amp; '''Yes/No'''<br />
 
Development of individual parts of software product code &amp; 0<br />
 
Homework and group projects &amp; 1<br />
 
Midterm evaluation &amp; 1<br />
 
Testing (written or computer based) &amp; 1<br />
 
Reports &amp; 1<br />
 
Essays &amp; 0<br />
 
Oral polls &amp; 0<br />
 
Discussions &amp; 1<br />
 
 
 
 
</div>
 
=== Typical questions for ongoing performance evaluation within this section ===
 
 
# What are different classes of IPv4 address?
 
# Why do we need IPv6?
 
# How different routing protocols work and why do we need different routing algorithms?
 
# How quality of service is provided at network layer?
 
# How to create different subnets?
 
 
=== Typical questions for seminar classes (labs) within this section ===
 
 
# Configure routing table
 
# Create subnets
 
# Work on quality of service, congestion and related topics
 
 
=== Test questions for final assessment in this section ===
 
 
 
# As above
 
# As above
   
=== Section 4 ===
+
=== The retake exam ===
  +
'''Section 1'''
   
=== Section title: ===
+
'''Section 2'''
   
  +
'''Section 3'''
Physical and data link layer
 
   
  +
'''Section 4'''
=== Topics covered in this section: ===
 
 
* Layered structure of network
 
* Physical layer
 
* Data link layer
 
* Medium access control
 
* Congestion
 
* Swiching
 
* Sliding window protocols and other protocols in physical and link layer
 
 
=== What forms of evaluation were used to test students’ performance in this section? ===
 
 
<div class="tabular">
 
 
<span>|a|c|</span> &amp; '''Yes/No'''<br />
 
Development of individual parts of software product code &amp; 0<br />
 
Homework and group projects &amp; 1<br />
 
Midterm evaluation &amp; 1<br />
 
Testing (written or computer based) &amp; 1<br />
 
Reports &amp; 1<br />
 
Essays &amp; 0<br />
 
Oral polls &amp; 0<br />
 
Discussions &amp; 1<br />
 
 
 
 
</div>
 
=== Typical questions for ongoing performance evaluation within this section ===
 
 
# How do different protocols work at physical and link layer?
 
# How does a switch and a hub work?
 
# How does different medium access control mechanisms work?
 
# How to detect and correct errors in transmission?
 
# What are different transmission media?
 
 
=== Typical questions for seminar classes (labs) within this section ===
 
 
# Configure switches
 
# Detect errors in transmission
 
# Play with different protocols, e.g., ARP
 
 
=== Test questions for final assessment in this section ===
 
 
# As above
 

Latest revision as of 14:48, 8 February 2024

Networks

  • Course name: Networks
  • Code discipline: —
  • Subject area:

Short Description

This course covers the following concepts: Computer networking; TCP/IP layered structure; Addressing; Routing; Applications; Transport and application protocols.

Prerequisites

Prerequisite subjects

Prerequisite topics

Course Topics

Course Sections and Topics
Section Topics within the section
Application layer
  1. Application layer functionality
  2. Application layer protocols
  3. Domain name system
  4. Web
  5. File transfer
Transport layer
  1. TCP and UDP
  2. Transmission control
  3. Quality of service
  4. Delay-tolerant networking
Network layer
  1. IP addressing
  2. Subneting
  3. Routing
  4. Inter-networking
  5. host-to-host networking
Physical and data link layer
  1. Layered structure of network
  2. Physical layer
  3. Data link layer
  4. Medium access control
  5. Congestion
  6. Swiching
  7. Sliding window protocols and other protocols in physical and link layer

Intended Learning Outcomes (ILOs)

What is the main purpose of this course?

This is an introductory course to Computer Networks. During the course, we will introduce the fundamental principles behind modern computer networks, including the OSI reference model, the fundamental communication protocols, network topologies, and peer-to-peer and client-server architectures for network applications. We will also cover the basic C functions for network programming, as well as software tools to monitor data packets in a network, the configuration of routers and routing algorithms. We will conclude the course with covering the modern problems of existing computer networks, including the security aspects.

ILOs defined at three levels

Level 1: What concepts should a student know/remember/explain?

By the end of the course, the students should be able to ...

  • Layered structure of a computer network
  • Topologies in computer networks
  • Addressing schemes in networks
  • Routing algorithms
  • Security at different TCP/IP layers
  • Nuts and bolts of applications in networks

Level 2: What basic practical skills should a student be able to perform?

By the end of the course, the students should be able to ...

  • How a network is formed
  • How addressing is done at different layers of the networks
  • How subnets are created
  • How different routing protocols work and which one is better in which scenario
  • How medium is accessed on a network
  • How different networks operate
  • And Demonstrate the knowledge and discuss the overal functioning of a computer network

Level 3: What complex comprehensive skills should a student be able to apply in real-life scenarios?

By the end of the course, the students should be able to ...

  • Configure networks
  • Configure routing
  • Perform TCP and UDP connections
  • Create networks and subnets
  • Write simple network applications through sockets

Grading

Course grading range

Grade Range Description of performance
A. Excellent 90-100 -
B. Good 70-89 -
C. Satisfactory 60-69 -
D. Poor 0-59 -

Course activities and grading breakdown

Activity Type Percentage of the overall course grade
Regular Quizzes (During lectures, tutorials, or labs) 5 (excluding 3 worst)
Midterm Exam 20
Final Exam 60
Labs/seminar classes 15

All labs must be delivered by a specified date, before the exam date, otherwise the course is failed; late labs delivery without justifying reasons is penalised.

Failing any part of the evaluation (that is scoring less than 60%) will trigger a failure in the entire course (midterm is an exception). If there are no failed components, then the final grade is computed as a weighted average of the components listed above approximated at the highest second digit and then rounded to the closest integer.

Recommendations for students on how to succeed in the course

Resources, literature and reference materials

Open access resources

  • Lecture material
  • Computer networking: A top-down approach / James F. Kurose, Keith W. Ross.—6th edition (or later ones)
  • Optional reading: Computer Networks / Andrew S. Tanenbaum, David J. Wetherall - 5th ed.
  • Online resources

Closed access resources

Software and tools used within the course

Teaching Methodology: Methods, techniques, & activities

Activities and Teaching Methods

Activities within each section
Learning Activities Section 1 Section 2 Section 3 Section 4
Homework and group projects 1 1 1 1
Midterm evaluation 1 1 1 1
Testing (written or computer based) 1 1 1 1
Reports 1 1 1 1
Discussions 1 1 1 1

Formative Assessment and Course Activities

Ongoing performance assessment

Section 1

Activity Type Content Is Graded?
Question How application layer protocols work? 1
Question How DNS work with the transport layer protocols? 1
Question How does http and https work? 1
Question How does ftp work? 1
Question How security is incoporated at application layer? 1
Question Which applications need TCP and UDP at the lower layer? 1

Section 2

Activity Type Content Is Graded?
Question How does TCP 3-way handshake work? 1
Question How reliability is achieved in TCP? 1
Question What are the pros and cons of connectionless and connection-oriented protocols in transport layer? 1
Question How security is provided at transport layer? 1
Question Implement TCP connection through sockets 0
Question Develop simple application incorporating TCP and UDP 0

Section 3

Activity Type Content Is Graded?
Question What are different classes of IPv4 address? 1
Question Why do we need IPv6? 1
Question How different routing protocols work and why do we need different routing algorithms? 1
Question How quality of service is provided at network layer? 1
Question How to create different subnets? 1
Question Configure routing table 0
Question Create subnets 0
Question Work on quality of service, congestion and related topics 0

Section 4

Activity Type Content Is Graded?
Question How do different protocols work at physical and link layer? 1
Question How does a switch and a hub work? 1
Question How does different medium access control mechanisms work? 1
Question How to detect and correct errors in transmission? 1
Question What are different transmission media? 1
Question Configure switches 0
Question Detect errors in transmission 0
Question Play with different protocols, e.g., ARP 0

Final assessment

Section 1

  1. As above

Section 2

  1. As above

Section 3

  1. As above

Section 4

  1. As above

The retake exam

Section 1

Section 2

Section 3

Section 4