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.