Cybersecurity & Secure Programming
Companion site for the postgraduate module, NFQ Level 9

The working website for Cybersecurity & Secure Programming — a postgraduate module at NFQ Level 9. It hosts lecture slides, end-of-lecture MCQs, every link and code snippet referenced in the book, the custom vulnerable apps used in practicals, and the take-home project resources.
The companion textbook is the comprehensive reference; this site is the lecture-day working surface.
Note
This is the lecturer’s working copy. Week 1 is now fully populated (both lectures and the practical). The remaining 11 weeks will be filled chapter-by-chapter as the course is built out.
Schedule
13 weeks: 12 weeks of teaching plus an assessment week.
- Weeks 1–11: 2 × 1-hour lectures + 1 × 2-hour practical (4 hours/week)
- Week 12: 2 lecture hours, no practical
- Week 13: assessment, no scheduled teaching
| Week | Lecture 1 | Lecture 2 | Practical |
|---|---|---|---|
| 1 | What is Cybersecurity? | Why Secure Programming Matters | Building Your Lab |
| 2 | Threat Modelling | Frameworks Worth Knowing | Threat-Modelling a Real App |
| 3 | Input Validation | Injection: SQL, Command, XSS | Exploit, Then Fix |
| 4 | Failing Safely | Cryptography & Authentication | Add AuthN/AuthZ to a Leaky App |
| 5 | Static Analysis Concepts | Bandit, Semgrep, AI-Assisted SAST | SAST Across a Real Codebase |
| 6 | Dynamic Analysis & Fuzzing | Web Application Security | ZAP Against a Vulnerable App |
| 7 | Supply Chain Security | — | Project Brief & Scoping |
| 8 | Law, Disclosure & IR | Recon, Nmap & Credential Attacks | Mapping a Target with Nmap |
| 9 | Memory Corruption & Exploitation | Network Inspection & Manipulation | Buffer Overflow + Wireshark |
| 10 | Automating Security Work | Scapy: Python at the Packet Level | Scapy Lab + Project Clinic |
| 11 | Malware Detection: IOCs & YARA | Machine Learning in Cybersecurity | YARA + ML Detector + Final Clinic |
| 12 | LLMs as Security Tools | Securing LLM-Backed Applications | (no practical) |
| 13 | (assessment, no classes) |
What’s on each lecture page
- Before the lecture — reading link to the chapter
- Slides —
.pptxdeck and PDF export - Lecture timing — how the slot breaks down minute-by-minute
- Embedded interlude — concrete script for the live “everyone open this” moment, where applicable
- Links from this lecture — every external reference, organised
- Common student questions — the asks that come up every cohort
- End-of-lecture MCQ — a 2-minute formative self-check
- Going Further — annotated reading
What’s on each practical page
- Before the lab — what to install, what to clone
- Activity — numbered steps with expected output
- Tools — install commands, links, version notes
- Custom vulnerable apps — Docker pulls, GitHub repos
- Submission criteria — concrete pass/fail checklist
- Take-home extension — where applicable
Getting started
If this is your first visit and you’re a student:
- Read the Preface in the book PDF
- Open Week 1, Lecture 1 to see what an end-of-lecture quiz looks like
- The Week 1 practical (Building Your Lab) is what stands between you and every other practical — do it before Week 2
If you’re the lecturer:
- The week’s lecture page is the lecture-day working surface
- The book’s For the Lecturer section in each chapter contains the timing breakdown, common misconceptions, and slide-vs-page priorities
- The MCQ source is YAML / JSON; you can edit it pre-class to add a topical question