From AI Tools as is: The 12 Agile Principles explain how Agile teams should work in practice. Your slides group them as Principles 1–6 and 7–12: early delivery, welcoming change, frequent delivery, daily business/developer cooperation, …
Kanban cadences are the regular meetings or feedback loops used in Kanban to manage flow, improve delivery, and remove blockers. Kanban does not require fixed sprints like Scrum. Instead, work flows continuously, and cadences help …
From AI Tools/ChatGPT as is: Key idea Scrum has formal events.XP has practices/activities more than formal events.Kanban has cadences/meetings, not required sprints.Agile itself is an umbrella approach, so it does not prescribe one fixed set …
Reflection: Reflection in Agile means the team regularly looks back at how the work went and decides how to improve. In Scrum, the formal event for reflection is the Sprint Retrospective. Sprint Retrospective as one …
Story points are related to time, but they are not the same as time. A story point is a relative estimate of the size of a user story. It considers: Factor Meaning Effort How much …
This command finds uninitialized disks and initializes them using the GPT partition style:
Get-Disk | Where PartitionStyle -eq "RAW" | Initialize-Disk -PartitionStyle GPT
Step-by-step explanation
1. Get-Disk
Get-Disk
Lists disks connected to the system.
It shows information such as:
Number
FriendlyName
OperationalStatus
Size
PartitionStyle
2. Where PartitionStyle -eq "RAW"
Where PartitionStyle -eq "RAW"
Filters only disks where the PartitionStyle is RAW.
RAW usually means:
The disk has not been initialized yet.
So PowerShell is looking for a new/unprepared disk.
3. Initialize-Disk -PartitionStyle GPT
Initialize-Disk -PartitionStyle GPT
Initializes the selected RAW disk and sets the partition style to GPT.
GPT means:
GUID Partition Table
GPT is the modern partitioning style and is recommended for most new systems. Your lab notes explain that GPT is more modern and reliable than MBR, supports many partitions, and supports disks larger than 2 TB.
Full meaning
Get-Disk | Where PartitionStyle -eq "RAW" | Initialize-Disk -PartitionStyle GPT
means:
Get all disks, find the disks that are not initialized, and initialize them using GPT.
Important warning
This command can affect disks. Students should run it only on a test VM disk, not on a real important disk.
Safer version:
Get-Disk | Where-Object PartitionStyle -eq "RAW"
First check which disk is RAW.
Then initialize a specific disk:
Initialize-Disk -Number 1 -PartitionStyle GPT
What comes after this?
Initializing the disk does not create a usable drive letter yet.
Format-Volume -DriveLetter E -FileSystem NTFS -NewFileSystemLabel "DataDisk"
Student comment
# This command finds disks with RAW partition style and initializes them as GPT.
# RAW means the disk is not initialized. GPT is the modern partition style.
Ref: AI/ChatGPT
It is a modern disk partitioning system used to organize partitions on a hard drive, SSD, or virtual disk.
In PowerShell disk management, you may see it here:
Get-Disk
Example output:
Number FriendlyName PartitionStyle
------ ------------ --------------
0 Virtual Disk GPT
1 Virtual Disk RAW
What GPT does
GPT tells the operating system:
where partitions start and end
how many partitions exist
what type each partition is
how the disk should be organized
Before a new disk can be used, it usually must be:
Initialized → Partitioned → Formatted
GPT is chosen during the Initialize stage.
GPT vs MBR
Feature
GPT
MBR
Meaning
GUID Partition Table
Master Boot Record
Age
Modern
Older
Max disk size
Very large disks
About 2 TB limit
Partition limit
Many partitions
Usually 4 primary partitions
Reliability
More reliable
More prone to corruption
Firmware
UEFI
Legacy BIOS
Recommended today
Yes
Only for old compatibility
Your lab notes explain that MBR is older, has a 2 TB disk size limit, and supports only a limited number of primary partitions, while GPT is modern, more reliable, and supports much larger disks.
What does RAW mean?
Before GPT is applied, a new disk may show:
PartitionStyle: RAW
RAW means:
The disk is not initialized yet.
So this command:
Get-Disk | Where PartitionStyle -eq "RAW" | Initialize-Disk -PartitionStyle GPT
means:
Find uninitialized disks and initialize them using GPT.
Important warning
Initializing, partitioning, or formatting the wrong disk can cause data loss.
Format-Volume -DriveLetter E -FileSystem NTFS -NewFileSystemLabel "DataDisk"
Simple classroom explanation
GPT is the modern way Windows organizes partitions on a disk. It replaces the older MBR system and is better for modern systems, larger disks, and UEFI-based computers.
Student comment:
# GPT stands for GUID Partition Table.
# It is the modern partition style used for initializing new disks.
# It is preferred over MBR because it supports larger disks and more partitions.
20 mixed quiz questions on Quoting and Control Statements.
Quiz: Quoting and Control Statements
True/False Questions
1. True/False
Double quotes prevent all shell interpretation, including variable substitution and command substitution.
Answer: False Explanation: Double quotes prevent some special character interpretation, but they still allow variable substitution and command substitution.
2. True/False
Single quotes prevent the shell from interpreting variables, command substitution, globs, and other metacharacters.
Answer: True
3. True/False
The backslash character can be used to remove the special meaning of a metacharacter.
Answer: True
4. True/False
The semicolon ; runs the next command only if the previous command succeeds.
Answer: False Explanation: The semicolon runs commands one after another, even if the previous command fails.
Multiple Choice Questions
5. Multiple Choice
Which command correctly assigns the value hello there to the variable var?
A.
var=hello there
B.
var = “hello there”
C.
var=”hello there”
D.
var=’hello’ there
Answer: C
6. Multiple Choice
What will the following command display?
var=hello
echo ‘$var’
A. hello B. $var C. var D. Nothing
Answer: B Explanation: Single quotes prevent variable substitution.
7. Multiple Choice
What does command substitution allow you to do?
A. Delete a command from history B. Run a command and use its output inside another command C. Convert a local variable into an environment variable D. Stop all special characters from working
Answer: B
8. Multiple Choice
Which control statement runs the next command only if the previous command succeeds?
A. ; B. && C. || D. \
Answer: B
Multi-Select Questions
9. Multi-Select
Which of the following are shell metacharacters or special characters mentioned or implied in this topic?
Select all that apply.
A. * B. ? C. Space D. && E. cat
Answers: A, B, C, D
10. Multi-Select
Which commands correctly use command substitution?
Select all that apply.
A.
echo Today is `date`
B.
echo Today is $(date)
C.
echo Today is date
D.
today=$(date)
echo “$today”
Answers: A, B, D
11. Multi-Select
Which statements about double quotes are correct?
Select all that apply.
A. They can keep words with spaces together B. They allow variable substitution C. They allow command substitution D. They prevent absolutely all shell interpretation E. They can help assign a value with spaces to a variable
Answers: A, B, C, E
12. Multi-Select
Which statements about control statements are correct?
Select all that apply.
A. ; runs commands one after another B. && runs the next command only if the previous command succeeds C. || runs the next command only if the previous command fails D. && always runs the second command E. || means command substitution
Answers: A, B, C
Fill in the Blank with Choices
13. Fill in the Blank
The command below uses __________ quotes.
echo “$var”
Choices: A. single B. double C. back D. no
Answer: B. double
14. Fill in the Blank
The symbol __________ is used as an escape character in the shell.
Choices: A. ; B. \ C. || D. &&
Answer: B. \
15. Fill in the Blank
The control statement __________ means logical OR.
Choices: A. ; B. && C. || D. $()
Answer: C. ||
Matching Questions
16. Matching
Match each quoting method with its purpose.
Quoting Method
Purpose
1. Double quotes ” “
A. Prevent almost all shell interpretation
2. Single quotes ‘ ‘
B. Escape one special character
3. Backslash \
C. Allow variables and command substitution while grouping text
4. Backquotes ` `
D. Perform command substitution
Answer:
Quoting Method
Correct Purpose
Double quotes ” “
C
Single quotes ‘ ‘
A
Backslash \
B
Backquotes ` `
D
17. Matching
Match each control statement with its meaning.
Control Statement
Meaning
1. ;
A. Run next command only if previous command fails
2. &&
B. Run commands one after another
3. `
Answer:
Control Statement
Correct Meaning
;
B
&&
C
`
Ordering Questions
18. Ordering
Put the steps in the correct order to create a variable with spaces and display it.
A. Display the variable using echo “$var” B. Use double quotes around the value C. Assign the value using var=”hello there”
Correct Order:
B
C
A
Final Commands:
var=”hello there”
echo “$var”
19. Ordering
Put the commands in the correct order to test whether /home exists and print success or failure.
A.
echo failure
B.
ls /home
C.
echo success
D.
&&
E.
||
Correct Order:
B
D
C
E
A
Final Command:
ls /home && echo success || echo failure
Short Answer / Higher-Order Questions
20. Short Answer
A student writes the following command and gets an error:
var=hello there
Explain why this happens and write the corrected command.
Sample Answer: The shell treats the space as a separator. It reads var=hello as one part and there as another command or statement. Since there is not a valid command, an error occurs.
Correct command:
var=”hello there”
The double quotes keep hello there together as one value.
30 mixed quiz questions on Linux Command Line Skills. They include TF, MCQ, Multi-select, Matching, Ordering, Fill in the Blank with Choices, and Short Answer questions, testing concept knowledge, hands-on command skills, analysis, and higher-order thinking.
Quiz: Command Line Skills
True/False Questions
1. True/False
The command line interface is slower than the GUI and provides less control over the operating system.
Answer: False Explanation: The CLI is powerful, fast, and gives users strong control over the system.
2. True/False
A shell is an application that allows users to access operating system services by entering commands.
Answer: True
3. True/False
Bash is one of the most commonly used shells in Linux.
Answer: True
4. True/False
Local variables remain available even after the terminal window or shell is closed.
Answer: False Explanation: Local variables exist only in the current shell session.
5. True/False
The PATH environment variable helps the shell find executable files for commands.
Answer: True
Multiple Choice Questions
6. Multiple Choice
Which of the following best describes the CLI?
A. A graphical interface that uses icons and menus B. A text-based interface where users type commands C. A file manager only D. A web browser interface
Answer: B
7. Multiple Choice
In the prompt below, what does ~ usually represent?
ivanovn@atlas:~$
A. The root directory B. The current user’s home directory C. The system name D. The command history file
Answer: B
8. Multiple Choice
In the command below, what is /home?
ls /home
A. Command B. Option C. Argument D. Variable
Answer: C
9. Multiple Choice
In the command below, what is -l?
ls -l
A. Argument B. Option C. Shell name D. Environment variable
Answer: B
10. Multiple Choice
Which command shows the list of previously typed commands?
A. which B. type C. history D. alias
Answer: C
11. Multiple Choice
Which command shows the executable file that will run when a command is typed?
A. which B. unset C. export D. history
Answer: A
Example:
which ls
12. Multiple Choice
Which command can identify whether a command is internal, external, alias, or function?
A. pwd B. type C. env D. echo
Answer: B
Multi-Select Questions
13. Multi-Select
Which of the following are popular Bash shell features?
Select all that apply.
A. Command history B. Inline editing C. Scripting D. Aliases E. Variables F. Automatic hardware replacement
Answers: A, B, C, D, E
14. Multi-Select
Which of the following are valid parts of a typical Linux command format?
Select all that apply.
A. Command B. Options C. Arguments D. Wallpaper E. Keyboard layout only
Answers: A, B, C
General format:
command [options]… [arguments]…
15. Multi-Select
Which commands are examples of shell built-in/internal commands mentioned in the module?
Select all that apply.
A. cd B. echo C. /bin/ls D. /usr/bin/cal
Answers: A, B
16. Multi-Select
Which statements about environment variables are correct?
Select all that apply.
A. They help control the Linux runtime environment B. They are also called global variables C. Examples include PATH, HOME, and HISTSIZE D. They can never be displayed E. The env command can list them
Answers: A, B, C, E
17. Multi-Select
Which commands are related to aliases?
Select all that apply.
A. alias B. unalias C. type D. history E. format
Answers: A, B, C
Explanation: alias displays or creates aliases. unalias removes aliases. type can identify whether a command is an alias.
Fill in the Blank with Choices
18. Fill in the Blank
A command is a program that performs an __________ on the computer.
Choices: A. icon B. action C. extension D. theme
Answer: B. action
19. Fill in the Blank
The most commonly used shell in Linux is __________.
Choices: A. Bash B. Finder C. Explorer D. Android
Answer: A. Bash
20. Fill in the Blank
The command __________ is used to turn a local variable into an environment variable.
Choices: A. unset B. export C. which D. history
Answer: B. export
21. Fill in the Blank
The command __________ removes a variable.
Choices: A. unset B. alias C. which D. type
Answer: A. unset
Matching Questions
22. Matching
Match each term with its correct description.
Term
Description
1. CLI
A. Program that processes commands
2. Terminal
B. Text-based interface for typing commands
3. Shell
C. Program that runs a shell
4. Bash
D. Common Linux shell
Answer:
Term
Correct Description
CLI
B
Terminal
C
Shell
A
Bash
D
23. Matching
Match each command with its purpose.
Command
Purpose
1. history
A. Shows the path of an executable command
2. which
B. Shows command history
3. env
C. Lists environment variables
4. unset
D. Removes a variable
5. export
E. Converts a local variable into an environment variable
Answer:
Command
Correct Purpose
history
B
which
A
env
C
unset
D
export
E
24. Matching
Match each command type with its correct meaning.
Command Type
Meaning
1. Internal command
A. Short name for a longer command
2. External command
B. Command built into the shell
3. Alias
C. Command stored as an executable file
4. Function
D. Structure used to create or change command behavior
Answer:
Command Type
Correct Meaning
Internal command
B
External command
C
Alias
A
Function
D
Ordering Questions
25. Ordering
Put the steps in the correct order to create and display a local variable.
A. Display the value using echo $var B. Assign the value using var=Hello C. Open or use a shell
Correct Order:
C
B
A
Final Commands:
var=Hello
echo $var
26. Ordering
Put the steps in the correct order to make a local variable available as an environment variable and confirm it.
A. Use env | grep var B. Create the variable using var=Hello C. Export the variable using export var
Correct Order:
B
C
A
Final Commands:
var=Hello
export var
env | grep var
27. Ordering
Put the steps in the correct order to create, test, and remove an alias.
A. Run the alias name B. Create the alias C. Remove the alias using unalias D. Check the alias using type
Correct Order:
B
D
A
C
Example:
alias mydate=’cal 7 2000′
type mydate
mydate
unalias mydate
Short Answer Questions
28. Short Answer
Explain the difference between an option and an argument. Give one example command.
Sample Answer: An option modifies the behavior of a command. An argument gives the command additional information, such as a file or directory name.
Example:
ls -l /home
In this command, -l is the option and /home is the argument.
29. Short Answer / Hands-on
Write the command to create a local variable named course with the value Linux, then display the value.
Answer:
course=Linux
echo $course
30. Higher-Order Short Answer
A student types cal, but the shell returns:
command not found
Using your knowledge of external commands and the PATH variable, explain two possible reasons this happened and one command that can help investigate the problem.
Sample Answer: One possible reason is that the cal program is not installed. Another possible reason is that the executable file exists, but its directory is not listed in the PATH variable. The shell searches the directories listed in PATH to find external commands.
A useful command is:
which cal
The student can also check the PATH variable using:
Below are 20 mixed quiz questionsIntro to Linux. They include TF, MCQ, Multi-select, Matching, Ordering, Fill in the Blank, and Short Answer questions, with concept, hands-on, analytical, and higher-order learning coverage.
Quiz: Introduction to Linux
1. True/False
Linux is only used on desktop computers.
Answer: False Explanation: Linux is used in many areas, including servers, cloud systems, supercomputers, embedded systems, Android, and specialized hardware.
2. True/False
The Linux kernel is the central controller of the operating system and manages hardware and software resources.
Answer: True
3. Multiple Choice
Which person started Linux development in 1991?
A. Richard Stallman B. Linus Torvalds C. Bill Gates D. Steve Jobs
Answer: B. Linus Torvalds
4. Multiple Choice
What is the main role of the kernel?
A. To browse the internet B. To manage hardware and software resources C. To create documents D. To replace all applications
Answer: B. To manage hardware and software resources
5. Multi-Select
Which of the following are examples of tasks managed by the kernel?
Select all that apply.
A. Managing memory B. Starting and stopping processes C. Handling multitasking D. Scheduling CPU and disk resources E. Writing emails directly for the user
Answers: A, B, C, D
6. Short Answer
Explain the difference between Linux and GNU/Linux.
Sample Answer: Linux technically refers to the kernel, which is the core of the operating system. GNU/Linux refers to a complete operating system that combines the Linux kernel with GNU tools and other software.
7. Fill in the Blank with Choices
A Linux __________ is a collection of software bundled together, including the Linux kernel, GNU tools, applications, package manager, and installer.
Choices: A. shell B. distribution C. terminal D. process
Answer: B. distribution
8. Multiple Choice
Which of the following best describes open source software?
A. Software that cannot be modified B. Software where users can access and modify the source code C. Software that only runs on Windows D. Software that is always expensive
Answer: B. Software where users can access and modify the source code
9. Matching
Match each term with its correct description.
Term
Description
1. Kernel
A. A program that processes commands
2. Terminal
B. The central controller of the operating system
3. Shell
C. A program that runs a shell
4. Distribution
D. A complete software collection built around Linux
Answer:
Term
Correct Description
Kernel
B
Terminal
C
Shell
A
Distribution
D
10. Ordering
Put the following events in the correct historical order.
A. Linux development started as a hobby project B. GNU Project was announced C. UNIX was developed at AT&T Bell Labs D. GNU tools were combined with the Linux kernel to create a complete operating system
Correct Order:
C. UNIX was developed at AT&T Bell Labs
B. GNU Project was announced
A. Linux development started as a hobby project
D. GNU tools were combined with the Linux kernel
11. Multi-Select
Which of the following are examples of major operating systems?
Select all that apply.
A. Microsoft Windows B. Apple macOS C. Linux D. Bash E. Firefox
Answers: A, B, C
12. Multiple Choice
Which interface is text-based and mainly relies on keyboard input?
A. GUI B. CLI C. Web browser D. Package manager
Answer: B. CLI
13. Short Answer
Compare GUI and CLI.
Sample Answer: A GUI uses windows, menus, icons, and graphical tools to interact with the operating system. A CLI is text-based and allows users to type commands using the keyboard.
14. Analytical Multiple Choice
A company needs a stable Linux system for long-term server use and paid support. Which type of distribution is most suitable?
A. A testing desktop distribution B. A commercial enterprise server distribution C. A gaming-focused distribution D. A hobby experimental distribution
Answer: B. A commercial enterprise server distribution
15. Multi-Select
Which factors should be considered when choosing a Linux distribution?
Select all that apply.
A. Role or purpose of the system B. Required features and security C. Life cycle and support period D. Stability level E. The colour of the desktop wallpaper only
Answers: A, B, C, D
16. Matching
Match each Linux distribution family or example with its description.
Distribution / Family
Description
1. Red Hat Enterprise Linux
A. Community distribution that promotes open source software
2. Fedora
B. Commercial and stable server-focused distribution
3. Debian
C. Free and open source personal desktop OS sponsored by Red Hat
4. Ubuntu
D. Popular Debian-derived distribution
Answer:
Distribution / Family
Correct Description
Red Hat Enterprise Linux
B
Fedora
C
Debian
A
Ubuntu
D
17. Fill in the Blank with Choices
Debian-based distributions usually use packages ending with the __________ extension.
Choices: A. .rpm B. .deb C. .exe D. .zip
Answer: B. .deb
18. Multiple Choice
Which package management system is commonly associated with Red Hat, CentOS, and Fedora?
A. Debian package management B. RPM package management C. Android package management D. macOS package management
Answer: B. RPM package management
19. Hands-on / Command Awareness Question
A student is using Ubuntu and wants to install or update software. Which tools are commonly associated with Debian-based package management?
A. dpkg, apt-get, aptitude B. rpm, yum, zypper C. cmd, PowerShell, Registry Editor D. Finder, Safari, App Store only
Answer: A. dpkg, apt-get, aptitude
20. Higher-Order Short Answer
A school wants to teach Linux to beginners. Should they focus only on the GUI, only on the CLI, or both? Explain your answer.
Sample Answer: They should teach both. The GUI helps beginners interact with the system more easily using windows and menus. The CLI is also important because Linux administration, troubleshooting, server management, package management, and automation often require commands. Learning both gives students a stronger understanding of Linux.
Below is a blog-ready, copyright-free, plagiarism-free article on the ABC LD Toolkit and Arena Blended Connected (ABC) Learning Design, written in a clear, professional, and accessible tone.
ABC Learning Design: A Practical Guide to the Arena Blended Connected (ABC) Toolkit
Designing an engaging course is no longer about simply selecting content and sequencing topics. Today’s learners expect active participation, meaningful tasks, and an experience that blends digital and face-to-face learning in a seamless way. The ABC Learning Design Toolkit, also known as the Arena Blended Connected (ABC) Learning Design model, has become one of the most practical and widely adopted frameworks for educators who need a fast, collaborative, and highly visual approach to course design.
Whether you’re building a new course from scratch or redesigning an existing one, the ABC LD Toolkit provides a structured way to align learning outcomes, activities, and assessments—while keeping students at the heart of the design.
What Is ABC Learning Design?
ABC Learning Design is a rapid, co-design method originally developed at University College London (UCL). The goal is simple:
Help educators design engaging, blended learning experiences in 90 minutes.
It uses a storytelling approach, visual activity cards, and collaborative design steps to map out an entire module or course. The focus is on how students learn rather than just what teachers teach.
ABC is built on Professor Diana Laurillard’s Conversational Framework, which emphasizes learning as an active, iterative dialogue between learners, teachers, peers, and the learning environment.
The “Arena Blended Connected” Approach
ABC stands for:
Arena – a structured workshop environment (in-person or online)
Blended – combining digital and face-to-face elements
Connected – linking learning outcomes, activities, and assessments into a coherent journey
This approach helps curriculum teams work together—sometimes for the first time—to make design decisions visually and quickly.
How the Toolkit Works
The ABC LD Toolkit relies on six types of learning activities, each represented by a colour-coded activity card. These categories help instructors create a balanced, student-centred learning experience.
1. Acquisition (Read, Watch, Listen)
Students absorb content through readings, videos, demonstrations, or lectures. Common examples: textbook chapters, micro-lectures, podcasts.
These categories help instructors avoid over-reliance on lectures and ensure that students engage through multiple pathways—a key component of active learning and Universal Design for Learning (UDL).
The ABC Course Design Process
ABC Learning Design is typically done in a short but intensive workshop, usually 60–90 minutes. The process includes:
Step 1: Define the Learning Outcomes
Participants agree on the overall learning outcomes for the course or module.
Step 2: Map the Learning Journey
Using the activity cards, instructors design the sequence of learning events, week-by-week or unit-by-unit.
Step 3: Balance Online and In-Person Learning
For blended or hybrid courses, the toolkit helps ensure that each activity uses the right modality.
Step 4: Align Assessments
The team identifies formative and summative assessments and links them directly to outcomes and activities.
Step 5: Create the Learning Storyboard
The final output is a visual storyboard showing the entire course, making it easy to identify gaps, overload, or opportunities for improvement.
Step 6: Translate into the LMS
Once the design is approved, the storyboard becomes the blueprint for building the course in platforms like Blackboard, Brightspace, Moodle, or Canvas.
Why Educators Love the ABC LD Toolkit
✔ Fast and collaborative
Design that would normally take weeks can be completed in an afternoon.
✔ Clear alignment between outcomes, activities, and assessments
It prevents “content dumping” and supports purposeful, high-quality learning.
✔ Encourages active learning
The toolkit helps instructors shift from passive lecture-heavy teaching to interactive, student-centred learning.
✔ Supports blended, hybrid, and online learning
Perfect for modern post-secondary environments where digital learning is standard.
✔ Visual and engaging
The card-based design makes the process tangible and easy to follow—even for instructors with little instructional design experience.
The Role of ABC in Higher Education Today
Many colleges and polytechnics—including those in Canada—are adopting ABC LD as part of their curriculum renewal and digital learning strategies. It brings academic program managers, instructors, designers, and support teams together to build courses that are consistent, accessible, and aligned with institutional standards.
ABC is especially powerful when paired with:
Quality assurance frameworks
Course mapping
Competency-based learning
UDL and EDI principles
Learning analytics
The result is a teaching and learning environment that supports clarity, consistency, and student success.
Final Thoughts
The ABC Learning Design Toolkit is more than just an instructional design method—it is a collaborative philosophy that puts students at the centre of the learning experience. By simplifying course design and encouraging active learning, ABC helps educators create meaningful, blended learning environments that are engaging, efficient, and academically sound.
For instructors, program leaders, and institutions looking to modernize teaching practices, ABC LD offers a proven, practical, and accessible framework that can transform how courses are built and delivered.
Below is a 30–40 minute SMTP lesson plan suitable for college-level networking courses . It includes: purpose, tools, installations, commands, protocol operations, Telnet interaction, data formats, and references to typical Wireshark visuals (without reproducing copyrighted images).
📘 SMTP Lesson Plan (30–40 Minutes)
Topic: Simple Mail Transfer Protocol (SMTP) Audience: Networking / IT Students Goal: Understand SMTP purpose, workflow, commands, install & test SMTP on Ubuntu, and observe the protocol using Telnet & Wireshark.
1. Introduction (3–5 minutes)
What is SMTP?
SMTP = Simple Mail Transfer Protocol
Purpose: Transfers email from client → server → another server
Operates at Application Layer (Layer 7)
Uses TCP port:
25 (server-to-server)
587 (submission with TLS)
465 (legacy SSL)
When SMTP is used
Sending email from a mail client (like Thunderbird, Outlook).
SMTP uses simple ASCII-based commands. You can refer to standard diagrams online (e.g., RFC 5321 command flow), which show:
Client → Server commands Server → Client status codes
Common SMTP Commands
Command
Purpose
HELO / EHLO
Identify client (EHLO supports extensions).
MAIL FROM:
Sender envelope address.
RCPT TO:
Recipient address.
DATA
Begins message content.
QUIT
Close connection.
RSET
Reset session.
VRFY
Verify user existence (often disabled).
Common SMTP Status Codes
Code
Meaning
220
Server ready
250
OK
354
Start message input
421
Service unavailable
550
Mailbox unavailable
551
User not local
552–554
Message rejected
Reference: Online SMTP diagrams typically show a vertical message exchange: client commands on left, server replies on right, with arrows showing flow.
5. SMTP Workflow (4 minutes)
Step-by-Step Exchange
Client connects to port 25 → Server replies 220
HELO/EHLO → Server lists capabilities
MAIL FROM: → Server responds 250 OK
RCPT TO: → Server responds 250 OK
DATA → Server responds 354 End with <CRLF>.<CRLF>
Message body sent → End message with a single dot .
QUIT
This is the “Envelope + Content” model.
6. Hands-On SMTP via Telnet (8 minutes)
Connect to the local SMTP server
telnet localhost 25
Sample Full Exchange
Connected to localhost.
220 mail.yourdomain.test ESMTP Postfix
EHLO client.test
250-mail.yourdomain.test
250-PIPELINING
250-SIZE 10240000
250-STARTTLS
250-ENHANCEDSTATUSCODES
250 8BITMIME
MAIL FROM:<alice@client.test>
250 2.1.0 Ok
RCPT TO:<bob@server.test>
250 2.1.5 Ok
DATA
354 End data with <CR><LF>.<CR><LF>
Subject: Test Email
From: alice@client.test
To: bob@server.test
Hello Bob,
This is a test sent via raw SMTP.
.
250 2.0.0 Ok: queued as XYZ123
QUIT
221 2.0.0 Bye
What Students Should Notice
Interaction is plain-text, line-based.
Email has:
Headers (Subject, From, To)
Blank line
Body
Ending with . terminates DATA mode.
7. Listing Mails in the Queue (Postfix) (2 minutes)
Show queue
mailq
Remove queue
sudo postsuper -d ALL
8. SMTP Message Format (3 minutes)
Students can search for diagrams of:
SMTP envelope vs. email headers
RFC 5322 message structure
Typical Email Format
MAIL FROM: <sender@example.com> ← Envelope
RCPT TO: <receiver@example.com> ← Envelope
--- Data Section ---
Subject: Meeting Tomorrow
From: Sender <sender@example.com>
To: Receiver <receiver@example.com>
Date: Tue, 02 Dec 2025 13:15:00 -0500
Hello,
This is the body of the message.
Key concepts:
Envelope addresses ≠ Header addresses
Headers follow strict ASCII formatting
Blank line separates headers from body
9. Analyzing SMTP Traffic in Wireshark (5 minutes)
Tell students to search: “Wireshark SMTP packet details” images These images typically show:
What Wireshark Displays
TCP handshake (SYN, SYN-ACK, ACK)
SMTP commands as text under Application Layer
Status codes (220, 250, 354)
DATA block containing header fields and message body
Filters
tcp.port == 25
smtp
Things to point out
Application Layer tree expands to show each command.
DATA section shows full email contents.
No encryption on port 25 → Wireshark can see everything.
Students will notice:
How HELO/EHLO appears as plain text.
How the message body is captured.
How multiple packets represent a single message transfer.
10. Wrap-Up (2 minutes)
Key Takeaways
SMTP is the primary protocol for sending emails.
Simple plaintext command/response system.
Postfix provides a working SMTP server for labs.
Telnet allows manual testing.
Wireshark reveals how SMTP messages appear on the wire.
Optional Homework / Lab
Capture an SMTP session with Wireshark.
Send mail using sendmail or mail command.
Configure SMTP over TLS (STARTTLS).
Below is (1) a clean, professional ASCII diagram of the full SMTP flow, and (2) a fully structured SMTP Lab Assignment with step-by-step tasks for students. Everything is original, copyright-free
📘 1. Full SMTP Flow Diagram (ASCII)
This diagram shows the complete sequence between Mail User Agent (MUA), Mail Submission Agent (MSA), Mail Transfer Agent (MTA), and Mail Delivery Agent (MDA).
+------------------+
| User Client |
| (MUA: Thunderbird,
| Outlook, etc.)|
+--------+---------+
|
| SMTP Submission (Port 587)
v
+------------------+
| MSA (Postfix) |
| Mail Submission |
+--------+---------+
|
| SMTP Relay (Port 25)
v
----------------------------------------------------------------
| Internet (Multiple MTAs) |
| |
| +------------------+ +------------------+ |
| | MTA #1 | ---> | MTA #2 | ---> ... |
| | Mail Transfer | | Mail Transfer | |
| +------------------+ +------------------+ |
----------------------------------------------------------------
|
| SMTP Delivery (Port 25)
v
+------------------+
| MDA (Local Mail |
| Delivery Agent) |
| e.g., Dovecot |
+--------+---------+
|
| Stores message
v
+------------------+
| User Mailbox |
+------------------+
|
| IMAP/POP Retrieval
v
+------------------+
| Recipient MUA |
+------------------+
SMTP Command/Response Flow Between Client & Server
Client → 220 Server Ready
Client → EHLO client.example
Server → 250-Server features
Client → MAIL FROM:<alice@example.com>
Server → 250 OK
Client → RCPT TO:<bob@example.com>
Server → 250 OK
Client → DATA
Server → 354 End with <CRLF>.<CRLF>
Client → (headers + message body)
Client → .
Server → 250 Message Queued
Client → QUIT
Server → 221 Goodbye
📘 2. Full SMTP Lab Assignment (Step-By-Step)
Lab Duration: 45–60 minutes Environment: Ubuntu Server + GNS3 VM or physical system Learning Outcomes:
Install and configure SMTP (Postfix)
Perform SMTP transactions using Telnet
Analyze SMTP packets using Wireshark
Understand envelope vs. header processing
Observe mail queue behavior
🔧 Part 1 — Setup (10 minutes)
1. Update System
sudo apt update
2. Install Postfix
sudo apt install postfix
During setup:
Select: Internet Site
System mail name: labmail.test
3. Confirm Postfix is Running
sudo systemctl status postfix
4. Verify Port 25 Listening
sudo ss -tlnp | grep 25
📡 Part 2 — Manual SMTP Interaction (15–20 minutes)
You will manually simulate an email client by using Telnet to speak SMTP commands to the server.
From AI Tools/ChatGPT as is: Key idea Scrum has formal events.XP has practices/activities more than formal events.Kanban has cadences/meetings, not ...