Teaching
Across more than two decades and five institutions, Dimitrios has taught the full systems curriculum — computer organization and architecture, operating systems, parallel and multicore programming, and warehouse-scale and AI systems — from first-year undergraduate courses to advanced graduate seminars.
Currently teaching · Spring 2026
CS2506 — Computer Organization II
CS2506 — Computer Organization II
Virginia Tech (2006–present)
CS2506 Computer Organization II Undergraduate
Redeveloped in 2022 around the RISC-V processor and toolchain.
CS5510 / ECE5510 Multiprocessor Programming Graduate
CS5914 Special Topics in Computer Science Graduate
CS4284 Systems & Networking Capstone Undergraduate
CS5234 Advanced Parallel Computation Graduate
CS4234 Parallel Computation Undergraduate
CS2504 Introduction to Computer Organization Undergraduate
Earlier institutions
Queen's University Belfast (2012–2015)
- ECS1002 — Software & Electronic Systems Engineering Design Projects (1st Stage) · Spring 2013–2015
- ECS2001 — Design Projects (2nd Stage) · Fall 2012–2015
University of Crete (2008–2011)
- CS425 — Computer Systems Architecture · Fall 2008–2011 ·
- CS529 — Multi-core Systems Programming · Spring 2009–2011
- CS225 — Computer Organization · Spring 2009–2011
- CS100 — Introduction to Computer Science · Fall 2011
College of William & Mary (2002–2006)
- CSCI644 — Advanced Computer Architecture · Spring 2003–2006
- CSCI444 / 544 — Principles of Operating Systems · Fall 2002–2005
University of Illinois at Urbana-Champaign (2002)
- ECE291 — Computer Engineering II · Spring 2002
Course & curriculum development
- CS2506 Computer Organization II — redeveloped around a new open-source processor and tools, Virginia Tech, 2022
- ECS1002 & ECS2001 Design Projects — developed from scratch, Queen's University Belfast, 2016
- CS529 Multicore Processor Programming — developed from scratch, University of Crete, 2009
- CS425 Computer Systems Architecture & CS225 Computer Organization — major revisions (multi-core, cache coherence), University of Crete, 2009
- CS5234 Advanced Parallel Computation — developed from scratch, Virginia Tech, 2006
Seminars & short courses
- Implementation of Multi-core Programming Models · Universitat Politecnica de Catalunya · 2012
- Multi-core Systems Programming & Optimization · Universitat Politecnica de Catalunya · 2007, 2008, 2010
- Multithreaded Architectures & Software · College of William & Mary · 2004
Teaching grants
- Advanced Topics in Implementing Multicore Programming Models · Universitat Politecnica de Catalunya · PI · €2,400 · 2012
- Multi-core Systems Programming · Universitat Politecnica de Catalunya · PI · €2,400 · 2010
- Multi-core Systems Programming · Universitat Politecnica de Catalunya · PI · €3,600 · 2008
- Multi-core Systems Programming & Optimization · Universitat Politecnica de Catalunya · PI · €3,600 · 2007
