Pinned Repositories
Advanced-Encryption-Standard
A full hardware implementation of the AES using Verilog, supporting SPI communication between all modules.
AhmedAbdelaal2001
Arabic-Font-Recognition
A classifier that takes in an image containing a paragraph written in Arabic, and classifies the paragraph into one of four fonts: Scheherazade New, Marhey, Lemonada, or IBM Plex Sans Arabic.
Booker
Booker is a website that serves as a library management system, allowing its users to reserve books, track their activity, and see all available workshops/events.
ConnectN-AI-Bot
Simple AI built using the Minimax algorithm, which can play variants of Connect4 having arbitrary board sizes and winning conditions.
CPU-Scheduler
Contains an implementation of an OS scheduler, utilizing various scheduling algorithms and IPC techniques.
Homomorphically-Encrypted-SIFT
A secure Image Processing pipeline based on Homomorphic Encryption, capable of performing various central tasks. Most notably, it includes matching encrypted images using the SIFT algorithm.
Maze-Solving-Robot
An Arduino line following maze solver which utilizes PID control to ensure stability. The robot can record the shortest path to the exit, and follow said path in future rounds.
Route-Planning
My solution to the "Route" assignment of Stanford's CS221 course, focused on search problems. The repository explores finding optimal paths between selected destinations on a real map of Stanford's campus.
Shipping-Company-Simulation
Data Structures and Algorithms (CMPN102) Project.
AhmedAbdelaal2001's Repositories
AhmedAbdelaal2001/Maze-Solving-Robot
An Arduino line following maze solver which utilizes PID control to ensure stability. The robot can record the shortest path to the exit, and follow said path in future rounds.
AhmedAbdelaal2001/Homomorphically-Encrypted-SIFT
A secure Image Processing pipeline based on Homomorphic Encryption, capable of performing various central tasks. Most notably, it includes matching encrypted images using the SIFT algorithm.
AhmedAbdelaal2001/Route-Planning
My solution to the "Route" assignment of Stanford's CS221 course, focused on search problems. The repository explores finding optimal paths between selected destinations on a real map of Stanford's campus.
AhmedAbdelaal2001/CPU-Scheduler
Contains an implementation of an OS scheduler, utilizing various scheduling algorithms and IPC techniques.
AhmedAbdelaal2001/Pohlig-Hellman-Algorithm
An implementation of the Pohlig-Hellman Algorithm, and using it in solving the Discrete Logarithm Problem in the group of units modulo a prime, with large values.
AhmedAbdelaal2001/Shipping-Company-Simulation
Data Structures and Algorithms (CMPN102) Project.
AhmedAbdelaal2001/Advanced-Encryption-Standard
A full hardware implementation of the AES using Verilog, supporting SPI communication between all modules.
AhmedAbdelaal2001/AhmedAbdelaal2001
AhmedAbdelaal2001/Arabic-Font-Recognition
A classifier that takes in an image containing a paragraph written in Arabic, and classifies the paragraph into one of four fonts: Scheherazade New, Marhey, Lemonada, or IBM Plex Sans Arabic.
AhmedAbdelaal2001/Booker
Booker is a website that serves as a library management system, allowing its users to reserve books, track their activity, and see all available workshops/events.
AhmedAbdelaal2001/ConnectN-AI-Bot
Simple AI built using the Minimax algorithm, which can play variants of Connect4 having arbitrary board sizes and winning conditions.
AhmedAbdelaal2001/Convex-Hull
A divide and conquer algorithm which efficiently computes the Convex Hull/Envelope of a set of points.
AhmedAbdelaal2001/Exploring-Word-Embeddings
Contains an analysis of GloVe word vectors on intrinsic measures such as modelling analogies, polysemy, synonyms, antonyms, and bias. Furthermore, compares GloVe vectors with count-based vectors extracted from the Reuter's corpus.
AhmedAbdelaal2001/Interval-Scheduling
Solves two variants of the Interval Scheduling Maximization Problem (ISMP): Weighted and Unwieghted.
AhmedAbdelaal2001/Multi-Agent-Pac-Man
Implementation of AI agents for the classic version of the Pac-Man game utilizing minimax and expectimax search, coupled with a uniquely crafted evaluation function. Agents include Pac-Man itself, as well as all of its adversarial agents (ghosts). Contains solutions of the "Games" assignment of Stanford's CS221 course.
AhmedAbdelaal2001/ODE-Solver
A desktop application capable of solving any ODE of any order given suitable initial conditions using 7 different numerical methods, and plots the result.
AhmedAbdelaal2001/Regression-And-Classification-Models
Implementations of standard discriminative machine learning algorithms, some of which are solutions to selected coding problems from Stanford's CS229 course.
AhmedAbdelaal2001/Ring-Isomorphisms-and-The-FFT
An implementation of the Radix-2 Decimation-In-Time (DIT) form of the Cooley-Tukey FFT algorithm, as well as its inverse. The algorithm is used to multiply 2 polynomials and compute the convolution of 2 vectors in O(nlogn) time.
AhmedAbdelaal2001/Snakes-Ladders-Monopoly-Game
A board game which combines the rules of Snakes and Ladders with Monopoly.
AhmedAbdelaal2001/van-Emde-Boas-Tree
An implementation of the van Emde Boas tree data structure, yielding extremely fast asymptotic runtime complexities for queries: O(log(log(n)))
AhmedAbdelaal2001/x86-Chess
A real-time chess game built using x86 assembly, supporting a chat module and wireless play.