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.pptx deck 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:

  1. Read the Preface in the book PDF
  2. Open Week 1, Lecture 1 to see what an end-of-lecture quiz looks like
  3. 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:

  1. The week’s lecture page is the lecture-day working surface
  2. The book’s For the Lecturer section in each chapter contains the timing breakdown, common misconceptions, and slide-vs-page priorities
  3. The MCQ source is YAML / JSON; you can edit it pre-class to add a topical question