Difference between revisions of "MSc: Classical Internet Applications"

From IU
Jump to navigation Jump to search
 
(9 intermediate revisions by 3 users not shown)
Line 1: Line 1:
  +
 
= Classical Internet Applications =
 
= Classical Internet Applications =
  +
* '''Course name''': Classical Internet Applications
  +
* '''Code discipline''': SNE-03
  +
* '''Subject area''':
   
  +
== Short Description ==
* <span>'''Course name:'''</span> Classical Internet Applications (CIA)
 
  +
This course covers the following concepts: Internet applications; Focus on the application layer of the TCP/IP protocol stack; Implementation, configuration, and security of Internet applications.
* <span>'''Course number:'''</span> SNE-03
 
   
== Course characteristics ==
+
== Prerequisites ==
   
=== Key concepts of the class ===
+
=== Prerequisite subjects ===
  +
* The course will benefit if students already know some of the following topics: Basics of TCP/IP networks: TCP/IP stack, transport protocols, application layer protocols, IP addressing, OSI -7 layer model
  +
* Linux OS: architecture, system calls, ELF binary structure, networking and administration
  +
* Shell Scripting: ability to work with the terminal as administrator and automatise tasks
   
  +
=== Prerequisite topics ===
* Internet applications
 
* Focus on the application layer of the TCP/IP protocol stack
 
* Implementation, configuration, and security of Internet applications
 
   
=== What is the purpose of this course? ===
 
   
  +
== Course Topics ==
  +
{| class="wikitable"
  +
|+ Course Sections and Topics
  +
|-
  +
! Section !! Topics within the section
  +
|-
  +
| Booting, Operating Systems, and Computer Architecture ||
  +
# Booting principles and disks
  +
# Essentials of operating systems
  +
# Fundamentals of computer architecture
  +
|-
  +
| DNS, DNSSEC, and DoH ||
  +
# DNS
  +
# DNSSEC
  +
# DoH
  +
|-
  +
| Email ||
  +
# Email architecture
  +
# Spam management
  +
|-
  +
| Directory, Web, Protocol, ABNF and Deflating ||
  +
# Directory services
  +
# Web
  +
# Protocols
  +
# ABNF
  +
# Deflating
  +
|}
  +
== Intended Learning Outcomes (ILOs) ==
  +
  +
=== What is the main purpose of this course? ===
 
CIA course serves as kick-start for the security and network engineering Masters program. Before diving into the depth of the topics, the students must know preliminary concepts related to computer networks services and applications therein. This course is designed to cover the basic services offered by the Internet including operating systems and computer architecture. The concepts from this course will be used throughout the course of whole masters. More precisely, this course will cover the basic computer architecture and assembly language programming, Domain Name Services (DNS), DNSSec, email, web, directories, and disks. This course will also cover protocols and ABNF. The theory part will strengthen the theoretical aspects of the concepts whereas the lab exercises will provide the students with the opportunity to have hands-on experience of the ideas they learnt in the lectures.
 
CIA course serves as kick-start for the security and network engineering Masters program. Before diving into the depth of the topics, the students must know preliminary concepts related to computer networks services and applications therein. This course is designed to cover the basic services offered by the Internet including operating systems and computer architecture. The concepts from this course will be used throughout the course of whole masters. More precisely, this course will cover the basic computer architecture and assembly language programming, Domain Name Services (DNS), DNSSec, email, web, directories, and disks. This course will also cover protocols and ABNF. The theory part will strengthen the theoretical aspects of the concepts whereas the lab exercises will provide the students with the opportunity to have hands-on experience of the ideas they learnt in the lectures.
   
=== Course Objectives Based on Bloom’s Taxonomy ===
+
=== ILOs defined at three levels ===
 
=== - What should a student remember at the end of the course? ===
 
 
By the end of the course, the students should be able to:
 
   
  +
==== Level 1: What concepts should a student know/remember/explain? ====
  +
By the end of the course, the students should be able to ...
 
* Identify different Internet applications and understand their working principles from the protocols point of view
 
* Identify different Internet applications and understand their working principles from the protocols point of view
 
