Estudante de Ciência da Computação na UFSCar
Gostaria de mostrar, por meio deste portfólio, um pouco do meu trabalho e das minhas habilidades.
Sem dúvida, essa foi a minha primeira conquista. Durante o curso, fiz questão de ter a melhor organização possível e, para tanto, utilizei o Microsoft OneNote para organizar minhas anotações, tarefas e projetos desde o primeiro semestre.
A linguagem C me acompanhou desde o início da universidade. Após uma
excelente matéria de Introdução à Programação, tive vontade de me aprofundar
na linguagem e li toda a parte sobre os comandos de C do livro
Deixo aqui um link para um programa feito em C para a matéria de Estruturas de Dados. A ideia do meu grupo foi de criar um aplicativo divertido, que rodasse no prompt de comando e que nos permitisse aplicar o conhecimento adquirido na matéria.
Foi neste momento que tive o meu primeiro contato com projetos maiores, e o resultado foi tão bom que me motivou a entrar, futuramente, na entidade de desenvolvimento de jogos digitais Maritacas Gamedev, da UFSCar Sorocaba.
Meu início na programação orientada a objetos se deu em 2021. Eu cheguei a ler
integralmente dois livros voltados ao assunto:
Deixo um pouco de uma aplicação cliente-servidor que fiz usando sockets em Java e Python, e algumas capturas de tela das anotações que eu fiz na época. Ela está disponível no meu GitHub, basta clicar aqui.
Aproveito para dizer que li os capítulos recomendados pelo meu professor de Redes
do livro do James F. Kurose,
Tive contato com desenvolvimento web duas vezes durante o curso. Nesses momentos, tive que lidar com o desenvolvimento front-end e back-end, usar padrões de projeto, arquitetura de software, Trello e fazer a documentação. Tive contato com PHP, Javascript, HTML, CSS, JSP, servlets, requisições, uso de APIs, AJAX, JDBC, jQuery e GitHub.
O projeto de Web que exigiu maior complexidade foi o desenvolvimento de um site de leilão, que devia receber lances, ser atualizado em tempo real (AJAX), guardar em um banco de dados todos os lances e os produtos disponíveis, utilizar a arquitetura MVC e o padrão de projeto DAO. O resultado está ao lado e o projeto está disponível aqui.
E também, por vontade própria, li o livro de HTML e CSS de John Duckett, e
usei todo o aprendizado para aplicá-lo em um site pessoal, com
Tenho experiência acadêmica com bancos de dados relacionais e consultas SQL, envolvendo modelagem, construção de queries, subqueries e funções de agregação. Além da sintaxe, tive uma matéria da faculdade dedicada a otimização de consultas, buscando reduzir redundâncias, melhorar a organização das tabelas e estruturar queries de forma eficiente e legível. Meu foco é garantir clareza, desempenho e consistência na manipulação dos dados, aplicando boas práticas de organização e pensamento analítico voltado à eficiência.
Durante as aulas de Banco de Dados, fiz a leitura de todos os capítulos do livro do
O meu segundo projeto na entidade Gamedev foi um jogo de cartas. Ele também teve
desafios de organização e o resultado foi exatamente como eu e minha dupla gostaríamos:
um game refinado, com muita animações, efeitos sonoros e
recursos bem implementados. Nele, foi
explorado o uso real de estruturas de dados e princípios de interação humano-computador (IHC).
Clique aqui e divirta-se!
Sem dúvida, esse foi um dos projetos mais desafiadores que já participei. Exigiu muita
organização, planejamento, dedicação e estudo. Trata-se de um jogo no estilo visual novel,
e meu grupo conseguiu concluir todo o projeto em um único semestre da faculdade - feito que nunca
tinha acontecido antes com um jogo dessa complexidade, segundo a coordenação da entidade. O
resultado foi surpreendente e minha equipe recebeu muitos elogios.
Foi fundamental o uso de ferramentas de organização, como o Trello, comunicação e uso de técnicas vistas no livro que li chamado Scrum: A arte de fazer o dobro do trabalho na metade do tempo de Jeff Sutherland, como a técnica do uso de raças de cachorros para "pesar" a dificuldade de implementação de tarefas.
Veja - e jogue - clicando aqui!.
O meu primeiro contato com dados e inteligência artificial foi num projeto de clustering em que a propsta era a de implementar os algoritmos de agrupamento k-médias, single-link e complete-link usando Python, e depois aplicá-los a diferentes conjuntos de dados. O projeto exigiu a implementação dos algoritmos do zero, sendo permitido usar apenas bibliotecas para manipulação de dados, como NumPy e Pandas. Também era necessário fazer análise dos resultados usando índice Rand.
Foi um projeto muito importante para mim pois me fez desenvolver interesse pela área de análise de dados, o que me levou a cursar futuramente a matéria optativa de Aprendizado de Máquina.
Desenvolvi, com muito orgulho, um modelo de aprendizado de máquina para classificação de estados fisiológicos (estresse, atividade aeróbica e anaeróbica) a partir de dados reais e ruidosos coletados por smartwatch usando Python (NumPy, Pandas, scikit-learn). O projeto exigiu limpeza, análise exploratória dos dados, seleção de atributos relevantes, normalização, avaliação de múltiplos modelos e análise de underfitting e overfitting. Ele está disponível aqui. Participei de todas as etapas de implementação do projeto e foi muito enriquecedor.
Importante ressaltar que a documentação foi muito importante, e no repositório você irá encontrar um relatório detalhado feito em LaTex.
No segundo semestre de 2025, desenvolvi um aplicativo Android usando Flutter e Dart.
Ele é um temporizador para exercícios físicos que permite criar treinos personalizados,
com recursos como contagem regressiva, pausa, retomada
e reinício. O app é intuitivo e fácil de usar, projetado para ajudar os usuários a manterem
o foco durante os treinos.
Ele possui recursos muito úteis, como a possibilidade de adicionar vídeos do YouTube para cada exercício através de API, tradução para cinco idiomas diferentes, opções de temas, notificação para acompanhamento do andamento da rotina e uma agenda com registros de treinos feitos.
Developed by: Matteo Cileneo Savan