Projects/README.md
2026-04-21 09:24:11 +02:00

8.1 KiB
Raw Permalink Blame History

University Projects — Roman Nečas

Coursework from the Bachelor of Information Technology programme at the Faculty of Information Technology, Brno University of Technology (FIT VUT), 20232026.

This repository is a portfolio snapshot — for each course, the version of the project that was submitted and graded. Some projects are team efforts (co-authors credited in the relevant directory); the rest are solo work.

Repository layout

projects/
├── 1BIT/   # Year 1 (2023/2024)
│   ├── winter-semester/
│   └── summer-semester/
├── 2BIT/   # Year 2 (2024/2025)
│   ├── winter-semester/
│   └── summer-semester/
└── 3BIT/   # Year 3 (2025/2026)
    ├── winter-semester/
    └── summer-semester/

Highlights

If you only have time to look at a few projects, start with these:

  • ISA — ICMP Covert Channel (C, OpenSSL) — encrypted file transfer tunneled through ICMP Echo packets.
  • IJA — Advance Wars clone (Java 21, JavaFX, 93 JUnit tests) — turn-based strategy game with two AI opponents and a replay system. Team lead.
  • IIS — Winery Management System (Laravel 12, Tailwind 4, Docker) — full-stack web app with 20+ migrations and role-based access control.
  • IMP — ESP32 Heart-Rate Monitor (C, ESP-IDF, FreeRTOS) — photoplethysmography with a Kalman filter, sampled at 500 Hz.
  • IPK — L4 Port Scanner (C, raw sockets) — TCP/UDP scanner for IPv4 and IPv6, benchmarked against Nmap.
  • INP — 8-bit CPU in VHDL — synthesisable CPU that executes a BrainFuck-like instruction set.

Year 3 (2025 / 2026)

Winter semester

ISA — Network Applications and Management File transfer through an ICMP covert channel. A C client/server that hides arbitrary files inside ICMP/ICMPv6 Echo-Request/Reply payloads, encrypts them with AES before transmission, and reassembles them on the listening side. Includes a custom on-top-of-ICMP framing protocol, a manpage, and a PDF design document.

IIS — Information Systems Winery management web application. Grape varieties, vineyard rows, harvests, wine production, purchases, events, and customer reservations. Laravel 12, Tailwind CSS 4, Vite; role-based access control via Laravel Policies; Dockerised for dev and prod.

IMP — Microprocessor and Embedded Systems ESP32 heart-rate monitor using an optical PulseSensor and an I²C OLED display. 500 Hz ADC sampling on a hardware timer, Kalman-filtered signal, threshold-crossing beat detection. Written in C on ESP-IDF v5.5.1 with FreeRTOS.

IMS — Modelling and Simulation Ski resort discrete-event simulation in C++/SIMLIB. Analyses lift capacity, queue lengths, and throughput under varying skier arrival rates. Team of 2.

IZV — Data Acquisition, Processing and Visualization Three Python assignments covering web scraping, statistical analysis of a real-world dataset, and visualization.

Summer semester

IJA — Java Programming Language Advance Wars clone in Java 21 / JavaFX. Grid-based tactical combat with terrain costs, multiple unit types, economy, two AI opponents (random and heuristic), and a step-through replay. Architecture uses MVC (engine cleanly separated from GUI), Command pattern with full undo/redo, Factory, and Observer. Dijkstra pathfinding. 93 JUnit 5 tests across 15 test classes.

ITS — Software Testing and dynamic analysis Test design exercises: BDD/Gherkin scenarios, test case documentation, and coverage reports.

Year 2 (2024 / 2025)

Winter semester

INP — Computer System Design

  • Project 1: 8-bit CPU in VHDL that interprets a BrainFuck-like instruction set (synthesisable, simulated in ModelSim).
  • Project 2: Vigenère cipher implemented in MIPS64 assembly.

ISS — Signals and Systems Digital signal processing assignment in Python (Jupyter notebook): spectral analysis, filtering, and frequency-domain manipulation of audio signals.

ITU — User Interface Design UI/UX project — mockup, clickable prototype, and a final documentation PDF.

IAL — Algorithms Classic data structures in C across two homework sets: linked lists, stacks, queues, binary trees (both recursive and iterative traversal), and hash tables.

Summer semester

IPK — Computer Communication and Networks

  • Project 1 (OMEGA): L4 port scanner in C supporting TCP and UDP scanning over IPv4 and IPv6; evaluated against Nmap.
  • Project 2 (IPK25-CHAT): Chat client implementing the IPK25-CHAT application protocol with both TCP and UDP transport variants, authentication, and channel semantics.

IPP — Principles of object-oriented programming Two-part compiler project for the SOL25 language.

  • Part 1: Python 3.11 parser using the Lark library; produces an XML AST after lexical, syntactic, and static semantic analysis.
  • Part 2: PHP 8 interpreter for SOL25, built object-oriented with clean Model / Expression / Statement / Values namespaces.

IDS — Database Systems Library management database in Oracle SQL. Four-part team project (ER model → relational schema → DML and queries → triggers, procedures, materialized view, analytical queries). Team of 2.

IBS — Information System Security Security assignments covering authentication, access control, and common vulnerability classes.

IZU — Fundamentals of Artificial Intelligence Four assignments on classical AI: uninformed and informed search, heuristics, and game-tree algorithms.

ITY — Typography and Publishing Five LaTeX typesetting assignments of progressively increasing complexity — from basic documents to mathematical papers and bibliographies.

Year 1 (2023 / 2024)

Winter semester

Keyfilter — C project implementing interactive prefix-based filtering over a keyword list.

Maze — C project implementing right-hand / left-hand rule maze solving on a triangular-cell maze.

IEL — Electronics for Information Technology DC / AC circuit analysis project with Dia schematics and a written report.

Summer semester

IJC — Programming in C

  • Project 1: Sieve of Eratosthenes built on a custom bitset data structure, plus a no-comment preprocessor that strips C-style comments.
  • Project 2: Generic hash-table library with string interning, used to implement tail and wordcount clones.

IOS — Operating Systems

  • Project 1: Bash shell scripting for log processing and filesystem traversal.
  • Project 2: Process synchronization in C using POSIX shared memory and semaphores.

INC — Digital Design Digital logic assignment (schematic / VHDL level).

IZLO — Fundamentals of Logic Two assignments combining propositional / predicate logic theory with a small C implementation.

Course code reference

Code Course (English)
IJC Programming in C
IOS Operating Systems
INC Digital Design
IZLO Fundamentals of Logic
IEL Electronics for IT
IAL Algorithms
INP Computer System Design
ISS Signals and Systems
ITU User Interface Design
IBS Information System Security
IDS Database Systems
IPK Computer Communication and Networks
IPP Principles of object-oriented programming
ITY Typography and Publishing
IZU Fundamentals of Artificial Intelligence
ISA Network Applications and Management
IMS Modelling and Simulation
IMP Microprocessor and Embedded Systems
IIS Information Systems
IZV Data Acquisition, Processing and Visualization
IJA Java Programming Language
ITS Software Testing and dynamic analysis

Notes

  • All projects were developed for FIT VUT courses and graded by the respective instructors. They are published here as a portfolio snapshot; the faculty's academic integrity rules apply to anyone considering reuse.
  • Team projects list co-authors inside the relevant project directory (e.g., IDS/xnecasr00_xpribik00/).
  • Binary build artefacts and third-party dependencies are generally excluded; follow each project's build instructions to rebuild from source.

Contact

Roman Nečas — LinkedIn.roman@necas.me