* Demonstrate the acquired knowledge and skills in classical internet applications including DNS, Email, and Directory services.
 
* Demonstrate the acquired knowledge and skills in classical internet applications including DNS, Email, and Directory services.
Line 27: Line 59:
 
* Able to partition disks and remember the booting principles as well as secure booting
 
* Able to partition disks and remember the booting principles as well as secure booting
   
=== - 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 describe and explain (with examples)
 
 
 
* Demonstrate knowledge and skills to use web services
 
* Demonstrate knowledge and skills to use web services
 
* Demonstrate the essential knowledge of disks and calculate particular locations/addresses in disks
 
* Demonstrate the essential knowledge of disks and calculate particular locations/addresses in disks
Line 36: Line 66:
 
* Demonstrate the knowledge of email and other services configuration
 
* Demonstrate the knowledge of email and other services configuration
   
=== - 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 apply the acquired knowledge in the following way.
 
 
 
* Install, Configure, update, and manage DNS services over a network
 
* Install, Configure, update, and manage DNS services over a network
 
* Configure, maintain, and update the secure DNS over a network
 
* Configure, maintain, and update the secure DNS over a network
 
* Update, add, and delete records in DNS
 
* Update, add, and delete records in DNS
 
* Configure a secure mail server and maintain it
 
* Configure a secure mail server and maintain it
* Get hands-on experience of the afore-mentioned technologies on their own servers.
+
* Get hands-on experience of the afore-mentioned technologies on their own servers.
  +
== Grading ==
   
=== Course evaluation ===
+
=== Course grading range ===
  +
{| class="wikitable"
 
  +
|+
<div id="tab:CIACourseGrading">
 
 
{|
 
|+ Course grade breakdown
 
!
 
!
 
!align="center"| '''Proposed points'''
 
 
|-
 
|-
  +
! Grade !! Range !! Description of performance
| Labs/seminar classes
 
| 20
 
|align="center"| 20
 
 
|-
 
|-
  +
| A. Excellent || 90-100 || -
| Lab tasks assessment
 
| 40
 
|align="center"| 40
 
 
|-
 
|-
  +
| B. Good || 75-89 || -
| Exams
 
| 40
+
|-
  +
| C. Satisfactory || 60-74 || -
|align="center"| 40
 
  +
|-
  +
| D. Poor || 0-59 || -
 
|}
 
|}
   
  +
=== Course activities and grading breakdown ===
 
  +
{| class="wikitable"
</div>
 
  +
|+
If necessary, please indicate freely your course’s features in terms of students’ performance assessment: None
 
 
=== Grades range ===
 
 
<div id="tab:CIACourseGradingRange">
 
 
{|
 
|+ Course grading range
 
!
 
!
 
!align="center"| '''Proposed range'''
 
 
|-
 
|-
  +
! Activity Type !! Percentage of the overall course grade
| A. Excellent
 
| 90-100
 
|align="center"|
 
 
|-
 
|-
  +
| Labs/seminar classes || 20
| B. Good
 
| 75-89
 
|align="center"|
 
 
|-
 
|-
  +
| Lab tasks assessment || 40
| C. Satisfactory
 
| 60-74
 
|align="center"|
 
 
|-
 
|-
| D. Poor
+
| Exams || 40
| 0-59
 
|align="center"|
 
 
|}
 
|}
   
  +
=== 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 default range as proposed in the Table [[#tab:CIACourseGradingRange|2]], but it may change slightly (usually reduced) depending on how the semester progresses.
 
   
=== Resources and reference material ===
+
== Resources, literature and reference materials ==
   
  +
=== Open access resources ===
 
* Lecture slides
 
* Lecture slides
 
* RFCs
 
* RFCs
 
* Link to the online material will be provided (if any)
 
* Link to the online material will be provided (if any)
   
== 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
 
| Intro, Booting, Operating Systems Essentials, and Computer Architecture
 
|align="center"| 8
 
 
|-
 
|-
  +
| Homework and group projects || 1 || 1 || 1 || 1
|align="center"| 2
 
| DNS, DNSSEC, DoH
 
|align="center"| 14
 
 
|-
 
|-
  +
| Testing (written or computer based) || 1 || 1 || 1 || 1
|align="center"| 3
 
| Email
 
|align="center"| 4
 
 
|-
 
|-
  +
| Reports || 1 || 1 || 1 || 1
|align="center"| 4
 
| ABNF, Deflating, Directory Services, Disks, Web, and Protocols
 
|align="center"| 12
 
 
|-
 
|-
  +
| Discussions || 1 || 1 || 1 || 1
|align="center"| 5
 
| Labs
+
|}
  +
== Formative Assessment and Course Activities ==
|align="center"| 56
 
|}
 
   
=== Section 1 ===
+
=== Ongoing performance assessment ===
 
