University Projects/Assignments
There are many university projects and assignments I’ve submitted over the years and in this blog post I’ll list some of them in no particular order. (Some have available source code, some are lost in old hard drives…)
AI
- Solving the missionaries and cannibals problem for arbitrary numbers of missionaries/cannibals using A* in Java.
- Solving the N-Queens problem for arbitrary number of board-squares/Queens using the hill climbing algorithm in Java.
- Bernoulli Naive Bayes implementation for sentiment classification of the Keras IMDB movie review dataset in python using Jupyter Notebook.
- Connect 4 versus AI using the minimax algorithm and alpha-beta pruning in collaboration with Manolis Christoforou.
C++
- 2D Space Shooter
Databases
- AWS (Amazon RDS) PostgreSQL database for Airbnb data using psql and pgAdmin4. Table creation/alteration, constraints, queries, triggers, indexes.
Database design
- Databases in depth. Disks, hashing, multi-dimensional indexing, statistics, joins, transactions, query optimization, data warehousing. Using Microsoft SQL.
Web programming
- Pure HTML/CSS/JavaScript site.
- Book search and favourites list using Node backend and HTML/CSS/JavaScript frontend obtaining the data from the Penguin Random House api
Security
- Risk assessment in mock company.
Networks
- Analysing packets with Wireshark
Information retrieval
- Document classification of the CACM collection using Java, Apache Lucene, SVD in python and trec_eval for the evaluation.
Social Network Analysis
- Analysis of Twitch communities based on shared viewership (Kiran Gershenfeld’s datasets) using Gephi and python’s networkx. Click on the image for full size.
Multimedia Technology
- SynchronizedPlayer, a multimedia player that allows multiple users to play media synchronized through the internet.
Human computer interaction
- Thermostat remote control UI/UX for Android.
Elements of Information Law
- A study of the laws surrounding e-commerce and e-shops including GDPR (in Greek).
Pedagogical applications in education
- Creating a mock course with the use of the Moodle educational platform.
Course I chose to teach: Introduction to the Rust programming language