TEACHING & SUPERVISION

Teaching computing through systems, models and implementation.

My teaching connects theoretical foundations with system architecture, experimentation and practical implementation.

TEACHING AREAS

Core areas of teaching and academic formation.

Current or recurrent

Digital Systems

Regular undergraduate teaching connected to logic design, computer organization, hardware description, and the foundations of digital computation.

  • digital logic
  • hardware
  • computer organization
Past

Operating Systems

Systems-level teaching involving abstractions, resource management, concurrency, scheduling, embedded systems, and software/hardware interaction.

  • OS
  • systems
  • scheduling
  • runtime
Current or recurrent

Modeling and Simulation of Systems

Teaching area treating modeling and simulation as an engineering and scientific method across discrete-event models, stochastic processes, and complex systems.

  • simulation
  • models
  • experiments
Current or recurrent

Biological Computation and Computational Biology

Computational perspectives on biological systems and the use of modeling and simulation to reason about living systems.

  • biological computation
  • bioinformatics
  • systems biology

COURSES

Courses taught

  • Biological Computation and Computational Biology
  • Modeling and Simulation of Systems
  • Digital Systems
  • Operating Systems
  • Architecture and Organization of Computers
  • Embedded Systems
  • Microcontrollers
  • Computer Networks
  • Bioinformatics
  • Object-Oriented Development

TEACHING APPROACH

Systems, models and implementation.

principle

Abstraction levels first

Courses make explicit how problems move between digital logic, architecture, operating systems, simulation models, software artifacts, and scientific interpretation.

principle

Executable knowledge

Students are encouraged to produce code, models, experiments, documentation, and repositories that can be inspected, reproduced, and improved.

principle

Responsible AI use

AI tools may accelerate programming and literature workflows, but results must remain attributable, testable, explainable, and scientifically defensible.

SUPERVISION

Academic supervision and student work.

26Undergraduate final projects

Undergraduate final-project supervision.

11Scientific initiation

Undergraduate research supervision across systems, simulation and embedded computing.

4Extension guidance

Student guidance in university extension projects.

2Current guidance

Ongoing student supervision.

OPPORTUNITIES

Research and project areas for students.

Computer systems and architecture

Projects involving computer organization, digital systems, operating systems, embedded systems, cyber-physical systems, and hardware/software integration.

Modeling and simulation

Projects involving simulation tools, discrete-event models, stochastic systems, experiment design, analysis workflows, and domain-specific simulation components.

AI for scientific work

Projects involving AI-assisted scientific software, agents, code generation, literature workflows, simulation automation, and responsible productivity.

Biological computation and BioCompLab topics

Projects involving high-level computational modeling of biological systems, biological computer organization, whole-cell simulation, and conceptual BioCAD workflows.

Working with students