Teaching

During my Ph.D. at the University of Innsbruck and earlier as a teaching assistant at Assiut University, I have taught a range of courses in machine learning, natural language processing, data analysis, and core computer science.


University of Innsbruck, Austria

Proseminar: Computer Networks and Internet Technology (PS Computer Networks and Internet Technology)
Proseminar tutor, Winter 2021/22 – Winter 2025/26

I co-teach the proseminar accompanying the main lecture on computer networks and Internet technology.
We work through exercises and programming tasks on:

  • Internet architecture and core protocols
  • Design decisions in modern networks and their quantitative impact
  • Practical use of networking tools and network measurement

Proseminar: Machine Learning (PS Machine Learning)
Proseminar tutor, Summer 2024

Discussion and exercise sessions for the introductory machine-learning course:

  • Supervised and unsupervised learning
  • Model training and evaluation
  • Hands-on programming exercises in Python

Proseminar: Data and Probabilities (PS Data and Probabilities)
Proseminar tutor, Summer 2024 – Winter 2025/26

Exercise classes for the core statistics / probability module:

  • Probability theory and random variables
  • Statistical inference and uncertainty quantification
  • Data collection and visualization following scientific and legal guidelines

Lecture–Exercise: Advanced Data Engineering and Analytics – Understanding Natural Language (VU Advanced Data Engineering and Analytics)
Co-lecturer, Summer 2025

A combined lecture and lab on text data processing and NLP:

  • Fundamentals of text preprocessing and representation
  • Classical and neural methods for text analysis
  • Applications of NLP and text mining in real-world data pipelines
  • Critical discussion of limitations and biases in text-based models

Assiut University, Egypt

Research and Teaching Assistant, Faculty of Computers and Information (2015–2019)

At Assiut University I taught labs, tutorials, and occasionally lectures for several undergraduate courses in Computer Science, including:

  • Web Programming – HTML, CSS, JavaScript, and basic PHP/Laravel.
  • Introduction to Programming (C++) – programming fundamentals, problem solving, and object-oriented concepts.
  • Data Structures – arrays, linked lists, trees, graphs, stacks/queues, and complexity analysis.
  • Machine Learning – classical ML algorithms and applications.
  • Project Management – software project planning, teamwork, and reporting.
  • Network Management – basic computer networking and administration concepts.

My responsibilities included preparing and grading assignments and exams, running lab sessions, mentoring student projects, and updating course materials.