Abdulrahman Magdy
Transform Your Coding: Certified C++ and Java Tutor with 5 Years of Experience Guiding Success from Basics to USACO.




Show all photos
Abdulrahman Magdy
Bachelors degree
/ 55 min
About your coding tutor - Abdulrahman
I am a dedicated educator with over 5 years of experience specializing in making the complex world of programming—specifically C++, Java, and Python—intuitive and accessible. My approach is defined by a "logic-first" philosophy. I believe that many students struggle not because they lack the ability, but because they are taught syntax before they understand logic. My sessions are designed to reverse that; we focus on "guided discovery" and visualization, ensuring that you understand the underlying architecture of a problem before you write a single line of code. My methodology is rooted in the Feynman Technique. This means I have spent years mastering these subjects to a point where I can explain them in the simplest, most intuitive terms possible. I don't just lecture; I link new programming concepts to knowledge you already possess, making the learning process feel natural rather than forced. Whether I am working with a 6-year-old beginner starting their journey in Python or a graduate-level student tackling advanced C++, I tailor my communication style to match the student’s specific pace and background. My experience as a Teaching Assistant allowed me to refine this approach with dozens of students simultaneously. I specialized in guiding learners through the "debugging mindset"—teaching them how to think like a professional by identifying errors logically rather than through guesswork. This results-driven style has led to significant breakthroughs for my students. For example, I recently helped a Master’s student with no prior programming experience master C++ foundations and complete a high-level computer vision project in just four lessons.
Meet Abdulrahman
Coding tutor specialities
Code Optimization
Competitive Programming
Assignment help
Project help
Homework help
Upskilling
AI modules
Summary
Podcast
Quiz
Learnings
Flashcard
Spotlight
Zero Risk Guaranteed
15-days refund
Free tutor swap
No cancel fee
1-yr validity
24/7 support
Learner types for coding classes
Coding for beginners
Coding for advanced
Coding for adults
Coding for kids
Coding for intermediate
Rated 5 stars consistently
Students appreciate how lessons simplify complex coding concepts.
100% on-time college submissions
Students meet deadlines with tutor support.
Proven success with code projects
85% of students complete personal projects in a few months.
Abdulrahman - Coding tutor also teaches
C++
Java
Python

Coding concepts taught by Abdulrahman
The Student and Tutor spent the session working through several Python coding challenges, including debugging problems related to variable initialization, list element comparison, binary operations, and string manipulation. They also clarified concepts regarding loop behavior and index handling. For follow-up, the Student was assigned homework problems 4.4, 4.5, 5.1, and 5.2.
Variable Initialization in Loops
Debugging Conditional Logic in Loops
Direct Element Comparison vs. Index Comparison
For Loop Iteration Variables (Scope and Immutability)
Counting Set Bits (Binary Operations)
Student and Tutor focused on C programming concepts, practicing bitwise operations and number system conversions. They reviewed and implemented several bit manipulation functions and worked through converting various numbers between decimal, binary, and hexadecimal, including signed and unsigned values. A homework problem on flipping a range of bits was assigned, and the need for an additional follow-up lesson was discussed due to the depth of the material.
Integer Data Type Ranges (Unsigned & Two's Complement)
Signed vs. Unsigned Integer Representation (Two's Complement)
Number Systems: Hexadecimal
Binary
Decimal Conversions
Bitwise AND (&) and NOT (~): Clearing and Modifying Bit Ranges
Bitwise OR (|): Setting Specific Bits
Bitwise Right Shift (>>): Extracting Bit Sequences
The session primarily focused on the implementation of the A* search algorithm for a complex problem involving lightning nodes, which was part of a take-home midterm. Subsequently, the Student and Tutor worked on sorting dictionary items using Python's lambda function and addressed a Tic-Tac-Toe winning condition check. They concluded by scheduling their next session for Sunday.
A* Search Algorithm Reapplication
A* Cost Function: Heuristic & Propagation
Python Lambda Functions for Custom Sorting
Graph Search Pruning with `visited` Set
Student and Tutor reviewed C programming code, including file I/O, memory allocation, and string handling, and discussed command-line tools like `gcc` and `valgrind`. They practiced converting numbers between binary, hexadecimal, signed decimal, and unsigned decimal, and extensively covered bitwise operations and bit masking techniques. The session concluded with applying bit masking to solve C functions for device configuration, with a plan for more practice.
C File I/O & Dynamic Memory Management
C String Operations & Formatted Input
Number System Conversions & Integer Ranges
Bitwise Operators & Shift Operations
Bit Masking for Data Manipulation
The Student and Tutor reviewed Exam 1, practicing C programming concepts related to memory management (stack vs. heap), pointer arithmetic, and linked list manipulation. They worked through specific problems involving predicting memory states and implementing linked list merging logic. The session concluded with a plan to cover the remaining Exam 1 questions in the next class before preparing for Exam 2.
String Comparison in C (`strcmp`)
Debugging Memory Allocation Bugs
Linked List Traversal and Manipulation
Memory Allocation: Stack vs. Heap
Pointer Arithmetic and Dereferencing
The Student and Tutor worked through two Python programming challenges: finding two indices in a list that sum to a target value, and creating a function to check if a list is sorted. They debugged logical errors related to loop ranges, index handling, and the impact of `return` statements. For follow-up, the Student was assigned two additional programming questions to complete before the next session.
Nested Loops for Finding Pairs (Two Sum Problem)
Optimizing Nested Loops: Avoiding Duplicates and Self-Pairing
Boolean Functions and the Early Exit Pattern
Algorithm for Checking List Sortedness
The Power of Algorithmic Thinking and Robust Code Design
Approach & tools used by coding tutor
PyCharm
Visual Studio Code
Google Colab
Jupyter Notebook

Programming tutors on Wiingy are vetted for quality
Every tutor is interviewed and selected for subject expertise and teaching skill.