=== Section title: ===
 
 
Booting, Operating Systems, and Computer Architecture
 
 
=== Topics covered in this section: ===
 
 
* Booting principles and disks
 
* Essentials of operating systems
 
* Fundamentals of computer architecture
 
 
=== 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; 0<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 the different steps in booting?
 
# How the disks are partitioned?
 
# Explain UEFI booting
 
 
=== Typical questions for seminar classes (labs) within this section ===
 
 
# Demonstrating the knowledge of booting
 
# Analyze assembly code at a basic level
 
# Demonstrate the system and library calls in operating systems
 
 
=== Test questions for final assessment in this section ===
 
   
  +
==== Section 1 ====
  +
{| class="wikitable"
  +
|+
  +
|-
  +
! Activity Type !! Content !! Is Graded?
  +
|-
  +
| Question || What are the different steps in booting? || 1
  +
|-
  +
| Question || How the disks are partitioned? || 1
  +
|-
  +
| Question || Explain UEFI booting || 1
  +
|-
  +
| Question || Demonstrating the knowledge of booting || 0
  +
|-
  +
| Question || Analyze assembly code at a basic level || 0
  +
|-
  +
| Question || Demonstrate the system and library calls in operating systems || 0
  +
|}
  +
==== Section 2 ====
  +
{| class="wikitable"
  +
|+
  +
|-
  +
! Activity Type !! Content !! Is Graded?
  +
|-
  +
| Question || Hows does DNS query get resolved? || 1
  +
|-
  +
| Question || What is iterative and recursive DNS server? || 1
  +
|-
  +
| Question || How does wildcard work in DNS? || 1
  +
|-
  +
| Question || What is zone walking in secure DNS? || 1
  +
|-
  +
| Question || What is delegation in DNS? || 1
  +
|-
  +
| Question || What is NSEC and NSEC3 records in DNSSEC? || 1
  +
|-
  +
| Question || What is the difference between DNSSEC and DoH? || 1
  +
|-
  +
| Question || Configure DNS, DNSSEC, and DoH (with specific tasks) || 0
  +
|}
  +
==== Section 3 ====
  +
{| class="wikitable"
  +
|+
  +
|-
  +
! Activity Type !! Content !! Is Graded?
  +
|-
  +
| Question || What are different protocols used in email? || 1
  +
|-
  +
| Question || What are the different agents used in email system? || 1
  +
|-
  +
| Question || How to avoid spamming in email? || 1
  +
|-
  +
| Question || How to configure email servers? || 1
  +
|-
  +
| Question || Configure email server || 0
  +
|-
  +
| Question || Configure anti-spamming techniques || 0
  +
|}
  +
==== Section 4 ====
  +
{| class="wikitable"
  +
|+
  +
|-
  +
! Activity Type !! Content !! Is Graded?
  +
|-
  +
| Question || How directory services are implemented? || 1
  +
|-
  +
| Question || How permissions are set? || 1
  +
|-
  +
| Question || How disk partitions are made? || 1
  +
|-
  +
| Question || How different web protocols work? || 1
  +
|-
  +
| Question || How network packets are management in a standard way through ABNF? || 1
  +
|-
  +
| Question || How to write new formats through ABNF? || 1
  +
|-
  +
| Question || Implement different web services || 0
  +
|-
  +
| Question || Configure active directory || 0
  +
|}
  +
=== Final assessment ===
  +
