Explain: Get-Process | Select Name,Id,CPU | Sort CPU -Descending

This command shows running processes with selected columns and sorts them by CPU usage/time.

Get-Process | Select Name,Id,CPU | Sort CPU -Descending

Meaning step by step

1. Get-Process

Get-Process

Gets all running processes on the computer.


2. Pipeline |

|

Passes the process objects to the next command.


3. Select Name,Id,CPU

Select Name,Id,CPU

Short form of:

Select-Object Name, Id, CPU

It displays only these properties:

PropertyMeaning
NameProcess name
IdProcess ID
CPUTotal CPU seconds used by the process

4. Sort CPU -Descending

Sort CPU -Descending

Short form of:

Sort-Object CPU -Descending

It sorts the output by CPU from highest to lowest.


Full meaning

Get-Process | Select Name,Id,CPU | Sort CPU -Descending

means:

Get all running processes, show only Name, Id, and CPU, then sort them from highest CPU time to lowest CPU time.

Better formal version

Get-Process |
Select-Object Name, Id, CPU |
Sort-Object CPU -Descending

Student comment

# This command lists running processes, selects only the Name, Id, and CPU properties,
# and sorts the results by CPU usage in descending order.

Ref: AI Tools/ChatGPT

write-output vs write-host

Write-Output vs Write-Host in PowerShell

FeatureWrite-OutputWrite-Host
Sends data to pipeline✅ Yes❌ No
Can be stored in variable✅ Yes❌ Usually no
Can be redirected to file✅ Yes❌ Not normally useful
Used for script output✅ Recommended⚠️ Mainly for display messages
Supports formatting/colorLimited✅ Good for colors

1. Write-Output

Write-Output sends data to the PowerShell pipeline.

Write-Output "Hello PowerShell"

You can store it:

$result = Write-Output "Hello PowerShell"
$result

You can pipe it:

Write-Output "Hello PowerShell" | Get-Member

You can redirect it:

Write-Output "Hello PowerShell" > C:\Temp\output.txt

Use Write-Output when the data may need to be reused, filtered, piped, stored, or exported.


2. Write-Host

Write-Host writes directly to the screen/console.

Write-Host "Hello PowerShell"

It is useful for colored messages:

Write-Host "Success" -ForegroundColor Green
Write-Host "Warning" -ForegroundColor Yellow
Write-Host "Error" -ForegroundColor Red

But it does not send normal output to the pipeline.

Example:

$result = Write-Host "Hello PowerShell"
$result

$result will not contain "Hello PowerShell".


Main Difference

Write-Output "Data"

means:

Send this data forward in the pipeline.

Write-Host "Message"

means:

Show this message on the screen.


Teaching Example

Write-Output "notepad" | Get-Process

This can work because "notepad" is passed through the pipeline.

But:

Write-Host "notepad" | Get-Process

will not work the same way because Write-Host only prints to the screen.


Best Practice

Use:

Write-Output

for real script output.

Use:

Write-Host

for user-friendly messages, colors, headings, or progress-style display.

Example:

Write-Host "Checking services..." -ForegroundColor Cyan
Get-Service | Where-Object Status -eq "Running"

REF: AI Tools/ChatGPT

Power Shell: explain: Get-Disk | Where PartitionStyle -eq “RAW” | Initialize-Disk -PartitionStyle GPT

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.

Usually the next steps are:

New-Partition -DiskNumber 1 -UseMaximumSize -AssignDriveLetter

Then format it:

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

GPT in PowerShell

Ref: AI Tool/ChatGPT

GPT in Disk Management

GPT means GUID Partition Table.

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

FeatureGPTMBR
MeaningGUID Partition TableMaster Boot Record
AgeModernOlder
Max disk sizeVery large disksAbout 2 TB limit
Partition limitMany partitionsUsually 4 primary partitions
ReliabilityMore reliableMore prone to corruption
FirmwareUEFILegacy BIOS
Recommended todayYesOnly 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.

Before running disk commands, always check:

Get-Disk

Then identify the correct disk number.

Safer version:

Get-Disk | Where-Object PartitionStyle -eq "RAW"

