What this course is

NETW-0001 introduces students to Linux as an operating system, building from first principles — what an OS does, how Linux was born from Unix, and why it matters for anyone working in IT infrastructure. Students begin with zero assumed Linux knowledge but are expected to bring Windows networking experience from prior study.

The lab environment runs Ubuntu 24.04 LTS in Hyper-V on college workstations. Every student provisions two VMs from scratch on Day 1 and uses them throughout the term, progressively layering in users, permissions, packages, scripting, storage, services, networking, and remote access. By Week 7, those same VMs are the exam environment.

The OverTheWire Bandit challenge runs as a standing activity throughout the term — students are given target levels per week as a self-paced stretch goal, not a graded assessment. It reinforces command-line thinking in a game format and surfaces naturally in lab time when students finish early.

Phase 1 — Weeks 1–2 Foundation & File System
Week 1 — Getting Into Linux
OS concepts, installation & terminal basics
What an operating system does, Linux history and distributions, Hyper-V VM setup, Ubuntu 24.04 installation with manual partitioning, and first steps in the terminal — filesystem hierarchy, navigation, find, and grep.
Day 1OS concepts, Linux history, distributions · Lab 0: Hyper-V host config, vSwitch, dual VM creation
Day 2Ubuntu 24.04 install, partitioning, mount points · Lab 1: manual install with ext4/swap partitions on both VMs
Day 3The terminal, TTY, filesystem hierarchy · Lab 2 Part 1: shell basics, cd/ls/pwd, absolute vs. relative paths
Day 4File operations, find, grep, sudo intro · Lab 2 Parts 2–3: find by name/size/time, grep in /etc/passwd
Day 5Review & Mini-Assessment 1 · Written: OS concepts, hierarchy, paths · Practical: terminal navigation tasks
Hyper-VUbuntu 24.04fdisk / partitionsFilesystem hierarchyfindgrep Assessment Day 5 OverTheWire: target Levels 0–2
Week 2 — Users & Permissions
Accounts, groups & the Linux security model
Create and manage user accounts, understand Linux permission bits and octal notation, assign group-based access, and practice changing file ownership — building the same mental model as Windows NTFS permissions but from the ground up.
Day 1User accounts: useradd, passwd, su, sudo · Lab 3 Part 1: create four users, enable root, test su vs. sudo
Day 2Permission bits, octal notation, chmod · Lab 3 Part 2: permission matrix — test read/write/execute for other
Day 3Groups, chown, chgrp, umask · Lab 3 Part 3: group-based file access, ownership, default permissions
Day 4Special permissions: SUID, SGID, sticky bit · Guided exploration: /tmp sticky bit, passwd SUID, shared directories
Day 5Review & Mini-Assessment 2 · Written: permissions theory · Practical: set up multi-user file access scenario
useradd / usermodchmod / chownGroupsOctal notationumaskSUID / SGID Assessment Day 5 OverTheWire: target Levels 3–6
Phase 2 — Weeks 3–4 Software & Shell Power
Week 3 — Package Management
APT, dpkg, Snap & software repositories
Install, remove, and query software using three different package systems — APT for repository packages, dpkg for manual .deb files, and Snap for sandboxed applications. Understand dependencies, repositories, and when to use each tool.
Day 1Software on Linux: source, .deb, repos, APT overview · Lab 4 Part 1: apt update, apt search, install cowsay, inspect dependencies
Day 2dpkg: manual install, query, purge · Lab 4 Part 2: install Dropbox .deb via dpkg, compare with apt, purge and reinstall
Day 3Snap packages: sandboxing, channels, confinement · Lab 4 Part 3: install gnome-mahjongg via snap, attempt kmahjongg, diagnose failure
Day 4Repository management, PPAs, apt-cache, sources.list · Guided: inspect /etc/apt/sources.list, add a PPA, pin a package version
Day 5Review & Mini-Assessment 3 · Written: package manager comparison · Practical: install/query/remove using all three tools
apt / apt-getdpkgsnapsources.listDependenciesPPAs Assessment Day 5 OverTheWire: target Levels 7–10
Week 4 — CLI Power Tools
Redirects, pipes, text editors, compression & cron
Master the shell tools that make Linux administration efficient — I/O redirection, pipes, text editors (nano and a vim introduction), file compression with tar/gzip/bzip2, cron job scheduling, and environment variables. These tools underpin everything in Weeks 5–7.
Day 1Redirection (>, >>, 2>) and pipes (|), tee, xargs · Lab 6 Part 1 intro: redirect output to files, chain commands with pipes
Day 2Text editors: nano fluency, vim basics, environment variables, PATH · Guided: edit config files safely, .bashrc, export, which, $PATH inspection
Day 3Compression: tar, gzip, bzip2, lzma — tarballs · Lab 6 Part 1: create/extract/append/compress archives, compare sizes
Day 4Cron jobs: crontab syntax, scheduling, system crontabs · Lab 6 Part 2: create student and root cron jobs, verify with syslog
Day 5Review & Mini-Assessment 4 · Written: cron syntax, compression theory · Practical: pipe/redirect challenge, write a cron job
Pipes & redirectionnano / vimtar / gzip / bzip2crontabEnvironment variablesPATH Assessment Day 5 OverTheWire: target Levels 11–14
Phase 3 — Week 5 Scripting & System Administration
Week 5 — Scripting, Git & System Administration
Automation, version control, storage & services — condensed into one week
Formerly two separate weeks (Bash Scripting & Git, then Storage/Processes/Services), merged into one condensed week as part of the move from an 8-week to a 7-week course. Every topic is retained; guided lab time is trimmed to the most essential exercises, with several original exercises kept on the handouts as optional take-home practice.
Day 1Scripting: variables, conditionals, loops, functions · Lab 5A: greet.sh, number_check.sh, file_check.sh, countdown.sh, disk_report.sh
Day 2Error handling, debugging (bash -x/-n), then Git & GitHub · Lab 5B: safe_backup.sh, debug buggy.sh, init/commit/branch/merge, push to GitHub
Day 3Storage: fstab, UUID, fdisk, mkfs, partprobe · Lab 5C: read fstab, attach a VHDX, partition, format, and persist a mount
Day 4Processes (top, ps, signals, jobs), then systemd · Lab 5D: process/signal management, systemctl, journalctl, a custom service unit
Day 5Review & Mini-Assessment 5 · Written: scripting/git/storage/processes/systemd · Practical: script+Git, disk, and process+service tasks
Bash scriptinggit / GitHubfdisk / mkfs / fstabtop / ps / killsystemdjournalctl Assessment Day 5 OverTheWire: target Levels 15–22
Phase 4 — Weeks 6–7 Networking, Remote Access & Exam
Week 6 — Networking, SSH & File Sharing
Network tools, remote access, NFS & Samba
Configure and troubleshoot Linux networking using the ip command suite, set up SSH with key-based authentication, harden the SSH daemon, configure ufw firewall rules, and share files between Linux machines using NFS and between Linux and Windows using Samba.
Day 1ip command suite, hostname, DNS, netplan · Lab 7: rename VM, configure NIC manually, check routes and DNS resolution
Day 2SSH setup, key-pair generation, authorized_keys, sshd_config · Lab 8 Parts 1–2: install telnet (and purge), install openssh-server, key auth from Windows host
Day 3SSH hardening, ufw firewall basics, allow/deny rules · Lab 8 continued + ufw expansion: disable password auth, enable ufw, allow SSH and Samba ports
Day 4NFS server and client, /etc/exports, mount options · Lab 9 Part 1: share nfs_share between desktop1 and desktop2, mount from Windows host
Day 5Samba: smb.conf, Windows file sharing, authentication · Lab 9 Part 2: configure Samba share, access from Windows, set permissions
ip / netplanSSH / sshd_configKey-pair authufwNFS / exportsSamba / smb.conf OverTheWire: target Levels 23–26
Week 7 — Final Exam
Written exam & terminal practical
Two-part final assessment using the student's own VMs as the exam environment. The written portion covers concepts and theory from all seven weeks. The terminal practical presents a scenario-based sequence of tasks spanning users, permissions, packages, scripting, storage, services, and networking — all performed live in Ubuntu.
Day 1Exam review — open Q&A, command reference session · Students may complete any outstanding labs; OverTheWire wrap-up
Day 2Exam review — practical walk-through of common tasks · Instructor-led review of key commands and scenarios likely to appear
Day 3Written Exam (30% of final mark) · 90 min · Concepts, theory, scenario analysis, command identification
Day 4Terminal Practical Exam (70% of final mark) · 90 min · Scenario-based tasks on student's own VMs · No notes, no internet
Day 5Results, debrief & course close · Review common errors, preview next course, collect VMs
Written Exam Day 3 — 30% Practical Exam Day 4 — 70%
Weekly assessments at a glance
WeekAssessmentFormatKey skills tested
1OS FoundationsWritten (30%) + Practical (70%)OS concepts, filesystem hierarchy, absolute/relative paths, find, grep
2Users & PermissionsWritten + Practicaluseradd, chmod octal, chown, group access scenarios, umask
3Package ManagementWritten + Practicalapt/dpkg/snap comparison, install/query/remove, dependency resolution
4CLI Power ToolsWritten + PracticalPipe/redirect challenge, cron job syntax, tar compression, environment variables
5Scripting, Git & System AdministrationWritten + PracticalWrite a script from a spec, git commit/branch/push, fstab entry, systemctl service management, journalctl
6No formal assessmentLab completionSSH key auth, NFS share, Samba config — verified by instructor
7Final ExamWritten (30%) + Terminal Practical (70%)All topics — scenario-based tasks on student's own VMs
OverTheWire Bandit — standing challenge progression
Not assessed — but encouraged every weekOverTheWire Bandit (overthewire.org/wargames/bandit) is a self-paced SSH-based challenge that reinforces command-line skills in a game format. Students connect to the Bandit server using SSH on port 2220 and progress through levels by finding passwords hidden in the system using the commands taught each week. It is not graded but is the best use of "I'm done early" time throughout the term.
Week 1
Levels 0–2
SSH, files
Week 2
Levels 3–6
Permissions, hidden files
Week 3
Levels 7–10
grep, sort, pipes
Week 4
Levels 11–14
Compression, encoding
Week 5
Levels 15–22
SSL, scripting, setuid, cron
Week 6
Levels 23–26
SSH keys, git
Key design principles
The VMs accumulateNothing is throwaway. The two Ubuntu VMs created in Week 1 are the same machines used in the Week 7 exam. Users created in Week 2 are used in permission labs, and scripts and service configs from Week 5 carry forward too. Students who treat each week as isolated will arrive at the exam with an unfamiliar environment. Students who maintain their VMs throughout will be comfortable.
Bridge from Windows constantlyStudents have networking experience from a Windows perspective. Every new concept should be introduced with a Windows analogue where one exists — ip vs. ipconfig, chmod vs. NTFS permissions, /etc/hosts vs. Windows hosts file, services vs. the Windows Services panel. The goal is not to replace their Windows knowledge but to build Linux fluency alongside it.
Week 4 is the hingeRedirects, pipes, text editors, and compression are moved to Week 4 (before scripting) deliberately. Students who can't confidently redirect output or edit a file in nano will struggle to write meaningful Bash scripts in Week 5. The Week 4 CLI power tools are the vocabulary that makes Week 5 scripting possible.