Skip to content

alexzerntev/archive

Repository files navigation

University Projects Archive

This repository contains a comprehensive collection of university coursework and projects from the Department of Informatics & Telecommunications at the National and Kapodistrian University of Athens. The projects span various computer science disciplines and demonstrate practical implementations of algorithms, data structures, software engineering principles, and modern web technologies.

📚 Project Categories

🔧 C/C++ Projects

Core Computer Science Fundamentals

Algorithms & Data Structures (Project Series)

  • Project 1: Locality-Sensitive Hashing (LSH) and Hypercube implementation for approximate k-nearest neighbors problem
  • Project 2: Clustering algorithms based on Project 1, implementing Lloyd's algorithm with various initialization, insertion, and update methods
  • Project 3: Sentiment analysis and recommendation system building upon clustering from Project 2

Object-Oriented Programming (OOP)

  • Console-based RPG game demonstrating advanced OOP concepts
  • Features: Heroes (Paladin, Sorcerer, Warrior), monsters, inventory system, combat mechanics
  • Technologies: C++, Object-oriented design patterns

Operating Systems (OS)

  • Multi-process communication system using shared memory and semaphores
  • Demonstrates inter-process communication, synchronization, and concurrent programming
  • Technologies: C, POSIX, System calls

Parallel Systems (PS)

  • Image convolution implementation using parallel computing paradigms
  • Technologies: C, CUDA, MPI, OpenMP
  • Focus: High-performance computing and GPU programming

Systems Programming (Syspro)

  • Syspro1: Blockchain implementation with complex data structures (hashtables, linked lists, binary tries)
  • Syspro2: Multi-process file exchange application using POSIX pipes, signals, and low-level I/O
  • Syspro3: Multi-threaded client-server file sharing application using TCP sockets
  • Technologies: C, POSIX, Network programming

🐍 Python Projects

Data Science & Computer Vision

Data Mining

  • Project 1: News article classification using multiple ML algorithms
    • Algorithms: K-Nearest Neighbors, Support Vector Machines, Naive Bayes, Random Forest
    • Dataset: News articles across Politics, Film, Football, Business, Technology categories
  • Project 2: Longest Common Subsequence algorithm applied to traffic route optimization

Image Processing

  • Assignment 1: Image transformation and enhancement
    • Techniques: Gamma correction, spatial transformations, convolution filters
  • Assignment 2: Feature extraction and geometric detection
    • Techniques: Hough Transform (Line and Circle detection), binary image operations

Network Management

  • Software Defined Networks (SDN) project using Mininet
  • Focus: Vehicular networks and wireless networking research
  • Based on academic research in hybrid physical-virtual SDN environments

🌐 Full-Stack Web Applications

Modern Web Development with Multiple Tech Stacks

EAM - Scientific Book Management

  • Backend: PHP REST API architecture
  • Database: MySQL
  • Frontend: Angular, Bulma, TypeScript, HTML5
  • Authentication: JWT
  • Purpose: University textbook and course management system

LuckyWheel - Gambling Application

  • Backend: .NET Core with 5-layer architecture (API, BLL, DAL, CLIENT, MODEL)
  • Database: MSSQL with Entity Framework
  • Frontend: Angular, Bootstrap, Angular Material
  • Features: Real-time gambling wheel, user management

NOD - IoT GPS Tracking System

  • Backend: .NET Core with Repository pattern
  • Database: MongoDB
  • Frontend: Angular, Bulma, OpenMaps integration
  • Special Features: TCP listener for IoT device data collection, GPS trace visualization
  • Technologies: Custom TCP protocol for IoT communication

TED - LinkedIn-like Professional Network

  • Backend: .NET Core 5-layer architecture
  • Database: MSSQL
  • Frontend: Angular, Bulma framework
  • Features: K-NN algorithm for job and friend recommendations, professional networking
  • Course: Technologies of Internet Applications

🤖 Machine Learning & Deep Learning

Deep Learning Implementation

  • Custom neural network implementation using NumPy
  • MNIST dataset classification for binary and multi-class problems
  • Focus: Understanding deep learning fundamentals without high-level frameworks
  • Technologies: Python, NumPy, Matplotlib

React Development

  • CodeHub React Masterclass Project
  • Employee management application with filtering capabilities
  • Technologies: React, Redux, React Router, Webpack, Babel, Bootstrap
  • Features: State management, component architecture, HTTP requests with Axios

🎓 Academic Context

These projects represent coursework from various computer science disciplines:

  • Algorithms and Complexity - Advanced algorithm implementations and analysis
  • Operating Systems - System-level programming and process management
  • Object-Oriented Programming - Software design and architecture
  • Parallel Systems - High-performance and distributed computing
  • Systems Programming - Low-level system interactions and network programming
  • Data Mining - Machine learning and data analysis techniques
  • Image Processing - Computer vision and digital image manipulation
  • Web Technologies - Full-stack web application development
  • Deep Learning - Neural networks and artificial intelligence

🛠️ Technologies Used

Programming Languages

  • C/C++ - System programming, algorithms, performance-critical applications
  • Python - Data science, machine learning, image processing
  • C#/.NET Core - Enterprise web applications, backend services
  • PHP - Web backend development
  • JavaScript/TypeScript - Frontend development, modern web applications

Frameworks & Libraries

  • Frontend: Angular, React, Bootstrap, Bulma
  • Backend: .NET Core, PHP REST APIs
  • Database: MySQL, MSSQL, MongoDB
  • ML/Data Science: NumPy, Matplotlib, scikit-learn
  • Parallel Computing: CUDA, MPI, OpenMP

Development Tools

  • Build Systems: Makefile, Webpack, npm
  • Version Control: Git
  • IDEs: Visual Studio, various text editors
  • Testing: Unit testing frameworks for respective languages

📖 Learning Outcomes

This collection demonstrates proficiency in:

  1. System Programming - Low-level programming, memory management, process communication
  2. Algorithm Design - Implementation of complex algorithms from scratch
  3. Software Architecture - Multi-layer application design, design patterns
  4. Database Design - Relational and NoSQL database implementation
  5. Web Development - Full-stack application development with modern frameworks
  6. Machine Learning - Implementation of ML algorithms and neural networks
  7. Parallel Computing - Multi-threading, GPU programming, distributed systems
  8. Network Programming - TCP/UDP socket programming, protocol design

🏛️ Institution

National and Kapodistrian University of Athens
Department of Informatics and Telecommunications
Various courses spanning undergraduate computer science curriculum


This archive serves as a comprehensive portfolio of academic work, demonstrating both theoretical understanding and practical implementation skills across multiple domains of computer science.

About

Archived past repositories

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published