Volleyball Championship Management

  • Description:
  • Console based program to manage a volleyball championship. It allows edition of seasons, games, teams, players and referees. Provides statistics and can create a championship using Round-Robin algorithm. Allows administrator and visitor.
  • Technology: C++
  • Course: Algorithms and Data Structures

Shortest Path in Subway

  • Description:
  • Program with the objective to implement Dijkstra's Shortest Path Algorithm applied to the Porto's subway. Uses a GUI provided with Java Swing.
  • Technologies: Java, Java Swing, JUNG
  • Course: Algorithm Conception and Analysis


  • Description:
  • This program implements a version of the game Hangman using only hardware's interface in a low level approach recurring to the following hardware: Graphics, Timer, Speaker, Keyboard and RTC.
  • Technologies: C, Assembly
  • Course: Computers Laboratory


  • Description:
  • 3D version for the game Halma. Uses a parallel program for simulation of player's moves based on Prolog and transmits info through sockets to 3D simulator. Includes various scenarious and allows these game modes: player vs player, player vs computer or computer vs computer.
  • Technologies: C++, OpenGL, Prolog
  • Courses: Graphical Interfaces Applications Laboratory, Logical Programming

Bus Route Optimization

  • Description:
  • Program with the intent of implementing restriction programming in order to achieve a perfect route in a bus considering costs, number of clients, number of stops within a cycle.
  • Technology: Prolog
  • Course: Logical Programming

File Transmition between 2 computers using Layer Protocols

  • Description:
  • This program aims to reproduce a layered approach to transmit files between computers using serial ports.
  • Technology: C
  • Course: Computer Networks

YAL2JVM Compiler

  • Description:
  • Program to simulate a compiler converting programs in a YAL language into executable binary files. Includes Semantic and Syntax analysis and preparation for Jasmin syntax.
  • Technologies: Java, Jasmin
  • Course: Compilers

Airplane information retrieval using Natural Language

  • Description:
  • Using Natural Language, this software answers questions and requests in Portuguese. Executes Semantic and Syntax analysis and Database retrival and filtering of informations. Displayed using a GUI.
  • Technologies: Prolog, Java, Java Swing
  • Course: Artificial Intelligence

Physiotherapy clinic management Website

  • Description:
  • Webpage with server and database to store information related to physiotherapists, appointments, clients, products, suppliers and sales.
  • Technologies: PHP, HTML, CSS, Smarty, SQLite
  • Course: Databases and Web Applications Laboratory

P2P file transmiter in intranet

  • Description:
  • Allows tranmition of files within a intranet implementing transmition and control threads. Uses a layered approach and uses multicast for a indefined number of computers through sockets.
  • Technology: Java
  • Course: Distributed Systems

Tumblr Android application

  • Description:
  • Uses Tumblr API to authenticate, upload and obtain posts and images through Android OS.
  • Technologies: Java, Android SDK
  • Course: Distributed Systems

ID3 Solver

  • Description:
  • Program that generates a decision tree based on a generic input file and draws a 2D tree representing the decision tree.
  • Technologies: Java, JUNG
  • Course: Machine Learning

Restaurant Management with multiple computers

  • Description:
  • It is expected of this program to ensure register of requests from the dinner room and deliver them to the kitchen in a distributed architecture.
  • Technology: .NET Remoting
  • Course: Distribution and Integration Techniques

Stock Market Application

  • Description:
  • Program that uses Web Services to provide buy and sell orders of stocks using either a local application or a website.
  • Technology: .NET
  • Course: Distribution and Integration Techniques


  • Description:
  • Designed specially for the company itGrow, this is a Web Application that allows company and users management and whose main purpose is to allow a single post (text, image, link or video) to be published simultaneouly to Facebook, Twitter, LinkedIn and Youtube. It also recovers metrics related to each post and displays them in graphics.
  • Technologies: Ruby on Rails, MySQL
  • Course: Project Management Laboratory
  • Notice: This project's source code and reports cannot be published due to FEUP's and itGrow's Copyrights.