'''Section 1'''
 
# Same as above
 
# Same as above
  +
'''Section 2'''
 
=== Section 2 ===
 
 
=== Section title: ===
 
 
DNS, DNSSEC, and DoH
 
 
=== Topics covered in this section: ===
 
 
* DNS
 
* DNSSEC
 
* DoH
 
 
=== 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; 0<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 ===
 
 
# Hows does DNS query get resolved?
 
# What is iterative and recursive DNS server?
 
# How does wildcard work in DNS?
 
# What is zone walking in secure DNS?
 
# What is delegation in DNS?
 
# What is NSEC and NSEC3 records in DNSSEC?
 
# What is the difference between DNSSEC and DoH?
 
 
=== Typical questions for seminar classes (labs) within this section ===
 
 
# Configure DNS, DNSSEC, and DoH (with specific tasks)
 
 
=== Test questions for final assessment in this section ===
 
 
 
# How does DNS query get resolved in DNS?
 
# How does DNS query get resolved in DNS?
 
# How zones are formed?
 
# How zones are formed?
Line 237: Line 228:
 
# What is meant by zone walking and how is it avoided?
 
# What is meant by zone walking and how is it avoided?
 
# Why do we need DNSSEC where we can use simple DNS over HTTPS?
 
# Why do we need DNSSEC where we can use simple DNS over HTTPS?
  +
'''Section 3'''
 
=== Section 3 ===
 
 
=== Section title: ===
 
 
Email
 
 
=== Topics covered in this section: ===
 
 
* Email architecture
 
* Spam management
 
 
=== 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; 0<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 protocols used in email?
 
# What are the different agents used in email system?
 
# How to avoid spamming in email?
 
# How to configure email servers?
 
 
=== Typical questions for seminar classes (labs) within this section ===
 
 
# Configure email server
 
# Configure anti-spamming techniques
 
 
=== Test questions for final assessment in this section ===
 
 
 
# What are different agents and their roles in email architecture?
 
# What are different agents and their roles in email architecture?
 
# How MX records work?
 
# How MX records work?
 
# How to configure different anti-spamming policies?
 
# How to configure different anti-spamming policies?
  +
'''Section 4'''
  +
# As above
   
=== Section 4 ===
+
=== The retake exam ===
  +
'''Section 1'''
   
=== Section title: ===
+
'''Section 2'''
   
  +
'''Section 3'''
Directory, Web, Protocol, ABNF and Deflating
 
   
  +
'''Section 4'''
=== Topics covered in this section: ===
 
 
* Directory services
 
* Web
 
* Protocols
 
* ABNF
 
* Deflating
 
 
=== 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; 0<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 directory services are implemented?
 
# How permissions are set?
 
# How disk partitions are made?
 
# How different web protocols work?
 
# How network packets are management in a standard way through ABNF?
 
# How to write new formats through ABNF?
 
 
=== Typical questions for seminar classes (labs) within this section ===
 
 
# Implement different web services
 
# Configure active directory
 
 
=== Test questions for final assessment in this section ===
 
 
# As above
 

Latest revision as of 11:49, 29 August 2022

Classical Internet Applications

  • Course name: Classical Internet Applications
  • Code discipline: SNE-03
  • Subject area:

Short Description

This course covers the following concepts: Internet applications; Focus on the application layer of the TCP/IP protocol stack; Implementation, configuration, and security of Internet applications.

Prerequisites

Prerequisite subjects

  • The course will benefit if students already know some of the following topics: Basics of TCP/IP networks: TCP/IP stack, transport protocols, application layer protocols, IP addressing, OSI -7 layer model
  • Linux OS: architecture, system calls, ELF binary structure, networking and administration
  • Shell Scripting: ability to work with the terminal as administrator and automatise tasks

Prerequisite topics

Course Topics

Course Sections and Topics
Section Topics within the section
Booting, Operating Systems, and Computer Architecture
  1. Booting principles and disks
  2. Essentials of operating systems
  3. Fundamentals of computer architecture
DNS, DNSSEC, and DoH
  1. DNS
  2. DNSSEC
  3. DoH
