Collection of all projects from my Bachelor's and Master's studies at FIT BUT.
Majority of the projects were implemented in C and Python, but there are also projects in C++, C#, Java, PHP, JavaScript, Assembly language, VHDL, Prolog, and Haskell. LaTeX was used for documentation of some of the projects.
Disclaimer: These projects were done years ago, and not all of them fully reflect all given specifications and requirements. After all, these were all school projects - you can inspire, but you should implement everything by yourself.
-
Iterative computations of certain mathematical functions [C] (see Project 2 in IUS for the documentation)
-
Crossword game [C]
-
Model of an airport information system [Use Case Diagram and ERD]
- Finite state machine implementation [VHDL] (FITKit platform)
-
Version control [Bash]
- Space Invaders [VHDL]
-
Infix to Postfix [C]
-
Hash table [C]
-
Binary Search Tree [C] (recursive implementation)
-
Binary Search Tree operations: pre-order, in-order, and post-order tree traversals [C] (non-recursive implementation)
-
LED matrix display control [VHDL]
-
Implementation of a simple processor [VHDL] (the processor is able to interpret BrainF*ck language)
- Ping-pong game [C with inline assembler]
- Image processing [MatLab]
- Simple library information system [SQL queries using Oracle database system]
-
FTP client [C/C++]
-
Client/server application for file download [C/C++]
-
Design of a custom application-level protocol.
-
Implementation of a client and a server that utilizes such protocol using unix sockets.
-
The server works concurrently, thus multiple clients can be handled in parallel.
-
-
XML to DDL [PHP 5]
-
Syntax highlighting of an input text [Python]
- Maze game in console [Java]
-
Simple one-page static website [HTML and CSS]
-
Simple static website [HTML, CSS, and JQuery]
- Texturing problems [C using SDL library]
- Library information system [HTML, CSS, Javascript, PHP 5, and MySQL 5.0] (based on IS design from IDS)
- Speedometer application [C and VHDL] (FITKit platform)
- Traffic simulation on D1 highway [C++] (Prague-Brno in both directions using realistic offline data parsed from multiple internet sources)
- HTTP headers monitoring [C++ using libpcap library]
- Simple Wi-Fi locator [Python 3, PyOtherSide, and Qt 5]
-
Skype security [technical report]
-
Lowe modified Denning-Sacco shared key [security protocol analysis]
- Cookbook application [WPF application in C# using Entity Framework]
- Image filtration and segmentation [C and VHDL] (FITKit platform)
The assignments were related to formal languages, grammars, and automata theory.
- Analysis of humane genome GRCH38 [Python]
-
Determination of a nondeterministic finite state automata [Haskell]
-
Rubik's Cube [Prolog]
The projects were focused on parallel computation using Open MPI.
-
Hello world introduction in MPI [C/C++]
-
Minimum Extraction Sort [C/C++]
- TCP communication analysis [Python and web UI]
- A Fault Tolerance Transaction System Based on Persistent Memory [technical report]
-
Searching for secrets (network scanning, data tampering, password mining, sql injection, vulnerability exploitation, searching for secrets in files and metadata, and more)
- Gathering data from accelerometer(s) for determining position of a quadcopter [C and Python] (Arduino UNO platform)
-
On-Radio [C#]
Windows Mobile 10 application for listening to online streams of FM radios.
-
Implementation of secured communication channel between two nodes [C++]
Client-server application that used:
-
Diffie-Hellman for secure key exchange.
-
AES for data encryption.
-
Feige-Fiat-Shamir identification protocol.
-
SHA-256 hash function for maintaining integrity.
-
-
Validation of SSL certificates [C++ using OpenSSL]
- Video rental web service [Java using Spring Framework, Thymeleaf, and WebJars]
[Erasmus studies on TEI Crete]
-
Programming with Google Maps [presentation]
-
VR View for Web [presentation]
-
Tic Tac Toe game with Superchat [NodeJS and socket.io] (web application in which two users can play the game and can communicate with each other via secured communication using chat as well as video and audio)
-
Location-based Services [NodeJS] (web application hosting location-based features)
The assignments contained both, theoretical and practical questions.
The projects were mostly experimental.
-
Solving Substitution Ciphers with Genetic Algorithms [Python]
-
Fuzzy string searching [Python]
The assignments were mostly technical reports.
The homeworks were mostly about studying and processing a given literature sources.