Difference between revisions of "BSc:Networks.previous version"
(Created page with "= Physics II = * <span>'''Course name:'''</span> Physics II * <span>'''Course number:'''</span> XYZ * <span>'''Knowledge area:'''</span> Mathematical Physics == Administrati...") |
|||
Line 1: | Line 1: | ||
− | = |
+ | = Networks = |
− | * <span>'''Course name:'''</span> |
+ | * <span>'''Course name:'''</span> Networks |
− | * <span>'''Course number:'''</span> |
+ | * <span>'''Course number:'''</span> — |
− | * <span>'''Knowledge area:'''</span> Mathematical Physics |
||
+ | == Course characteristics == |
||
− | == Administrative details == |
||
+ | === Key concepts of the class === |
||
− | * <span>'''Faculty:'''</span> Computer Science and Engineering |
||
− | * <span>'''Year of instruction:'''</span> 2nd year of BS |
||
− | * <span>'''Semester of instruction:'''</span> 1st semester |
||
− | * <span>'''No. of Credits:'''</span> 4 ECTS |
||
− | * <span>'''Total workload on average:'''</span> 144 hours overall |
||
− | * <span>'''Frontal lecture hours:'''</span> 2 per week |
||
− | * <span>'''Frontal tutorial hours:'''</span> 2 per week |
||
− | * <span>'''Lab hours:'''</span> 2 per week |
||
− | * <span>'''Individual lab hours:'''</span> 0 |
||
− | * <span>'''Frequency:'''</span> weekly throughout the semester |
||
− | * <span>'''Grading mode:'''</span> letters: A, B, C, D |
||
+ | * Computer networking |
||
− | == Prerequisites == |
||
+ | * TCP/IP layered structure |
||
+ | * Addressing |
||
+ | * Routing |
||
+ | * Applications |
||
+ | * Transport and application protocols |
||
+ | === What is the purpose of this course? === |
||
− | * [https://eduwiki.innopolis.university/index.php/BSc:PhysicsI CSE402 — Physics I (Mechanics)] |
||
+ | 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. |
||
− | * [https://eduwiki.innopolis.university/index.php/BSc:MathematicalAnalysisI CSE201 — Mathematical Analysis I]: functions, limits, derivatives, definite and indefinite integrals, exponentials |
||
+ | == Course Objectives Based on Bloom’s Taxonomy == |
||
− | * [https://eduwiki.innopolis.university/index.php/BSc:AnalyticGeometryAndLinearAlgebraI CSE202 — Analytical Geometry and Linear Algebra I]: vector and matrix operations, spatial analysis (unit vectors, rotations) |
||
+ | === What should a student remember at the end of the course? === |
||
− | * [https://eduwiki.innopolis.university/index.php/BSc:DifferentialEquations CSE205 — Differential Equations]: first- and second-order ODEs |
||
+ | By the end of the course, the students should be able to recognize and define |
||
− | == Course outline == |
||
+ | * Layered structure of a computer network |
||
− | This course provides the fundamentals of electric circuits. |
||
+ | * 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? === |
||
− | == Expected learning outcomes == |
||
+ | By the end of the course, the students should be able to understand: |
||
− | * Become familiar with the scope and general nature of the fields of electric circuits |
||
− | * Become aware of the relevance of the study of electric circuits to engineering |
||
− | * Understand the fundamental laws of electrical circuit theory such as Ohm’s law, Kirchhoff’s laws, mesh analysis, and nodal analysis to solve simple circuit problems |
||
− | * Understand the concepts of maximum power transfer and of source transformation |
||
− | * Are able to determine individual linear responses using the superposition theorem |
||
− | * Are able to obtain Thevenin?s and/or Norton?s equivalent circuit models for active, one port networks |
||
− | * Are able to identify and apply the most appropriate circuit analysis techniques and/or theorems for specific types of circuits |
||
− | * Analyze and determine the complete response of RL, RC and RLC circuits |
||
− | * Are able to identify the frequency, amplitude, and phase of a sinusoidal voltage or current. |
||
+ | * How a network is formed |
||
− | == Expected acquired core competences == |
||
+ | * 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? === |
||
− | * Circuit analysis |
||
− | * Energy storage |
||
− | * Frequency Response |
||
− | * The Laplace Transform |
||
− | * Fourier Series and Fourier Transform |
||
+ | By the end of the course, the students should be able to |
||
− | == Textbook == |
||
+ | * Configure networks |
||
− | * |
||
+ | * Configure routing |
||
+ | * Perform TCP and UDP connections |
||
+ | * Create networks and subnets |
||
+ | * Write simple network applications through sockets |
||
− | == |
+ | === Course evaluation === |
+ | {| |
||
− | * |
||
+ | |+ Course grade breakdown |
||
+ | ! |
||
+ | ! |
||
+ | !align="center"| '''Proposed points''' |
||
+ | |- |
||
+ | | Labs/seminar classes |
||
+ | | 20 |
||
+ | |align="center"| 20 |
||
+ | |- |
||
+ | | Weekly Quizzes |
||
+ | | 10 |
||
+ | |align="center"| 10 (excluding 4 worst) |
||
+ | |- |
||
+ | | Midterm Exam |
||
+ | | 20 |
||
+ | |align="center"| 20 |
||
+ | |- |
||
+ | | Final Exam |
||
+ | | 50 |
||
+ | |align="center"| 50 |
||
+ | |- |
||
+ | | Instructor discretion |
||
+ | | |
||
+ | |align="center"| 10 |
||
+ | |} |
||
+ | If necessary, please indicate freely your course’s features in terms of students’ performance assessment: None |
||
− | == Required computer resources == |
||
+ | === Grades range === |
||
− | No special needs. |
||
+ | <div id="tab:NetworksCourseGradingRange"> |
||
− | == Evaluation == |
||
+ | {| |
||
− | * In-class participation 1 point for each individual contribution in the lab class but not more than 10 points in total, |
||
+ | |+ Course grading range |
||
− | * in-class tests up to 15 points (for each test), |
||
+ | ! |
||
− | * mid-term exam up to 40 points |
||
+ | ! |
||
− | * final examination up to 50 points. |
||
+ | !align="center"| '''Proposed range''' |
||
+ | |- |
||
+ | | A. Excellent |
||
+ | | 90-100 |
||
+ | |align="center"| 90-100 |
||
+ | |- |
||
+ | | B. Good |
||
+ | | 75-89 |
||
+ | |align="center"| 70-89 |
||
+ | |- |
||
+ | | C. Satisfactory |
||
+ | | 60-74 |
||
+ | |align="center"| 60-69 |
||
+ | |- |
||
+ | | D. Poor |
||
+ | | 0-59 |
||
+ | |align="center"| 0-59 |
||
+ | |} |
||
+ | |||
+ | |||
+ | </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 === |
||
+ | |||
+ | * 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: |
||
+ | |||
+ | {| |
||
+ | |+ Course Sections |
||
+ | !align="center"| '''Section''' |
||
+ | ! '''Section Title''' |
||
+ | !align="center"| '''Teaching Hours''' |
||
+ | |- |
||
+ | |align="center"| 1 |
||
+ | | Application layer |
||
+ | |align="center"| 15 |
||
+ | |- |
||
+ | |align="center"| 2 |
||
+ | | Transport layer |
||
+ | |align="center"| 15 |
||
+ | |- |
||
+ | |align="center"| 3 |
||
+ | | Network layer |
||
+ | |align="center"| 15 |
||
+ | |- |
||
+ | |align="center"| 4 |
||
+ | | Physical and data link layer |
||
+ | |align="center"| 15 |
||
+ | |- |
||
+ | |align="center"| 5 |
||
+ | | Network security |
||
+ | |align="center"| 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? === |
||
+ | |||
+ | <div class="tabular"> |
||
+ | |||
+ | <span>|a|c|</span> & '''Yes/No'''<br /> |
||
+ | Development of individual parts of software product code & 0<br /> |
||
+ | Homework and group projects & 1<br /> |
||
+ | Midterm evaluation & 1<br /> |
||
+ | Testing (written or computer based) & 1<br /> |
||
+ | Reports & 1<br /> |
||
+ | Essays & 0<br /> |
||
+ | Oral polls & 0<br /> |
||
+ | Discussions & 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 === |
||
+ | |||
+ | # 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? === |
||
+ | |||
+ | <div class="tabular"> |
||
+ | |||
+ | <span>|a|c|</span> & '''Yes/No'''<br /> |
||
+ | Development of individual parts of software product code & 0<br /> |
||
+ | Homework and group projects & 1<br /> |
||
+ | Midterm evaluation & 1<br /> |
||
+ | Testing (written or computer based) & 1<br /> |
||
+ | Reports & 1<br /> |
||
+ | Essays & 0<br /> |
||
+ | Oral polls & 0<br /> |
||
+ | Discussions & 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 |
||
+ | |||
+ | === 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? === |
||
+ | |||
+ | <div class="tabular"> |
||
+ | |||
+ | <span>|a|c|</span> & '''Yes/No'''<br /> |
||
+ | Development of individual parts of software product code & 0<br /> |
||
+ | Homework and group projects & 1<br /> |
||
+ | Midterm evaluation & 1<br /> |
||
+ | Testing (written or computer based) & 1<br /> |
||
+ | Reports & 1<br /> |
||
+ | Essays & 0<br /> |
||
+ | Oral polls & 0<br /> |
||
+ | Discussions & 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 |
||
+ | |||
+ | === 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? === |
||
+ | |||
+ | <div class="tabular"> |
||
+ | |||
+ | <span>|a|c|</span> & '''Yes/No'''<br /> |
||
+ | Development of individual parts of software product code & 0<br /> |
||
+ | Homework and group projects & 1<br /> |
||
+ | Midterm evaluation & 1<br /> |
||
+ | Testing (written or computer based) & 1<br /> |
||
+ | Reports & 1<br /> |
||
+ | Essays & 0<br /> |
||
+ | Oral polls & 0<br /> |
||
+ | Discussions & 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 16:52, 15 June 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