Skip to main content

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.