Email
  1. Email architecture
  2. Spam management
Directory, Web, Protocol, ABNF and Deflating
  1. Directory services
  2. Web
  3. Protocols
  4. ABNF
  5. Deflating

Intended Learning Outcomes (ILOs)

What is the main purpose of this course?

CIA course serves as kick-start for the security and network engineering Masters program. Before diving into the depth of the topics, the students must know preliminary concepts related to computer networks services and applications therein. This course is designed to cover the basic services offered by the Internet including operating systems and computer architecture. The concepts from this course will be used throughout the course of whole masters. More precisely, this course will cover the basic computer architecture and assembly language programming, Domain Name Services (DNS), DNSSec, email, web, directories, and disks. This course will also cover protocols and ABNF. The theory part will strengthen the theoretical aspects of the concepts whereas the lab exercises will provide the students with the opportunity to have hands-on experience of the ideas they learnt in the lectures.

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 ...

  • Identify different Internet applications and understand their working principles from the protocols point of view
  • Demonstrate the acquired knowledge and skills in classical internet applications including DNS, Email, and Directory services.
  • Able to write regular expressions and context-free grammar that are essential in Internet applications and information exchange through the networks
  • Able to partition disks and remember the booting principles as well as secure booting

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 ...

  • Demonstrate knowledge and skills to use web services
  • Demonstrate the essential knowledge of disks and calculate particular locations/addresses in disks
  • Reason about problems in the current DNS and the need to upgrade to DNSSEC and DNS over HTTPS
  • Demonstrate the knowledge of email and other services configuration

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 ...

  • Install, Configure, update, and manage DNS services over a network
  • Configure, maintain, and update the secure DNS over a network
  • Update, add, and delete records in DNS
  • Configure a secure mail server and maintain it
  • Get hands-on experience of the afore-mentioned technologies on their own servers.

Grading

Course grading range

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

Course activities and grading breakdown

Activity Type Percentage of the overall course grade
Labs/seminar classes 20
Lab tasks assessment 40
Exams 40

Recommendations for students on how to succeed in the course

Resources, literature and reference materials

Open access resources

  • Lecture slides
  • RFCs
  • Link to the online material will be provided (if any)

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
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 What are the different steps in booting? 1
Question How the disks are partitioned? 1
Question Explain UEFI booting 1
Question Demonstrating the knowledge of booting 0
Question Analyze assembly code at a basic level 0
Question Demonstrate the system and library calls in operating systems 0

Section 2

Activity Type Content Is Graded?
Question Hows does DNS query get resolved? 1
Question What is iterative and recursive DNS server? 1
Question How does wildcard work in DNS? 1
Question What is zone walking in secure DNS? 1
Question What is delegation in DNS? 1
Question What is NSEC and NSEC3 records in DNSSEC? 1
Question What is the difference between DNSSEC and DoH? 1
Question Configure DNS, DNSSEC, and DoH (with specific tasks) 0

Section 3

Activity Type Content Is Graded?
Question What are different protocols used in email? 1
Question What are the different agents used in email system? 1
Question How to avoid spamming in email? 1
Question How to configure email servers? 1
Question Configure email server 0
Question Configure anti-spamming techniques 0

Section 4

Activity Type Content Is Graded?
Question How directory services are implemented? 1
Question How permissions are set? 1
Question How disk partitions are made? 1
Question How different web protocols work? 1
Question How network packets are management in a standard way through ABNF? 1
Question How to write new formats through ABNF? 1
Question Implement different web services 0
Question Configure active directory 0

Final assessment

Section 1

  1. Same as above

Section 2

  1. How does DNS query get resolved in DNS?
  2. How zones are formed?
  3. How delegation works in DNS?
  4. How resource records are verified in DNSSEC?
  5. What is meant by zone walking and how is it avoided?
  6. Why do we need DNSSEC where we can use simple DNS over HTTPS?

Section 3

  1. What are different agents and their roles in email architecture?
  2. How MX records work?
  3. How to configure different anti-spamming policies?

Section 4

  1. As above

The retake exam

Section 1

Section 2

Section 3

Section 4