Skip to content
View phpc99's full-sized avatar

Block or report phpc99

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don't include any personal information such as legal names or email addresses. Markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
phpc99/README.md

Hi there 👋

  • Currently attending my last semester of studies at the University of Porto, Portugal.

Projects

Unidade Curricular / Course Unit Name Description
Algoritmos e Estruturas de Dados / Algorithms and Data Structures Schedules Management System This project manages and organizes class schedules for L.EIC students. It allows viewing, searching, modifying, and sorting schedules using efficient data structures such as vectors, lists, queues, and binary search trees. The system also handles student registration requests, checks for schedule conflicts and class capacities, and records all changes for easy tracking.
Bases de Dados / Databases Music Streaming Platform This project implements a database for a music streaming platform that manages users, artists, songs, albums, playlists, and payments. It ensures data consistency through normalization (BCNF and 3NF) and was fully developed and populated in SQLite.
Computação Gráfica / Computer Graphics Interactive 3D Scene This project develops an interactive 3D scene comprising terrain, buildings, forest, water body and a user-controlled helicopter that can fight a fire using a water bucket. It integrates modelling, animation, collision detection and real-time rendering techniques.
Compiladores / Compilers Simplified Java Compiler This project focuses on the design and implementation of a compiler for a simplified version of Java, covering lexical, syntactic, and semantic analysis, as well as code generation and optimization. It produces JVM bytecode via Jasmin, demonstrating key compiler design concepts from parsing to code emission.
Computação Paralela e Distribuída / Parallel and Distributed Computing First project: Matrix Multiplication Optimization Study This project focuses on the performance evaluation of matrix multiplication algorithms using both single-core and multi-core implementations. Several approaches were developed in C++ and Python, including standard, line-based, block-based, and parallel versions with OpenMP. The study measured execution time, speedup, efficiency, and cache performance using PAPI to analyze how memory hierarchy and parallelization strategies affect computational performance and scalability.
Computação Paralela e Distribuída / Parallel and Distributed Computing Second project: Chat Server This project implements a concurrent client–server chat system in Java SE 21, featuring secure communication, user authentication, and AI-integrated chat rooms powered by Ollama. It supports multiple clients, room management, and automated bots for testing concurrency and message handling. The system uses SSL certificates for encrypted connections and is designed for scalability, performance, and fault tolerance in distributed environments.
Inteligência Artificial / Artificial Intelligence First project: Cogito Board Game This project implements a one-player solitaire game solved using heuristic search algorithms. The system compares uninformed methods (Breadth-First, Depth-First, Uniform Cost) and informed methods (Greedy, A*, Weighted A*) to find optimal or near-optimal solutions. It analyzes each algorithm’s performance, efficiency, and memory usage, allowing both human play and automated solving with visualization of the game’s progress.
Inteligência Artificial / Artificial Intelligence Second project: Asteroids Classification This project applies supervised machine learning techniques to the NASA Asteroids Classification dataset, aiming to predict whether an asteroid is potentially hazardous based on its physical and orbital parameters. The workflow includes data preprocessing, exploratory analysis, and training multiple models such as Decision Trees, K-Nearest Neighbors, and Support Vector Machines. The models are evaluated using metrics like accuracy, precision, recall, and F1-score, comparing their performance to determine the most effective classifier.
Laboratório de Bases de Dados e Aplicações Web / Database and Web Applications Laboratory Online Store This project implements an online shopping platform that allows users to browse, search, and purchase products. It includes features such as user authentication, product filtering, shopping cart management, payment processing, and order tracking. After purchasing, users can review and rate products.
Laboratório de Computadores / Computer Laboratory Simplified Terraria This project recreates a simplified version of the Terraria game, developed for the LCOM/Minix environment. The player can walk, jump, and attack within a 2D world, interacting with the environment through keyboard and mouse inputs. The game demonstrates the integration of multiple I/O devices — timer, keyboard, mouse, and graphics card.
Laboratório de Desenho e Teste de Software / Software Design and Testing Laboratory Memory Card Game This project implements a Memory Card Game where players flip pairs of cards to find matching symbols on a grid. The goal is to match all pairs with the fewest mistakes and in the shortest time possible. It features 3 grid sizes, an error counter, and a timer. The game’s design uses software patterns such as State, Command, and Strategy to manage card states, menu selection, and dynamic grid rendering.
Linguagens e Tecnologias Web / Web Languages and Technologies Trouble Ticket Management System This project implements a web-based trouble ticket management system that allows users to submit, track, and resolve support tickets efficiently. It features user authentication, role-based access (clients, agents, and admins), department and status management, and an integrated FAQ system. The platform provides real-time interaction using PHP, SQLite, JavaScript, and Ajax, ensuring smooth communication and intuitive ticket handling through a responsive web interface.
Programação Funcional e em Lógica / Functional and Logic Programming Haskell project: Shortest Path Finder This project focuses on implementing a graph-based algorithm to determine all shortest paths between two cities in an undirected graph. It employs a modified version of Dijkstra’s algorithm, efficiently exploring possible routes while avoiding cycles and ensuring optimal path discovery. The solution showcases the use of functional programming principles, custom data structures, and recursion to achieve precise and efficient pathfinding.
Programação Funcional e em Lógica / Functional and Logic Programming Prolog project: Collapse Board Game This project implements a two-player strategic board game developed using the Model-View-Controller (MVC) architecture. Players compete by sliding pieces across the board to capture their opponent’s pieces through collisions. The game supports Human vs. Human, Human vs. Computer, and Computer vs. Computer modes, with adjustable difficulty levels. It emphasizes logical reasoning, game-state management, and user interaction through a text-based interface, showcasing the strengths of declarative programming in implementing game logic and AI behavior.
Projeto Integrador / Capstone Project Dynamic Dashboard This project aims to develop an innovative web platform for creating dynamic and configurable dashboards, adaptable to any type of data or domain, enabling non-technical users to create intuitive visualizations. The system will feature a robust backend for data management and scalable APIs. Key challenges include designing a flexible and scalable core, managing diverse data sources (JSON, SQL, NoSQL, external APIs), implementing authentication and authorization (OAuth2/JWT), creating models to store dashboard configurations, and ensuring performance for multiple users. Clear API documentation will be essential to facilitate usage and integration.

Popular repositories Loading

  1. phpc99 phpc99 Public

  2. bd-project bd-project Public

  3. cg-project cg-project Public

    JavaScript

  4. comp-project comp-project Public

    Java

  5. cpd-project1 cpd-project1 Public

    C++

  6. cpd-project2 cpd-project2 Public

    Java