0:00–0:30
Written
0:30–1:45
Practical
1:45–2:00
Review + Preview
Before 0:00
Instructor setup
Classroom setup before students arrive
- Place printed written assessment face-down on each desk. Students should not see it until instructed.
- Prepare the practical scenario document — either printed and placed face-down, or ready to distribute digitally after the written portion concludes.
- Confirm all student VMs are powered off (or at least at the login screen). Students should not be logged in to their VMs when the written assessment begins.
- Write on the board: Written — 30 min, no computer. Practical — 75 min, desktop1 only, no internet, man pages allowed.
0:00 – 0:30
Written assessment · 30 min · 30% of Mini-Assessment 1
Written portion — OS concepts, filesystem, commands, and paths
Pen and paper. No computer, no phone, no notes. 30 minutes. Students turn the page over and begin when instructed.
Section A — Short answer (10 marks)
- Q1 (2 marks): Name four resources that an operating system manages.
- Q2 (2 marks): What is the difference between a Linux distribution and the Linux kernel? Give one example of a distribution.
- Q3 (1 mark): What does LTS stand for, and why does it matter when choosing an Ubuntu version for a production server?
- Q4 (2 marks): In your own words, explain what the GPL (GNU General Public License) requires of anyone who distributes modified GPL-licensed software.
- Q5 (1 mark): What Hyper-V setting must be disabled for Ubuntu to boot correctly in a Generation 2 VM?
- Q6 (2 marks): Why was the MAC address range in Hyper-V changed to match each student's desk number?
Section B — Filesystem hierarchy (10 marks)
- Q7 (5 marks): Match each directory to its purpose. Directories:
/etc · /var · /home · /tmp · /bin
Purposes: User home directories · System configuration files · Essential user binaries (ls, cp, mv) · Temporary files, cleared on reboot · Logs, variable data, mail spool
- Q8 (3 marks): Explain the difference between
/bin and /usr/bin. Why do both exist?
- Q9 (2 marks): In Linux, additional storage drives are not assigned letters (D:, E:) like Windows. How are they made accessible instead?
Section C — Paths and commands (10 marks)
- Q10 (4 marks): Your current directory is
/var/log/apt. Write both an absolute path and a relative path to reach the file /home/student/lab2/lab2.joke.txt.
- Q11 (2 marks): What is the difference between
rm and rmdir? When would each fail?
- Q12 (2 marks): What does the command
grep -c "bash" /etc/shells output? Describe in plain English what it does.
- Q13 (2 marks): Write the
find command to locate all files larger than 100 MB anywhere on the system, suppressing permission errors.
Instructor note — collect written assessments at exactly 30 minutes. Do not allow students to continue after time is called. Begin distributing the practical scenario immediately so no time is lost. Students who finish the written portion early should sit quietly — they may not use their computers during the written window.
0:30 – 1:45
Terminal practical · 75 min · 70% of Mini-Assessment 1
Practical scenario — terminal tasks on desktop1
Students work on their own desktop1 VM. No internet access. No notes. Man pages (man command) and --help flags are permitted — students are expected to know how to find help within the system. Each task has a verifiable outcome the instructor will check.
Rules for the practical: desktop1 only — no desktop2, no browser, no notes. Man pages are allowed. If you break something, call the instructor rather than guessing your way deeper. Marking is on outcomes, not method — as long as the result is correct, the approach doesn't matter unless specified.
Practical scenario — "First day on the job"
You have just been given access to a Linux workstation. Your supervisor has left you a list of setup tasks to complete. Work through them in order.
- Task 1 — Directory structure (10 marks):
Create the following directory structure under your home directory. All directories must be created using a single mkdir command with the -p flag:
~/work/projects/alpha
~/work/projects/beta
~/work/archive
Verify: ls -R ~/work should show all three subdirectories.
- Task 2 — Create files with content (10 marks):
· Create a file at ~/work/projects/alpha/readme.txt containing the text: Alpha project — started Week 1
· Create a file at ~/work/projects/beta/readme.txt containing the text: Beta project — pending review
· Verify both files contain the correct text using cat.
- Task 3 — Find and grep (20 marks):
· Find all files in /etc with names ending in .conf and redirect the list (not the errors) to a file at ~/work/archive/conf_files.txt
· Using grep, search ~/work/archive/conf_files.txt for the word "network" and display the matching lines.
· Count how many .conf files were found — show the command and the result.
· Search /etc/passwd for lines that do NOT contain the word "nologin". Show the command and count the results using wc -l.
- Task 4 — Copy, move, and rename (15 marks):
· Copy both readme.txt files to ~/work/archive/, renaming them alpha_readme.txt and beta_readme.txt respectively.
· Move (not copy) ~/work/projects/beta/readme.txt to ~/work/projects/beta/readme.bak
· Verify: ls ~/work/archive/ shows both renamed copies. ls ~/work/projects/beta/ shows readme.bak and no readme.txt.
- Task 5 — Disk and system info (15 marks):
· Display disk usage for the entire system in human-readable format with filesystem types. Record the amount of space used and free on the root (/) partition.
· Display the sizes of all directories in your home folder, one level deep, in human-readable format.
· Use uname -r to find and record the current kernel version.
· Use lsb_release -a to show and record the Ubuntu version details.
Instructor verification checklist
| Task | Verification command | Expected result |
| Task 1 — directory structure | ls -R ~/work | Shows projects/, alpha/, beta/, archive/ directories |
| Task 2 — file contents | cat ~/work/projects/alpha/readme.txt | Exact text: "Alpha project — started Week 1" |
| Task 3 — conf_files.txt exists with content | wc -l ~/work/archive/conf_files.txt | Non-zero line count of .conf paths |
| Task 3 — grep for "network" | Student runs command — observe output | Shows lines from conf_files.txt containing "network" |
| Task 4 — archive copies renamed correctly | ls ~/work/archive/ | alpha_readme.txt and beta_readme.txt present |
| Task 4 — beta readme moved to .bak | ls ~/work/projects/beta/ | readme.bak present, readme.txt absent |
| Task 5 — disk usage output | Student shows df -Th output | Human-readable with filesystem types visible |
1:45 – 2:00
Review + Preview · 15 min
Common mistakes and Week 2 preview
- Immediate debrief — common practical mistakes: While circulating during the practical, note two or three common issues and address them now without naming students. Typical Week 1 issues: forgetting
2>/dev/null on find commands (output buried in errors), using rmdir on a non-empty directory (use rm -r), writing an absolute path when asked for relative (starts with / — that's always a tell).
- Written assessment answers: Give verbal answers to Q10 (the path question) — students often lose marks here for the same mistake in two directions. Absolute: starts with
/, always works. Relative: depends on where you are, never starts with /.
- Week 2 preview — users and permissions: Ask: "Right now, if someone else logged in to your Ubuntu VM as a different user, could they read your files in /home/student?" Take guesses. The answer: it depends on the permissions set on those files and directories — and by default, Linux is more restrictive than Windows. Next week we learn exactly how to control who can see, modify, or run anything on the system. It's the foundation of Linux security.
- Remind students: both VMs should be kept in good working order over the weekend. They are the exam environment in Week 8. Don't delete lab work — it builds on itself.
Week 1 outcomes — students who completed the week can…
Explain what an OS doesDescribe resource management, the GUI/CLI interface, and give examples across device types
Trace Linux historyName Torvalds and Stallman, explain the GPL, describe kernel versioning
Install Ubuntu 24.04Configure Hyper-V, create VMs, partition manually, and complete the installer
Navigate the filesystemMove around the hierarchy using absolute and relative paths, list contents with ls flags
Search effectivelyUse find with name/size/time flags and grep to locate files and content
Manage filesCreate, read, copy, move, and rename files and directories from the terminal
Mini-Assessment 1 — marking summary
| Component | Marks | Weight |
| Written — Section A (OS concepts, GPL, Hyper-V) | 10 | 30% |
| Written — Section B (Filesystem hierarchy) | 10 |
| Written — Section C (Paths and commands) | 10 |
| Practical — Task 1 (Directory structure) | 10 | 70% |
| Practical — Task 2 (Files with content) | 10 |
| Practical — Task 3 (find and grep) | 20 |
| Practical — Task 4 (Copy, move, rename) | 15 |
| Practical — Task 5 (Disk and system info) | 15 |
What to have ready before class
Written assessment printed face-down on each desk
Practical scenario printed or ready to distribute at 0:30
All student VMs confirmed at login screen (powered on, not logged in)
Lab network confirmed active