The project at hand is a Python-based code cracker game that challenges players to deduce a secret code using various hints.
The program is a battleship simulator designed to be run in a terminal environment. The simulator is available in two versions: one implemented with object-oriented programming (OOP) techniques and one without.
A software application has been developed to perform Excel simulations and generate graphical representations from input files. The resulting graphical representations offer a visual depiction of the data, facilitating users' interpretation and analysis of the simulation results.
Simulate collision of random objects with each other inside a cube as well as other functions.
Proposal for an interactive application that works dynamically based on spatial and temporal data, to solve the traffic problem in large cities.
The software application provides a graphical user interface that enables users to read, edit, and save a variety of text files in different encodings. Additionally, the application offers a text-to-speech feature, allowing users to convert their text into audible sound, and configure sound parameters to their preferences.
Compiler implementation that can translate code written in the CIMPLE source language into the Assembly target language. The CIMPLE language was specifically designed for creating a compiler and includes support for various programming constructs, such as basic mathematical operations, if/else statements, loops, input/output operations, functions, procedures, and more.
Modeling a dynamically configurable deep neural network in Java with a maximum generalization of 94% which recognizes different ‘classes’ of points in space depending on the conditions they satisfy.
Modeling the K means algorithm in Java for clustering random points in a limited space interval.
Construction of a stress test using a genetic algorithm to find the instructions that maximize the switching activity in a processor, using assembly instructions.
Creation of a GUI movie search engine using the “Lucene” library in Java.
The proposed project involves enhancing the performance of a log structured merge tree storage device by implementing multiprocessing techniques for the read and write functionality. The main objective is to leverage the power of parallel computing to speed up the read and write operations, thereby improving the overall performance of the storage system.
I conducted research under Prof. Evagelia Pitoura on applying machine learning techniques to relational data and creating embeddings using a novel method. The process involved creating a set of edges based on the relationships between different entities in the data, which were then used to build a graph. Random walks were applied to the graph to generate sentences, which served as the input for training the embeddings. To achieve a more complete representation of the neighbors of each node, the system utilized the innovative approach of promoting random walks as the propositions for learning, rather than encoding a line of the data set. For the training of the embeddings, I implemented and compared several popular learning algorithms and all of their variations, using different values for the model parameters, such as window size and dimensions, were tested to determine the optimal settings for each algorithm. I finally evaluated these embeddings by comparing their quality and time performance under different conditions. The results were used to identify the most effective algorithms and parameter values for generating high-quality embeddings.