Workshops Delivered

Sessions designed and taught for a company training programme and for two engineering-school clubs, covering computer architecture and digital logic, ARM assembly, competitive programming and Python. Each was written from scratch: slides, exercises and worked solutions.

  • Introduction to CS Fundamentals (Hardware)

    • Workshop Series
    • Online
    • Professionals & Trainees
    • OLIVESOFT
    • Slides (.pptx)

    Two sessions for the OLIVE-LEARN programme, tracing a running program from the instruction pipeline down to the logic gates that execute it.

    • Part 1 — Efficient code execution: CPU instruction pipelining, the memory hierarchy and caching, and how DMA, the NIC and the APU move work off the core.
    • Part 2 — Circuit-level computation: built up from SR and D latches to a 4-bit register, 1-bit and 4-bit adders, and an arithmetic logic unit.
  • Assembly Programming Workshop Workshop materials on GitHub

    • Hands-on Lab
    • On-site
    • Engineering Students
    • Securinets ENIS

    Low-level programming taught from the hardware upward, with every slide, exercise and solution published as a public repository.

    • Hardware groundwork: chipsets, buses, and the path an instruction takes to reach the CPU.
    • ARM assembly: definitions, the core instruction set and worked examples, followed by guided exercises.
    • Each exercise solved twice — once in ARM assembly, once in Python — so the cost of an abstraction was visible side by side.
    • Extension material: a Breakout game implemented in x86 assembly alongside C and C++ versions, for participants continuing on their own.
  • Introduction to Competitive Programming

    • Workshop
    • On-site
    • Engineering Students
    • IEEE Student Branch ENIS

    An entry point into contest-style problem solving, aimed at students with working code but no method for choosing an approach.

    • Complexity analysis first: reading a problem’s constraints to rule out approaches before writing any code.
    • The core data structures and the recurring algorithm patterns that most contest problems reduce to.
  • Introduction to Python

    • Workshop
    • Online
    • Engineering Students
    • IEEE Student Branch ENIS

    A beginner track taught through two builds rather than through syntax slides.

    • A console tic-tac-toe game: representing board state, validating input and detecting a win.
    • A short data exercise: reading a CSV file and plotting it as charts.