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.