duarte3333
Computer science at Instituto Superior Técnico and 42Lisboa. AI and autonomous systems :)
Instituto Superior TécnicoLisbon, Portugal
Pinned Repositories
42SchoolPiscine
Piscine is a recruitment process at 42 where around 50 out of 150 students are chosen at the end of the 26 days of this program. At this stage I was present every day between 10 and 12 hours a day, learning to program in C, completing the numerous school projects, evaluating my colleagues and presenting my solutions whenever I was evaluated. At Piscine I started by learning Bash/Shell, which leverages several essential tools in programming. Then I went from the basics of C to mastering and understanding several essential functions, creating necessary input programs, working with structures and .h files and dynamic memory. This month was intensive preparation for the most complex and laborious projects in my future with 42!
AI_Sudoku_Solver
With the help of pygame, openCV and tensorFlow it was possible to create an application that lets you play sudoku at three different levels and even allows the user to take a photo of a sudoku and solve it through a backtracking algorithm
Autonomous_Systems
Implementation of the Fast-SLAM algorithm on a Turtlebot3 robot using ArUco markers as landmarks within a ROS framework. We created a micro-simulation environment, developed an ArUco detection algorithm, and optimized key parameters. We also integrated an Occupancy Grid Mapping algorithm and RViz visualization.
Born2BeRoot
The project consists of creating and configuring a virtual machine following strict rules.
FdF_Wireframe_model
In this project, my main goal was to create a simple wireframe model representation of a 3D landscape by linking various points (x, y, z) using line segments (edges).
Libft
My very first own library. In this project I deepened the basic concepts of C, creating functions such as strlcpy, memset, substr, itoa, split among many more. In addition, I created several useful functions to work with linked lists such as lstaddback, lstclear, lstnew among many more.
Machine_Learning
This project covers regression, showcasing the effectiveness of Orthogonal Matching Pursuit, and classification, addressing challenges in image classification with Convolutional Neural Networks and Support Vector Machines. Emphasizing solutions for imbalanced data, the project provides a thorough exploration of model performance.
MiniRT
Implemented a fully functional ray tracer. Created a scene parser, handle various geometric shapes, determine ray-object intersections, and implement advanced shading models including shadows and reflection. It was also incorporated additional features like texture mapping, bump mapping and multi-thread rendering..
Minishell
Developed a shell program encompassing essential functionalities such as command parsing and execution, management of built-in shell commands, handling of environment variables, and effective handling of signal interruptions.
Push_Swap
The goal of this project is to create a highly efficient sorting algorithm for two stacks. By working on the push swap problem, I gained a deeper understanding of data structures, sorting algorithms, and algorithm complexity. Therefore, I learned the importance of error handling and testing, and how to implement these practices in my code.
duarte3333's Repositories
duarte3333/Push_Swap
The goal of this project is to create a highly efficient sorting algorithm for two stacks. By working on the push swap problem, I gained a deeper understanding of data structures, sorting algorithms, and algorithm complexity. Therefore, I learned the importance of error handling and testing, and how to implement these practices in my code.
duarte3333/FdF_Wireframe_model
In this project, my main goal was to create a simple wireframe model representation of a 3D landscape by linking various points (x, y, z) using line segments (edges).
duarte3333/Minishell
Developed a shell program encompassing essential functionalities such as command parsing and execution, management of built-in shell commands, handling of environment variables, and effective handling of signal interruptions.
duarte3333/Autonomous_Systems
Implementation of the Fast-SLAM algorithm on a Turtlebot3 robot using ArUco markers as landmarks within a ROS framework. We created a micro-simulation environment, developed an ArUco detection algorithm, and optimized key parameters. We also integrated an Occupancy Grid Mapping algorithm and RViz visualization.
duarte3333/Libft
My very first own library. In this project I deepened the basic concepts of C, creating functions such as strlcpy, memset, substr, itoa, split among many more. In addition, I created several useful functions to work with linked lists such as lstaddback, lstclear, lstnew among many more.
duarte3333/MiniRT
Implemented a fully functional ray tracer. Created a scene parser, handle various geometric shapes, determine ray-object intersections, and implement advanced shading models including shadows and reflection. It was also incorporated additional features like texture mapping, bump mapping and multi-thread rendering..
duarte3333/42SchoolPiscine
Piscine is a recruitment process at 42 where around 50 out of 150 students are chosen at the end of the 26 days of this program. At this stage I was present every day between 10 and 12 hours a day, learning to program in C, completing the numerous school projects, evaluating my colleagues and presenting my solutions whenever I was evaluated. At Piscine I started by learning Bash/Shell, which leverages several essential tools in programming. Then I went from the basics of C to mastering and understanding several essential functions, creating necessary input programs, working with structures and .h files and dynamic memory. This month was intensive preparation for the most complex and laborious projects in my future with 42!
duarte3333/Born2BeRoot
The project consists of creating and configuring a virtual machine following strict rules.
duarte3333/Deep_Learning_Project
Implemented various machine learning and deep learning algorithms, including perceptrons, logistic regression, multi-layer perceptrons, convolutional neural networks, and transformers, using both low-level libraries like NumPy and high-level frameworks such as PyTorch.
duarte3333/FEM-project
In this project, it was done a method for creating a finite element model (FEM) in Matlab to solve heat transfer problems. The FEM developed in this work allows the user to analyze the temperature distribution in a structure or system under specified heat sources and boundary conditions.
duarte3333/Printf
In this project I replicated the behavior of the printf function from the stdio.h library, so I learned how to create argument lists with va_list, va_start and va_end. I also learned how to handle different format specifiers like %d for integers, %s for strings, and %f for floating-point numbers. Lastly, i again consolidated my Makefile knowledge.
duarte3333/Transcendence-
(in progress)
duarte3333/AI_Sudoku_Solver
With the help of pygame, openCV and tensorFlow it was possible to create an application that lets you play sudoku at three different levels and even allows the user to take a photo of a sudoku and solve it through a backtracking algorithm
duarte3333/Autonomous-Robot
It was with this project that I had my first contact with programming. I created an aquatic robot that cleans impurities in a lake. The project was done in Python and after finishing the project i feel that i am quite comfortable with the language for future projects.
duarte3333/Machine_Learning
This project covers regression, showcasing the effectiveness of Orthogonal Matching Pursuit, and classification, addressing challenges in image classification with Convolutional Neural Networks and Support Vector Machines. Emphasizing solutions for imbalanced data, the project provides a thorough exploration of model performance.
duarte3333/CppModules
Modules of Object-Oriented Programming (OOP) concepts through C++98 exercises. This repository covers the four main pillars of OOP—Abstraction, Encapsulation, Inheritance, and Polymorphism. Learned concepts such as namespaces, exceptions, casts, templates, containers, iterators and algorithms
duarte3333/Evolutionary_Algorithms_Project
This Java simulation uses evolutionary algorithms to find the best patrol distribution for a galactic empire. It simulates natural selection to evolve patrol allocations, minimizing time spent suppressing rebellions. The simulation ensures diversity through reproduction, mutation, and even simulated epidemics.
duarte3333/Get-Next-Line
With this project I created an essential function for future projects. It will read the first line of a file if called, and if called again it will read the next line from the file, this way I learned to work with static variables
duarte3333/Get_Next_Line_Optimized
A more efficient version of the get next line function previously created. I also did the bonus, which is a version that can read from multiple file descriptors at the same time.
duarte3333/Image-Processing-and-Vision-Project
This project focuses on image processing and computer vision, covering key concepts such as homography, RANSAC, and the pinhole camera model, along with practical implementations and methodologies for computing transformations and analyzing image data.
duarte3333/Inception
duarte3333/IRC
In this project was developed an IRC chat server in C++ for real-time communication through direct messages and group channels. Built to the C++98 standard, it uses non-blocking I/O and a single poll() operation to handle multiple connections efficiently and without delays.
duarte3333/Linked_library
duarte3333/Philosophers
Applied theoretical concepts in programming and synchronization to solve the philosophers problem in concurrent systems. (C Programming, Threads, Explicit Multi-Threading C, Mutexes).
duarte3333/Pipex
In this project, I had to implement multiple pipes in the shell program, which would allow the user to execute a series of commands and redirect the final output to a file. This required a deep understanding of how pipes work in the Unix/Linux operating system and how to properly manage file descriptors and processes.
duarte3333/Real-time-distributed-illumination-control
The project develops a decentralized lighting control system using networked luminaires with Raspberry Pi Picos and CAN-BUS. It starts with setting up light controllers and a communication network, then implements a protocol and consensus algorithm to optimize energy use based on occupancy.
duarte3333/Shape-Detection-OpenCV-
The code receives an image with several geometric shapes of different colors and then the user chooses a geometric shape and a color. Finally, the program returns an image with the detections that the user requested
duarte3333/ShooterGame
duarte3333/Stocks_Statistics
This program, through an Excel with four columns: date of purchase of the share, price of purchase of the share, name of the share and the value of the participation that was acquired allows you to retrieve numerous statistics in real time about the shares placed in this Excel
duarte3333/Vehicles-Stand
This project makes me understand the basics of C++. The program itself creates vehicles, edits vehicles and deletes vehicles from a stand's vehicle list.