1. BFail

    A client-server football bet system similar in concept to bwin.com which interacts internally via RESTful web services. The client application was developed for Android smartphones and allows the user to make bets on upcoming matches and check the updated results and graphs of all matches in real-time. Features a local storage for offline browsing.

    #    Android, Java, GlassFish, SQLite, JSON

  2. BeeTS: Bee Task System

    A simulation model based on swarm intelligence which aims to study and compare different bee populations and evaluate their efficiency level in the exploitation of nectar sources. It is possible to monitor the number of harvesting bees per source as well as understand their collective behaviour upon environment change.

    #    Java, RepastJ, JSON

  3. BPI Kids

    A project proposed by BPI, a national bank, for the Project Management Laboratory course, in which I was the project manager. Its purpose is to teach basic financial concepts to youngsters through a Web 2.0 site. The design is simple and intuitive, inciting the children to discover and learn through different activities, appealing them so they come back for another visit. BPI Kids has its own currency which can be earned by playing games and participating in contests. The user can spend the points earned by customizing their profile.

    #    HTML5, CSS, JavaScript, jQuery, AJAX, PHP, Smarty, PostgreSQL, JSON

  4. Primal Arena

    Prototype of a First Person Shooter game, with three weapons to choose from and an interactive outdoors scenario, modeled using the Ogitor tool. Plans for its development include network support, a Deathmatch mode, a Capture the Flag mode, computer controlled bots and an ingame level-up system to upgrade the player's stats on the run.

    #    C++, OGRE 3D, NxOgre, Hydrax

  5. FES 2010

    Demo version of a 2D football game with a Sensible Soccer feel, with 1vs1 and 1vsCPU mode. The two teams' strategies and players are fully customizable. A moving camera tracks the ball and a radar shows all the players' positions in the field. Players' stats make a difference in accuracy, power, tackling, stamina and running.

    #    C#, Microsoft XNA Game Studio

  6. 1337 Wing

    Sidescroll shooter arcade game developed during the Multimedia course. It has only one hard level with a random AI boss, features a video on how to play and original artwork. There are some references to other games or random stuff, try to find them all!

    #    Adobe Flash CS4, ActionScript 3

  7. Iterative image contrast enhancement

    The program, developed in the Parallel Computing course, uses the Message Passing Interface standard to split the workload between multiple processors in a cluster. The input and output images are on .ppm, a format designed for portability.

    #    C++, MPI, Grid

  8. iarTris

    Yet another implementation of the classic Tetris, based on the open-source Jetris, developed on the Artificial Intelligence course. It features three different types of AI based on 7 heuristics, a challenge mode, human playing mode and keeps track of high-scores.

    #    Java

  9. C2JVM

    A compiler which translates programs defined by a subset of the programming language C (C*) to Java bytecodes. The language supports conditional instructions, flux control instructions, arrays and structs.

    #    Java, Jasmin

  10. Examination Timetabling Problem solver

    A solver developed using Logic Programming with Restrictions, applied to the problem introduced by the International Timetabling Competition 2007. It attempts to satisfy all hard constraints given and generates timetables attributing better scores the less soft constraints are violated. A parser in C++ and a script in Perl were used to interpret the datasets provided by the competition organization.

    #    Prolog, C++, Perl

  11. Cats & Dogs

    A revisited implementation of the board game Cats & Dogs using Prolog as engine, with special moves, a dynamic size board and three levels of AI. An OpenGL 3D interface was developed connecting via sockets, with camera switching, animation and movie recording.

    #    Prolog, C++, OpenGL

  12. Race track

    An interactive environment of a race track developed from scratch, using graphical computing techniques such as interpolation and texture modeling. Features camera control, light switching and human or computer controlled car racing.

    #    C++, OpenGL

  13. simpfind

    Simplified approach to the find command present on UNIX systems, useful to further understand the Linux filesystem hierarchy and the multi-processing paradigm. Supports signal handling and a number of flags.

    #    C