Teacher profile
Abdulrahman Gomaa
Junior Teaching Assistant at EUI — Programming & Algorithms
City: Cairo · Online
Teaching languages: English, Arabic
About
I am Abdulrahman, a Computer Engineering B.Sc. student at Egypt University of Informatics (EUI) since 2023, with a CGPA of 3.98/4.00. I currently serve as a Junior Teaching Assistant at EUI for Introduction to Programming, Design and Analysis of Algorithms, and Data Structures and Algorithms. My programming focus is Python, C++ and C, with particular attention to data structures, algorithms, reasoning about efficiency, object-oriented programming, SQL and SQLite, and Linux systems fundamentals. Sessions can support understanding concepts, tracing code, debugging, practising problem solving and turning those foundations into small working projects. My projects include an educational social platform with graph algorithms and recommendations, a C++ meetings system using design patterns, a Linux shell in C, a machine-learning FIFA decision assistant, and an AI attendance system using computer vision. I have applied Scikit-learn, TensorFlow, Pandas, NumPy and Matplotlib in projects, alongside training in DevOps, cloud computing and networking. My toolkit includes Git, Docker, Ansible, CI/CD and AWS services, with working knowledge of Kubernetes, Helm, ArgoCD, Jenkins and Terraform. I offer online sessions in Arabic or English, covering programming foundations, university-level topics and practical projects at a pace suited to the learner. GitHub: https://github.com/abdulrahman-111 LinkedIn: https://www.linkedin.com/in/abdulrahman-gomaa
Qualifications
Provided by the teacher. DarSak does not verify qualifications.
B.Sc. in Computer Engineering — ongoing
Egypt University of Informatics (EUI)
2023 – Present
Pursuing a B.Sc. in Computer Engineering at EUI since October 2023. CGPA: 3.98/4.00.
ECE 30100: Signals and Systems — A+
Purdue University — online coursework
2025 – 2025
Completed the online ECE 30100: Signals and Systems course during June–September 2025 with an A+ grade.
AWS Certified Cloud Practitioner (CLF-C02)
Amazon Web Services (AWS)
2026
Earned in May 2026, with stated validity through May 2029. Covers cloud concepts, core AWS services, security models and pricing, including EC2, S3, IAM, VPC and RDS.
Experience
Junior Teaching Assistant — Programming and Algorithms
Egypt University of Informatics (EUI)
Present
Currently a Junior Teaching Assistant for Introduction to Programming, Design and Analysis of Algorithms, and Data Structures and Algorithms. These subjects cover programming foundations, algorithmic thinking, data structures and reasoning about solution efficiency.
DevOps Intern
Digital Egypt Pioneers Initiative (DEPI)
2025 – 2026
Remote training during November 2025–June 2026. Built and managed Docker images for reproducible environments, automated provisioning and deployment with Ansible, and implemented CI/CD workflows. Used Git and YAML configurations to structure development and deployment processes.
Cloud Architect Intern
National Telecommunication Institute (NTI)
2025 – 2025
Remote training during July–August 2025. Completed AWS Academy Cloud Foundations and practised cloud concepts and architecture fundamentals. Worked with EC2, S3, IAM and VPC to configure AWS resources, access and networking.
Network Essentials Intern
National Telecommunication Institute (NTI)
2024 – 2024
Remote training during August–September 2024. Studied IP addressing, routing and switching, and completed practical labs with packet tracing tools to configure and troubleshoot addressing, routing and switching scenarios.
Secretary, IEEE Computer Society — Student Branch
IEEE EUI Student Branch
2024 – Present
Serving since December 2024. Helped plan and coordinate technical events, workshops and hackathons reaching more than 100 students, supporting programming, AI and cloud awareness. Produce meeting documentation and reports, and maintain communication between student members and faculty advisors.
Teaching approach
I start by understanding the learner's current level and the concept they want to tackle, then agree on a clear session goal. I explain an idea with a small example before moving to code, using execution traces and simple diagrams for arrays, lists, trees and graphs when relevant. For algorithmic problems, we practise analysing inputs, breaking down the problem, outlining a solution, discussing time and space complexity, and checking both normal and edge cases. During coding, I encourage the learner to write the solution and explain their decisions, with guidance that helps them identify an error and understand the fix. We can connect the foundations to a small project or exercise in Python, C++, C or SQL. I explain in Arabic or English according to the learner's preference, and finish with a recap and a suitable practice task. The aim is to develop a repeatable way of thinking, rather than memorise one solution.
Learning goals
Help learners write clear programs, understand execution, choose suitable data structures, analyse algorithms and debug with confidence. We work on turning a problem statement into a plan and a testable solution, adding object-oriented design and database fundamentals where useful. The goal may be a stronger foundation for a university course, additional practice in data structures and algorithms, or a small personal project. For learners with an appropriate programming foundation, we can explore data analysis and machine learning, or Linux, Git and cloud fundamentals. We choose a scope that fits the learner's level and available time, with understanding and independent work as the priorities.
Subjects and contexts
- C++ ProgrammingUniversity students
- Python ProgrammingUniversity students
- Fundamentals of computer programmingUniversity students
- Data Structures and AlgorithmsUniversity students
- C ProgrammingUniversity students
- Design and Analysis of AlgorithmsUniversity students
Groups
Advanced Programming
Develop your programming skills beyond the fundamentals. Explore object-oriented programming, classes and objects, inheritance, polymorphism, and techniques for organizing and debugging larger programs. Suitable for Engineering Level 2 students who already understand basic programming.