KhaledAshrafH
I am a passionate and versatile computer science graduate with a keen interest in software engineering.
Banque Misr (Digitory)Giza, Egypt
Pinned Repositories
2D-Graphics-Toolkit
This is a C++ project that uses Windows API and OpenGL to create a graphical user interface (GUI) for drawing and manipulating 2D shapes. The project implements various algorithms for line, circle, ellipse, curve, filling, and clipping operations. The user can interact with the window using mouse only, and can choose the shape color, filling quarte
Auto-Filling-Text
This project is an auto-filling text program implemented in Python using N-gram models. The program suggests the next word based on the input given by the user. It utilizes N-gram models, specifically Trigrams and Bigrams, to generate predictions.
AVL-Tree
This is a C++ implementation of an AVL tree, which is a self-balancing binary search tree. An AVL tree maintains the balance factor of each node, which is the difference between the heights of its left and right subtrees. Whenever a node becomes unbalanced (its balance factor is either -2 or 2), the tree performs a rotation to restore the balance.
B-Tree
This contains a C++ code that implements a B-Tree data structure. A B-Tree is a self-balancing tree that can store and retrieve data efficiently. It is commonly used in databases and file systems.
ChatGPT-Sentiment-Analysis
This project aims to perform sentiment analysis on tweets related to ChatGPT, a popular language model developed by OpenAI. The dataset used for training and testing consists of 219,293 tweets collected over a month. Each tweet is classified as positive ("good"), negative ("bad"), or ("neutral").
Clothify
Clothify-System is an online shopping website that allows users to browse, search, and purchase products. The website features a user-friendly interface, and an administration page that enables the management of products. The website also follows the color scheme and UI/UX principles of the other apps in the project. The project was developed using
FTP-Client-Server-Application
This is a implementation of a FTP (File Transfer Protocol) client-server application using Java sockets. The client can connect to the server, login with username and password, and download files from the server. The server can handle multiple clients and authenticate them using a file that stores the authorized users and their passwords. The serve
GoFo-System
This project is a booking system for football playgrounds. It serves the players and playground owners as well as an administrator who oversees the overall operations of the system. The project is developed as part of a software engineering course.
Tiny-Compiler
This project is a fully functional compiler for the TINY programming language, which is a language that supports basic arithmetic, boolean, and control flow operations. The compiler can scan, parse, and run code written in the TINY language.
Virtual-File-System
It's a Java project that simulates the allocation and de-allocation of files and folders in a virtual file system using different allocation techniques. It provides a command-line interface for users to interact with the virtual file system and perform various operations such as creating files and folders, deleting files and folde
KhaledAshrafH's Repositories
KhaledAshrafH/Auto-Filling-Text
This project is an auto-filling text program implemented in Python using N-gram models. The program suggests the next word based on the input given by the user. It utilizes N-gram models, specifically Trigrams and Bigrams, to generate predictions.
KhaledAshrafH/Tiny-Compiler
This project is a fully functional compiler for the TINY programming language, which is a language that supports basic arithmetic, boolean, and control flow operations. The compiler can scan, parse, and run code written in the TINY language.
KhaledAshrafH/Virtual-File-System
It's a Java project that simulates the allocation and de-allocation of files and folders in a virtual file system using different allocation techniques. It provides a command-line interface for users to interact with the virtual file system and perform various operations such as creating files and folders, deleting files and folde
KhaledAshrafH/ChatGPT-Sentiment-Analysis
This project aims to perform sentiment analysis on tweets related to ChatGPT, a popular language model developed by OpenAI. The dataset used for training and testing consists of 219,293 tweets collected over a month. Each tweet is classified as positive ("good"), negative ("bad"), or ("neutral").
KhaledAshrafH/2D-Graphics-Toolkit
This is a C++ project that uses Windows API and OpenGL to create a graphical user interface (GUI) for drawing and manipulating 2D shapes. The project implements various algorithms for line, circle, ellipse, curve, filling, and clipping operations. The user can interact with the window using mouse only, and can choose the shape color, filling quarte
KhaledAshrafH/Clothify
Clothify-System is an online shopping website that allows users to browse, search, and purchase products. The website features a user-friendly interface, and an administration page that enables the management of products. The website also follows the color scheme and UI/UX principles of the other apps in the project. The project was developed using
KhaledAshrafH/Chinese-Checkers-AI-Game
This is a Java-based implementation of the Chinese Checkers game with a graphical user interface (GUI). The game allows you to play against an AI opponent using the Alpha-Beta Pruning algorithm. The objective of the game is to move all your marbles to the opposite point of the star-shaped game board. The first player to achieve this wins the game.
KhaledAshrafH/Disk-Scheduling-Visualizer
It's a Java-based repository that aims to implement and compare various disk scheduling algorithms. The project focuses on optimizing the movement of the disk head while accessing I/O blocks on cylinders. It provides a comprehensive solution for analyzing and visualizing the performance of different algorithms.
KhaledAshrafH/Riemann-Zeta
This repository contains an MPI program written in C that calculates the Riemann zeta function and evaluates its performance using MPI collective communication functions. The program approximates the value of ζ(3) with a given value of `s` (3 - Apéry's constant). It calculates the runtime, speedup, and efficiency for different numbers of processes.
KhaledAshrafH/Sign-Language-Digit-Recognizer
This project aims to classify sign language for numbers from 0 to 9 using different neural network architectures (FFNN - LSTM - CNN) and SVM. The goal is to create a sign detector that can recognize and translate sign language gestures to text.
KhaledAshrafH/Deadlock-Handler
This repository contains a C++ implementation of the Banker's algorithm, which is used to avoid deadlock in a system. The program allows processes to request and release resources, and the banker will grant a request only if it leaves the system in a safe state. If a request would lead to an unsafe state, it will be denied. The program also include
KhaledAshrafH/Fuzzy-Logic-Toolbox
It's a Java-based application that provides functions and tools for designing and simulating fuzzy logic systems. It offers a user-friendly interface for creating and testing fuzzy logic systems by allowing users to define and configure input variables, output variables, membership functions, rules, and defuzzification methods.
KhaledAshrafH/Expertify
This repository contains the implementation of several expert systems using the CLIPS (C Language Integrated Production System) programming language. Each problem is implemented as a separate module within the repository. The expert systems cover a range of domains including family relationships, flag colors, GPA calculation, shape manipulation, an
KhaledAshrafH/GA-Knapsackizer
This repository contains a C++ program that solves the Knapsack Problem using a Genetic Algorithm. The Knapsack Problem is a classic optimization problem where we aim to maximize the total value of items to be packed in a knapsack, given the knapsack's weight capacity and a set of items with their respective weights and values.
KhaledAshrafH/Airfield-Ontology
This repository contains an ontology built using Protégé for modeling the domain of airfields, runways, taxiways, gates, and aircrafts. The ontology captures various constraints and relationships between different entities in the airfield domain.
KhaledAshrafH/Linear-Regression
This program implements linear regression from scratch using the gradient descent algorithm in Python. It predicts car prices based on selected features and uses a dataset of cars with their respective prices.
KhaledAshrafH/Logistic-Regression
This program implements logistic regression from scratch using the gradient descent algorithm in Python to predict whether customers will purchase a new car based on their age and salary.
KhaledAshrafH/University-Management-Ontology
This project aims to create an ontology for a university using the Protege editor. The ontology defines various classes and their relationships within the university domain. It also includes queries and rules implemented in Protégé and CLIPS to retrieve information from the ontology.
KhaledAshrafH/DT-Banknote-Authenticator
This Python code utilizes the decision tree algorithm from the scikit-learn library to perform banknote authentication. The code aims to analyze the impact of different train-test split ratios and training set sizes on the accuracy and size of the learned decision tree.
KhaledAshrafH/Ages-Distribution-Histogram
This program implements a histogram using MPI and OpenMP to analyze a dataset containing group ages that watch a TV show. The goal is to calculate statistics about the groups of age and generate a frequency histogram.
KhaledAshrafH/Curve-Fitting
This program implements a genetic algorithm for curve fitting using a polynomial equation. The goal is to find the best coefficients for the polynomial equation that minimize the distance between the curve and a given set of data points. The genetic algorithm is used to search for the optimal solution by evolving a population of candidate solutions
KhaledAshrafH/JRoboStack
It's a comprehensive testing project aimed at thoroughly testing a Todo application. It includes testing for both the backend and frontend components. The project is built using a Spring Boot backend server and an HTML/JavaScript frontend.
KhaledAshrafH/K-Means-Clustering
This program implements the K-means clustering algorithm using OpenMP APIs. The K-means algorithm is a popular method of vector quantization that aims to partition n observations into k clusters. Each observation is assigned to the cluster with the nearest mean, serving as a prototype of the cluster.
KhaledAshrafH/KNN-Classifier
This repository contains a Python implementation of a K-Nearest Neighbors (KNN) classifier from scratch. It's applied to the "BankNote_Authentication" dataset, which consists of four features (variance, skew, curtosis, and entropy) and a class attribute indicating whether a banknote is real or forged.
KhaledAshrafH/MPI-Student-Grade-Checker
It's a high-performance computing program that utilizes MPI to process a list of student grades in parallel and determine which students have passed the exam and which ones need to repeat it.
KhaledAshrafH/IMDb-Automation-Robot
This repository contains test scripts written in Robot Framework with Selenium Library for automating and conducting comprehensive testing scenarios on the IMDb website, ensuring the functionality, performance, and user experience of the website are thoroughly validated.
KhaledAshrafH/KhaledAshrafH
My Home Page
KhaledAshrafH/TechBlend-Testing
This repository contains code and documentation for performing black box testing and graph coverage analysis on software systems. Black box testing is a technique that tests the functionality of a system without knowing its internal structure or implementation. Graph coverage analysis is a technique that measures how well a set of test cases covers
KhaledAshrafH/Students-Registration-System
It's a subsystem that facilitates the process of registering student data. It includes two components: the main menu component for individual student registration and the batch data component for bulk student registration.
KhaledAshrafH/Students-Statistics-System
It's a subsystem that provides statistics related to student registration. It includes two functionalities: displaying registration statistics and listing batch files.