Teaching
Poznan University of Technology — Division of Algorithms Design and Programming Systems
Current Courses
ADS
Algorithms and Data Structures
This course covers fundamental algorithmic paradigms and data structures essential for efficient software development and problem solving.
Topics covered:
- Algorithm complexity analysis (Big-O notation)
- Sorting algorithms (quicksort, mergesort, heapsort, etc.)
- Search algorithms and hashing
- Fundamental data structures: arrays, linked lists, stacks, queues
- Trees: binary search trees, AVL trees, B-trees
- Graphs: traversal, shortest paths, minimum spanning trees
- Dynamic programming and greedy algorithms
- Divide and conquer strategies
CA-LLP
Computer Architecture with Low Level Programming
This course provides an understanding of computer hardware organization and low-level programming, bridging the gap between software and hardware.
Topics covered:
- Computer organization and Von Neumann architecture
- Number systems and binary arithmetic
- Processor architecture: registers, ALU, control unit
- Memory hierarchy: cache, RAM, virtual memory
- Assembly language programming
- Instruction set architecture (ISA)
- Input/output systems and interrupts
- Pipelining and parallel processing basics
Teaching Experience
In addition to my current lecturing position at Poznan University of Technology, I have extensive teaching experience across multiple countries and institutions:
- Invited Professor — Galileo University, Guatemala (2017). Computational Chemistry.
- Laboratory Assistant — San Carlos de Guatemala University (2003–2008). Laboratory techniques, preparation of reactives and lectures in Physical Chemistry, Organic and Inorganic Chemistry.
- Secondary School Teacher — Centre for Computational Studies and Systems College, Guatemala (2008). Computer science and mathematics.
- Bioinformatics Workshop Instructor — Del Valle University, Guatemala (2013). Pharmacogenomics and Computational Chemistry.
Pedagogy Certificate obtained in 2023.