Hi, I'm Félix Martins!

Welcome to my personal website

Félix Martins

I'm a developer interested in Artificial Intelligence and software development. I'm a competitive programming enthusiast, and I love to learn new algorithms and improve my critical thinking. In my free time, when I'm not programming, I enjoy playing video games, going to the gym, and watching movies.

I've completed a Bachelor's in Informatics and Computing Engineering at the Faculty of Engineering of the University of Porto (FEUP) with an average grade of 19.38/20 and I am currently enrolled in the Master's of Artificial Intelligence at FEUP/FCUP.

Check out my projects below

My Projects

Competitive Programming
Competitive Programming

Solutions for several competitive programming problems, serving as a practice for contests. Contains notes and specific implementations of certain algorithms.

Distributed Nim Game
Distributed Nim Game

Implementation of a distributed online Nim-like game with piles of rocks. Supports both Normal and Ranked queues. Focus on the distributed system implementation: concurrency control and consistency, fault tolerance, security, and scalability.

Java-- Compiler
Java-- Compiler

Complete compiler in Java for a subset of Java. Focus on the different parts of a compiler.

Galaxy classification
Galaxy classification

Classifying galaxies as Starforming vs Starburst. Focus on data preprocessing, and experimentation with different ML algorithms.

Computer Graphics Scene
Computer Graphics Scene

Implementation of a computer graphics scene, using WebGL. Focus on low-level specification of objects.

Fanorona Game
Fanorona Game

Implementation of board game "Fanorona" with AI adversarial search. Focus on adversarial search methods: Minimax with heuristics and Monte Carlo Tree Search.

Compiler in Haskell
Compiler in Haskell

Implementation of a simple compiler in Haskell for a simple language. Focus on understanding how to develop a system in a functional programming language.

SEED Labs exercises and CTFs
SEED Labs exercises and CTFs

Solutions for various SEED Labs exercises and Capture The Flag challenges (CTF) challenges proposed during the Computer Security Foundations course.

Social Network website
Social Network website

Implementation of a Social Network website, using a Waterfall methodology. Includes features such as posts, comments, followers, groups and real-time notifications.

Tactigon Game
Tactigon Game

Implementation of board game "Tactigon" using Prolog. Focus on understanding Logic Programming as a different programming paradigm.

MiniPicty
MiniPicty

Implementation of a pictionary game with 2 players, communicating through the serial port. Focus on implementing low-level drivers for timer, keyboard, mouse, graphics card, real-time clock (RTC) and serial port.

Pocket Cinema
Pocket Cinema

Mobile application to share your opinion on movies and series and tracking what you watch. Built using Flutter/Dart with an adaptation of Scrum and Extreme Programming, implemented unit and acceptance tests

Trouble Tickets website
Trouble Tickets website

Implementation of a trouble tickets website using basic web technologies. Focus on basic web principles, built a partial REST API.

Pacman Game
Pacman Game

Implementation of the classic Pacman game focusing on OOP principles and design patterns, as well as unit testing