Then initialize only the correct disk:

Initialize-Disk -Number 1 -PartitionStyle GPT

Full GPT disk setup example

Step 1: Find RAW disk

Get-Disk | Where-Object PartitionStyle -eq "RAW"

Step 2: Initialize disk as GPT

Initialize-Disk -Number 1 -PartitionStyle GPT

Step 3: Create a new partition

New-Partition -DiskNumber 1 -UseMaximumSize -AssignDriveLetter

Step 4: Format the volume

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.

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 MethodPurpose
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 MethodCorrect Purpose
Double quotes ” “C
Single quotes ‘ ‘A
Backslash \B
Backquotes ` `D

17. Matching

Match each control statement with its meaning.

Control StatementMeaning
1. ;A. Run next command only if previous command fails
2. &&B. Run commands one after another
3. `

Answer:

Control StatementCorrect 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:

  1. B
  2. C
  3. 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:

  1. B
  2. D
  3. C
  4. E
  5. 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

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.

TermDescription
1. CLIA. Program that processes commands
2. TerminalB. Text-based interface for typing commands
3. ShellC. Program that runs a shell
4. BashD. Common Linux shell

Answer:

TermCorrect Description
CLIB
TerminalC
ShellA
BashD

23. Matching

Match each command with its purpose.

CommandPurpose
1. historyA. Shows the path of an executable command
2. whichB. Shows command history
3. envC. Lists environment variables
4. unsetD. Removes a variable
5. exportE. Converts a local variable into an environment variable

Answer:

CommandCorrect Purpose
historyB
whichA
envC
unsetD
exportE

24. Matching

Match each command type with its correct meaning.

Command TypeMeaning
1. Internal commandA. Short name for a longer command
2. External commandB. Command built into the shell
3. AliasC. Command stored as an executable file
4. FunctionD. Structure used to create or change command behavior

Answer:

Command TypeCorrect Meaning
Internal commandB
External commandC
AliasA
FunctionD

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:

  1. C
  2. B
  3. 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:

  1. B
  2. C
  3. 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:

  1. B
  2. D
  3. A
  4. 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:

echo $PATH

REF: AI Tools

20 mixed quiz questions Intro to Linux

Below are 20 mixed quiz questions Intro 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.

TermDescription
1. KernelA. A program that processes commands
2. TerminalB. The central controller of the operating system
3. ShellC. A program that runs a shell
4. DistributionD. A complete software collection built around Linux

Answer:

TermCorrect Description
KernelB
TerminalC
ShellA
DistributionD

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:

  1. C. UNIX was developed at AT&T Bell Labs
  2. B. GNU Project was announced
  3. A. Linux development started as a hobby project
  4. 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 / FamilyDescription
1. Red Hat Enterprise LinuxA. Community distribution that promotes open source software
2. FedoraB. Commercial and stable server-focused distribution
3. DebianC. Free and open source personal desktop OS sponsored by Red Hat
4. UbuntuD. Popular Debian-derived distribution

Answer:

Distribution / FamilyCorrect Description
Red Hat Enterprise LinuxB
FedoraC
DebianA
UbuntuD

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.

REF: AI Tools

man vs info vs help

Ref: Internet/AI Tools

ABC Learning Design: A Practical Guide to the Arena Blended Connected (ABC) Toolkit

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.

2. Discussion

Learners exchange ideas, debate concepts, and collaborate.
Examples: forums, breakout groups, peer feedback.

3. Practice

Students try out skills in realistic, authentic contexts.
Examples: coding exercises, simulations, case studies.

4. Investigation

Learners explore, research, or analyze information on their own.
Examples: data analysis tasks, research activities, inquiry-based learning.

5. Collaboration

Students work together to create something or solve a problem.
Examples: group projects, team case studies, collaborative documents.

6. Production

Learners generate output that demonstrates understanding.
Examples: presentations, reports, multimedia artifacts, code submissions.

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.


SMTP: Purpose, Installation, Steps, Data Format

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).
  • Relaying mail between mail servers.
  • Transporting server-generated notifications (cron, monitoring).

2. Tools Required (1–2 minutes)

ToolPurpose
Ubuntu ServerInstall and run SMTP daemon (Postfix).
Telnet or NetcatManual SMTP interaction.
WiresharkCapture & analyze SMTP packets.
DNS Tools (dig/nslookup)Check MX records for mail routing.

3. Ubuntu Setup (5 minutes)

Install Postfix SMTP Server

sudo apt update
sudo apt install postfix

When prompted:

  • Select Internet Site
  • System mail name: yourdomain.test (or localhost)

Check Postfix Status

sudo systemctl status postfix

Check SMTP is listening

sudo ss -tlnp | grep 25

Log file for debugging

sudo tail -f /var/log/mail.log

4. SMTP Protocol Basics (5 minutes)

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

CommandPurpose
HELO / EHLOIdentify client (EHLO supports extensions).
MAIL FROM:Sender envelope address.
RCPT TO:Recipient address.
DATABegins message content.
QUITClose connection.
RSETReset session.
VRFYVerify user existence (often disabled).

Common SMTP Status Codes

CodeMeaning
220Server ready
250OK
354Start message input
421Service unavailable
550Mailbox unavailable
551User not local
552–554Message 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

  1. Client connects to port 25
    → Server replies 220
  2. HELO/EHLO
    → Server lists capabilities
  3. MAIL FROM:
    → Server responds 250 OK
  4. RCPT TO:
    → Server responds 250 OK
  5. DATA
    → Server responds 354 End with <CRLF>.<CRLF>
  6. Message body sent
    → End message with a single dot .
  7. 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.

1. Install telnet

sudo apt install telnet

2. Connect to SMTP

telnet localhost 25

You should see:

220 labmail.test ESMTP Postfix

3. Identify Yourself

EHLO student.test

Expected:

250-labmail.test
250-PIPELINING
250-SIZE 10240000
250-STARTTLS
250 8BITMIME

4. Start Sending an Email

MAIL FROM:<alice@student.test>
250 OK

RCPT TO:<bob@student.test>
250 OK

5. Enter DATA Mode

DATA
354 End data with <CRLF>.<CRLF>

6. Type Message

Subject: Lab SMTP Test
From: Alice <alice@student.test>
To: Bob <bob@student.test>

Hello Bob,
This is a test email sent manually using SMTP.
.

Server should reply:

250 OK: queued as ABC123

7. Quit

QUIT
221 Bye

📬 Part 3 — Inspect the Queue (5 minutes)

1. View Mail Queue

mailq

2. View logs

sudo tail -f /var/log/mail.log

3. Clear Queue (optional)

sudo postsuper -d ALL

🔍 Part 4 — SMTP Packet Analysis with Wireshark (10–15 minutes)

1. Start Wireshark

Use interface: lo (loopback) or eth0 depending on lab setup.

2. Apply Filters

SMTP filter:

smtp

Or:

tcp.port == 25

3. Repeat the Telnet SMTP Steps

Wireshark will show:

  • TCP handshake
  • Plain-text SMTP commands
  • EHLO, MAIL, RCPT, DATA
  • The entire message body, including headers and content
    (good demonstration of SMTP being unencrypted).

4. Students Should Identify:

  • SMTP status codes
  • Envelope commands
  • Message headers (Subject, From, To)
  • Body block ending with .
  • Server replies (250, 354, 221)

📝 Part 5 — Written Questions (Instructor-Evaluated)

Students answer the following:

1. What is the purpose of EHLO vs HELO?

(Expect: EHLO identifies client and requests extended SMTP features.)

2. Why is DATA separated from the envelope?

(Expect: Envelope controls routing; DATA contains RFC 5322 email.)

3. Why does SMTP require <CRLF>.<CRLF> to end data?

4. Why can Wireshark read everything over port 25?

(Expect: SMTP is plaintext without TLS.)

5. Describe one security issue with allowing open relay.


📦 Part 6 — Optional Extensions

1. Enable STARTTLS

Show how encrypted SMTP prevents Wireshark from reading content.

2. Add DNS MX Record Lab

Use dig MX to observe mail routing.