Difference between revisions of "BSc: Networks"
m (M.petrishchev moved page BSc:Networks to BSc: Networks) |
|||
Line 19: | Line 19: | ||
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. |
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 == |
|
− | === |
+ | === What should a student remember at the end of the course? === |
By the end of the course, the students should be able to recognize and define |
By the end of the course, the students should be able to recognize and define |
||
Line 32: | Line 32: | ||
* 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? === |
By the end of the course, the students should be able to understand: |
By the end of the course, the students should be able to understand: |
||
Line 44: | Line 44: | ||
* 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? === |
By the end of the course, the students should be able to |
By the end of the course, the students should be able to |
Revision as of 16:12, 26 April 2022
Networks
- Course name: Networks
- Course number: —
Course characteristics
Key concepts of the class
- Computer networking
- TCP/IP layered structure
- Addressing
- Routing
- Applications
- Transport and application protocols
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
What should a student remember at the end of the course?
By the end of the course, the students should be able to recognize and define
- 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
What should a student be able to understand at the end of the course?
By the end of the course, the students should be able to understand:
- 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
What should a student be able to apply at the end of the course?
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
Course evaluation
Proposed points | ||
---|---|---|
Labs/seminar classes | 20 | 20 |
Weekly Quizzes | 10 | 10 (excluding 4 worst) |
Midterm Exam | 20 | 20 |
Final Exam | 50 | 50 |
Instructor discretion | 10 |
If necessary, please indicate freely your course’s features in terms of students’ performance assessment: None
Grades range
Proposed range | ||
---|---|---|
A. Excellent | 90-100 | 90-100 |
B. Good | 75-89 | 70-89 |
C. Satisfactory | 60-74 | 60-69 |
D. Poor | 0-59 | 0-59 |
If necessary, please indicate freely your course’s grading features: The semester starts with the grade ranges as proposed in the Table 1, but it might be slightly adjusted (usually reduced) depending on the average students progress.
Resources and reference material
- 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
Course Sections
The main sections of the course and approximate hour distribution between them is as follows:
Section | Section Title | Teaching Hours |
---|---|---|
1 | Application layer | 15 |
2 | Transport layer | 15 |
3 | Network layer | 15 |
4 | Physical and data link layer | 15 |
5 | Network security | 10 |
Section 1
Section title:
Application layer
Topics covered in this section:
- Application layer functionality
- Application layer protocols
- Domain name system
- Web
- File transfer
What forms of evaluation were used to test students’ performance in this section?
|a|c| & Yes/No
Development of individual parts of software product code & 0
Homework and group projects & 1
Midterm evaluation & 1
Testing (written or computer based) & 1
Reports & 1
Essays & 0
Oral polls & 0
Discussions & 1
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
- As above
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?
|a|c| & Yes/No
Development of individual parts of software product code & 0
Homework and group projects & 1
Midterm evaluation & 1
Testing (written or computer based) & 1
Reports & 1
Essays & 0
Oral polls & 0
Discussions & 1
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
Section 3
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?
|a|c| & Yes/No
Development of individual parts of software product code & 0
Homework and group projects & 1
Midterm evaluation & 1
Testing (written or computer based) & 1
Reports & 1
Essays & 0
Oral polls & 0
Discussions & 1
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
Section 4
Section title:
Physical and data link layer
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?
|a|c| & Yes/No
Development of individual parts of software product code & 0
Homework and group projects & 1
Midterm evaluation & 1
Testing (written or computer based) & 1
Reports & 1
Essays & 0
Oral polls & 0
Discussions & 1
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