Short UNIX/Python tutorial in Python and the UNIX environment.
Implement depth-first, breadth-first, uniform cost, and A* search algorithms. These algorithms are used to solve navigation and traveling salesman problems in the Pacman world.
Implement multiagent minimax and expectimax algorithms, as well as designing evaluation functions.
A classifier to identify anti-vax | pro-vax tweets using Logistic Regression. Experimented with different hyperparameters, vectorizers and pre processing. Evaluated with F1 score, precision and recall.
A classifier to identify anti-vax | pro-vax tweets using FeedForward Neural Network. Experimented with pre-trained word embedding vector (GloVe), optimizers, number of hidden layers and the number of their units. Also experimented with different loss functions and metrics.
A classifier to identify anti-vax | pro-vax tweets using Bidirectional Stacked RNN (LSTM & GRU Cells). Experimented with Vanillia RNN and then compared it with RNN using GRU and LSTM Cells. Also experimented with dropout propability, GloVe sizes and different number of layers and the number of hidden size.
Question Answering using Transformers. Fine-tuning a BERT-base model and expirimented with number of epochs, batch sizes, sequence length, gradient clipping, learning rate, and different optimizers.
Sentiment Analysis on vaccination tweets. Created vectorizers Bag-of-words, Tf-idf, Word Embeddings. Tested the vectorizers with SVM, Random Forest, KNN. Used the LDA (Latent Dirichlet Allocation) algorithm to split the data into topics.
Two Processes sends each other mesages (server-client aproach) by a third process that simulates the channel. The messages are stored and passed from shared memory with the use of semaphores.
This is a programm that simmulates 2 programms (bzip and gcc) with pages that are stored in ram using Hashed Paged Table and when the frames of the ram are full the page replacement happens with LRU or Second Change Algorithm.
Implementation of Heap File Block, Hash File Block, Secondary Hash File Block.
This Application is a single Process that holds records of vaccinations. It has structures (Bloom Filter | Skip List) and answers commands based on the records given.
Extends the Vaccine Monitor 1 by making sub Processes(a sub Process takes some countries that it is responsible). The communication between the main Process and the sub Processes is made with named-pipes.
Extends the Vaccine Monitor 2 by making the sub Processes multi threading. The communication is also changed from named-pipes to web-sockets and signals.
Implements a simple calculator. It supports addition, subtraction, and exponentiation operators, as well as parentheses. Also implements a parser and translator for a language supporting string operations. It supports the concatenation, function definitions, function calls and conditionals.
Impliments a compiler for MiniJava, a subset of Java. MiniJava is designed so that its programs can be compiled by a full Java compiler like javac.
Impliments visitors who transform MiniJava code into the intermediate representation used by the LLVM compiler project.
The purpose was to fix the vunerabilities of the Open Eclass 2.3 (XSS, SQL Injections, CSRF Token, RFI) & attack the others teams website's trying to deface them.
To gain experience in web development, I developed this portfolio.
Recreated Doatap https://www.doatap.gr/ website. The concept was to fix the faults, make it more user friendly and in the same time more usable.
An android application that assists users in finding air conditioning error codes and receiving helpful advice on how to resolve the issue. [Monthly Users ~2.500, Total Downloads ~5.000]