Academic Roots 4 Years of Compiling, Learning, and Conquering
Academic Roots
4 Years of Compiling, Learning, and Conquering
Faculty of Computers and Artificial Intelligence @Cairo University
Bachelor of Science in Computer Science | GPA: 3.74 / 4.00
May 2021 - Jun 2025
Cairo, Egypt
Big Data
- Explored distributed computing with Hadoop and MapReduce, including design patterns like In-Mapper Combining and Secondary Sorting.
- Gained hands-on knowledge of Spark, RDDs, and NoSQL database models, including key-value, document, and column-family stores.
Data Mining
- Practiced data preprocessing, exploration, and normalization with a focus on pattern discovery, clustering, and classification.
- Implemented models such as decision trees, KNN, neural networks, and regression techniques for mining meaningful insights.
Machine Learning
- Studied supervised and unsupervised learning techniques, including KNN, SVM, decision trees, neural networks, regression, and clustering.
- Applied machine learning models for classification, prediction, and pattern recognition using real-world datasets.
Data Analytics
- Explored data representation, wrangling, and analysis techniques using tools like Excel, Power Query, and Power BI.
- Applied computational thinking and scripting to solve real-world data problems through dashboards, regression models, and summary statistics.
Service-Oriented Architecture (SOA)
- Learned SOA principles, roles, and lifecycle including service identification, classification, and integration of legacy systems.
- Analyzed real case studies and architectural components like Enterprise Service Bus (ESB) to understand scalable service-based design.
E-Business
- Studied revenue models, online marketing strategies, and customer relationship management in the digital economy.
- Analyzed business processes, internet technologies, and global e-commerce trends through SWOT analysis and value chain evaluation.
Geographic Information Systems (GIS)
- Gained foundational skills in spatial data handling, map composition, and spatial databases using ArcGIS and other tools.
- Built and queried spatial datasets, applied cartographic principles, and used GPS and network-based models for real-world GIS applications.
Analysis and Design of Information Systems
- Learned system development life cycle (SDLC), functional vs. nonfunctional requirements, and Agile methodologies.
- Applied UML diagrams, use case modeling, and object-oriented design principles to analyze and design real-world systems.
Advanced Software Engineering
- Applied SOLID principles, design patterns (Factory, Strategy, Observer, etc.), and architectural styles (SOAP, REST) to create extensible and maintainable software systems.
- Built Java-based projects including an Instapay system and an Orders & Notifications module, integrating REST APIs, OOP principles, and robust software design techniques.
Database Management Systems (Advanced)
- Gained advanced knowledge in SQL, relational algebra, indexing, query optimization, transaction processing, and concurrency control techniques like two-phase locking and deadlock resolution.
- Implemented practical database solutions using T-SQL, stored procedures, triggers, and user-defined functions (UDFs) to ensure reliability, consistency, and performance in complex systems.
Operating Systems
- Gained foundational knowledge of OS concepts including process management, CPU scheduling, synchronization, and memory management (main & virtual).
- Built Java-based projects including a CLI shell, Wi-Fi router simulation with threading and semaphores, and scheduling algorithm simulators (SJF, SRTF, Priority, AG Scheduling).
Algorithms
- Gained deep understanding of algorithm analysis and design techniques including divide and conquer, dynamic programming, greedy algorithms, and hashing.
- Implemented and analyzed algorithms such as Quicksort, Radix Sort, Red-Black Trees, Dijkstra’s algorithm, and dynamic programming solutions to classical problems.
Data Structures
- Mastered abstract data types (ADTs) and implemented core structures in C++, including lists, stacks, queues, and trees, with a focus on efficiency and memory optimization.
- Built custom applications such as an AVL tree-based student management system and implemented sorting algorithms from scratch to deepen algorithmic understanding.
Web Development
- Gained full-stack web development skills using HTML, CSS, JavaScript, Python, and Django, with focus on HTTP, frontend/backend integration, and web architecture.
- Built a higher studies management website using Django and SQLite, enabling admin control over student records, courses, and departments.
Software Engineering
- Practiced a disciplined approach to software development, focusing on requirements engineering, modeling (UML), design, testing, and lifecycle management.
- Applied course concepts in Java-based projects, including an XO game and a fully modeled Toffee system using UML diagrams and clean code principles.
Introduction to Database Systems
- Gained practical and theoretical knowledge in relational databases, SQL, ER modeling, normalization, and relational algebra using MS SQL Server.
- Built a university library management system in C# and SQL Server, applying full database design, query logic, and normalization principles.
Structured Programming
- Strengthened problem-solving and algorithmic thinking by building structured C++ programs using divide-and-conquer techniques and modular design.
- Completed practical projects including encryption algorithms, an image filtering tool, and a basic login system using C++ and Qt.
Object-Oriented Programming
- Mastered OOP principles using C++: classes, inheritance, polymorphism, abstraction, and generic programming.
- Applied design techniques in real-world projects including a banking system, custom vector class, and documented code using Doxygen.