Repositório unificado dos trabalhos e projetos desenvolvidos durante a graduação em Ciência da Computação na UNESP - Campus Rio Claro
Obs: Coloquei aqui apenas os projetos que geraram entregáveis julgados, por mim, suficientes para postagem. Demais projetos e varios exercicios ficaram de fora, assim como a maioria das disciplinas estudadas na graduação que não tiveram projetos ou seus códigos fonte/documentação apenas se perdeu pelo caminho.
- 📊 Visão Geral
- 📚 1º-2º Semestre (2021) - Fundamentos
- 🧮 3º-4º Semestre (2022) - Estruturas
- 🖥️ 5º-6º Semestre (2023) - Sistemas
- 🌐 7º-8º Semestre (2024) - Aplicações
- ⚡ 9º-10º Semestre (2025) - Especialização
- 🚀 Tecnologias Utilizadas
Este repositório documenta minha jornada acadêmica com projetos organizados cronologicamente por período:
- Fundamentos → Lógica de programação e algoritmos básicos
- Estruturas → Algoritmos avançados e manipulação de dados
- Sistemas → Hardware, arquitetura e sistemas operacionais
- Aplicações → Desenvolvimento web e inteligência artificial
- Especialização → Programação paralela e sistemas embarcados
Foco: Lógica de programação, algoritmos básicos e matemática computacional
Simulador_Streaming/ - Simulador de Streaming
Disciplina: Algoritmos e Técnicas de Programação I
Projeto final da disciplina e também o primeiro projeto complexo em C - simulador completo de serviço de streaming com sistema de usuários, catálogo, cobrança e recomendação.
📺 Funcionalidades:
- Cadastro de Clientes com validação
- Catálogo de Filmes dinâmico
- Sistema de Planos (Básico/Premium)
- Histórico de Visualizações por usuário
- Sistema de Faturamento automático
- Relatórios de Uso e analytics
- Sistema de Recomendações baseado no histórico
🛠️ Tecnologias: C, Estruturas de Dados Básicas (vetores e matrizes), Memória, Menu Interativo, Ponteiros
Jogo-da-velha/ - Jogo da Velha Interativo
Disciplina: Algoritmos e Técnicas de Programação I
Implementação do jogo da velha a partir de um exercicio da matéria que foi expandido por conta própria com interface visual aprimorada usando caracteres ASCII.
🎯 Características:
- Interface Visual com desenho ASCII do tabuleiro
- Modo 2 Jogadores alternados
- Detecção Completa de Vitória (linhas, colunas, diagonais)
- Sistema de Turnos com validação
- Controle de Cursor para posicionamento na tela
- Validação de Jogadas e tratamento de erros
🛠️ Tecnologias: C, Windows.h, Manipulação de Console, Lógica de Jogos
Calculo_de_pi/ - Aproximação de π
Disciplina: Algoritmos e Técnicas de Programação I
Algoritmo matemático para cálculo de π usando série infinita convergente. Feito por curiosidade.
📊 Implementação:
- Série de Leibniz modificada para convergência rápida
- Aproximação Iterativa com precisão crescente
- Exibição em tempo real com 16 casas decimais
- Loop infinito mostrando convergência
🛠️ Tecnologias: C, Matemática Computacional, Séries Convergentes, Precisão Numérica
manipula_PGM/ - Processamento de Imagens
Disciplina: Algoritmos e Técnicas de Programação II
Biblioteca para manipulação de imagens PGM (Portable GrayMap) com operações avançadas.
🖼️ Funcionalidades:
- Parser PGM completo (P2 e P5)
- Transformações Geométricas (rotação, escala, translação)
- Filtros de Processamento (blur, sharpen, edge detection)
- Análise de Histograma e estatísticas
- Otimização de Memória para imagens grandes
- API Limpa para integração
🛠️ Tecnologias: C, Processamento de Imagens, Manipulação de Pixels, Algoritmos de Visão, Manipulação de Arquivos
Foco: Estruturas de dados avançadas, algoritmos de ordenação e processamento de arquivos
ED2/ - Estruturas de Dados Avançadas
Disciplina: Estrutura de Dados II
Implementação de estruturas de dados complexas focadas em manipulação eficiente de arquivos em memória secundária.
📋 Estruturas Implementadas:
- Árvores B e B+ para indexação eficiente
- Indexação de Arquivos com múltiplas chaves
- Algoritmos de Ordenação Externa para grandes volumes
- Tabelas Hash para Disco com tratamento de colisões
- Análise de Complexidade e performance
🛠️ Tecnologias: C, Algoritmos Avançados, Arquivo Binário, Estruturas Complexas
Foco: Manipulação de Dados
BD1/ - Banco de Dados mySQL
Disciplina: Banco de Dados I
Implementação de banco de dados focadas em criação e consultas eficientes de tabelas em banco de dados relacional
📋 Habilidades Aplicadas:
- Criação e deleção de tabelas e seus possiveis impactos
- Chaves primarias, secundarias e extrangeiras
- Consultas com joins de tabelas
- Criação de diagramas com boas praticas para eliminação de redundâncias
🛠️ Tecnologias: mySQL, SQL, Banco de Dados Relacional, UML, Diagrama de Entidade-Relacionamento(DER)
Foco: Desenvolvimento web full-stack, inteligência artificial e algoritmos de busca
IA/ - Algoritmos de Busca Inteligente
Disciplina: Inteligência Artificial
Implementação e análise comparativa de algoritmos de busca A* com diferentes heurísticas.
🔍 Algoritmos Implementados:
- A* com Heurística Manhattan (city-block distance)
- A* com Heurística Euclidiana (distância direta)
- Análise Experimental de performance
- Comparação de Eficiência (nós expandidos, tempo, memória)
- Problemas de Pathfinding em grids 2D
🛠️ Tecnologias: C, Análise de Algoritmos, Teoria dos Grafos, Heurísticas
dev_web/ - Sistema de Eventos (Full-Stack)
Disciplina: Desenvolvimento Web
Sistema Parcial de venda de ingressos para eventos da UNESP Rio Claro com backend e frontend.
🎫 Backend (Java/Spring):
- Spring Boot com arquitetura em camadas
- PostgreSQL com JPA/Hibernate
- Sistema de Autenticação e autorização
- Endpoints RESTful completos (CRUD)
- Gerenciamento de Eventos com categorias
- Sistema de Ingressos com controle de estoque
- Processamento de Vendas e relatórios
🎨 Frontend (JavaScript/HTML/CSS):
- Design Responsivo para todos os dispositivos
- SPA (Single Page Application) dinâmica
- Autenticação JWT integrada
- Carrinho de Compras com localStorage
- Painel Administrativo para organizadores
- Catálogo de Eventos com filtros
- Checkout integrado
🛠️ Tecnologias: Java 17, Spring Boot, PostgreSQL, HTML5, CSS3, JavaScript, Bootstrap
🤝 Colaboração:
IPPD_project/ - Dijkstra Paralelo
Disciplina: Introdução à Programação Paralela e Distribuída
Implementação e paralelização do algoritmo de Dijkstra com análise detalhada de performance.
⚡ Implementações:
- Versão Sequencial (baseline para comparação)
- Versão Paralela com OpenMP
- Estratégias de Paralelização diferentes
- Técnicas de Sincronização (critical sections, barriers)
- Análise de Speedup e eficiência
🛠️ Tecnologias: C, OpenMP, Threading, Análise de Performance, Grafos Grandes
🤝 Colaboração:
Foco: Programação paralela, sistemas embarcados e projetos de alta complexidade
projeto-micro/ - Sistema Embarcado Multifuncional
Disciplina: Microprocessadores
Sistema completo de controle para FPGA implementado em Assembly Nios II com funcionalidades simultâneas avançadas.
🎯 Funcionalidades Principais:
- Controle Individual de 18 LEDs via comandos UART (
00 xx/01 xx) - Animação Bidirecional com controle em tempo real (
10/11) - Cronômetro Digital MM:SS em displays 7-segmentos (
20/21) - Controle por Botão Físico (KEY1 para pause/resume)
- Timer Compartilhado Inteligente entre todos os sistemas
🏆 Inovações Técnicas:
- 100% ABI Compliant (Nios II Application Binary Interface)
- Interface UART Não-Bloqueante com polling otimizado
- Reconfiguração Dinâmica de Timer automática
- Zero Conflitos entre sistemas simultâneos
- ISR Inteligente com detecção automática de contexto
🛠️ Tecnologias: Assembly Nios II, FPGA DE2-115, Quartus II, Hardware Embarcado, Real-Time Systems
🤝 Colaboração:
MIPS_Monocycle/ - Processador MIPS Completo
Disciplina: Laboratório de Projetos Digitais
Implementação completa de um processador MIPS monociclo em VHDL utilizando software Quartus 13 para implementação em FPGA DE2-115. Demonstrando todos os componentes internos de uma CPU.
🧠 Arquitetura Implementada:
- ALU Completa (add, sub, and, or, slt)
- Banco de 32 Registradores com controle de escrita
- Memória de Instruções (4KB) e Memória de Dados (4KB)
- Unidade de Controle Principal com FSM
- Contador de Programa com controle de fluxo
- Multiplexadores para seleção de dados
- Shift Left para endereçamento
📃 Set de Instruções:
- Tipo R:
add,sub,and,or,slt - Tipo I:
lw,sw,beq,addi - Tipo J:
j(jump)
🛠️ Tecnologias: VHDL, Quartus II, ModelSim-Altera, Simulação Digital, Arquitetura MIPS
OS_II-FinalProject/ - Sistema de Arquivos FAT
Disciplina: Sistemas Operacionais II
Sistema de arquivos FAT completo implementado do zero, simulando gerenciamento de disco real.
💾 Arquitetura do Sistema:
- Estrutura FAT Clássica com superbloco, diretório e tabela de alocação
- Operações Completas:
format,mount,create,delete,read,write - Interface CLI Interativa com comandos intuitivos
- Simulador de Disco integrado (blocos de 4KB)
- Sistema de Debug para visualização do estado
- Import/Export de arquivos do sistema host
🛠️ Tecnologias: C, GCC, Make, Simulação de Hardware, Sistemas de Arquivo
🤝 Colaboração:
SmartAccessibility/ - Sistema de Acessibilidade BLE
Disciplina: Computação Pervasiva e Ubiqua
Sistema completo de tecnologia assistiva combinando IoT, Bluetooth Low Energy e smartwatch para auxílio à mobilidade.
🦽 Arquitetura do Sistema:
- App Wear OS para Galaxy Watch5 com interface otimizada
- Servidor Raspberry Pi com sensor ultrassônico HC-SR04
- Comunicação BLE robusta entre dispositivos
- Sistema de Alertas vibráteis para obstáculos
- Detecção de Proximidade configurável
⚡ Tecnologias Integradas:
- Hardware: Raspberry Pi 4, Sensor HC-SR04, Galaxy Watch5, Protoboard
- Software: Python (servidor), Kotlin (Wear OS), Android SDK
- Protocolos: Bluetooth Low Energy, GPIO, I2C, Sensor ultrassônico
- Frameworks: bluezero, RPi.GPIO, Wear OS APIs
🛠️ Tecnologias: Python, Kotlin, Raspberry Pi, Bluetooth Low Energy, Android/Wear OS
🤝 Colaboração:
machine-learning/ - Previsão de Preços de Criptomoeda
Disciplina: Mineração de Dados e Aprendizado de Máquina
Projeto de análise preditiva aplicando técnicas de Machine Learning e séries temporais para prever o preço do Bitcoin em curto prazo.
📊 Modelos Implementados:
- Regressão Linear - Baseline estatístico clássico
- ARIMA (5,1,0) - Modelo especializado em séries temporais
- LSTM Otimizado - Rede neural recorrente com memória longa
🔬 Pipeline Completo:
- Coleta de dados via yfinance (2017-2024)
- Engenharia de Features (SMA_20, EMA_10, Pct_Change)
- Normalização com MinMaxScaler
- Janelas temporais de 60 dias para LSTM
- Validação temporal com grid search
- Métricas: MAE, RMSE, MAPE
📈 Otimizações:
- Grid Search para hiperparâmetros do LSTM
- Validação temporal para evitar data leakage
- Comparação experimental entre modelos
- Visualizações interativas de performance
🛠️ Tecnologias: Python, TensorFlow/Keras, Scikit-learn, Statsmodels, yfinance, Pandas, NumPy, Matplotlib, Seaborn
🤝 Colaboração:
C - Projetos de baixo nível e algoritmos
Assembly Nios II - Microprocessadores
VHDL - Arquitetura de computadores
Java - Backend web
Python - IoT e automação
JavaScript - Frontend web
Kotlin - Android/Wear OS
- Spring Boot - Framework Java para APIs REST
- Android SDK - Desenvolvimento mobile
- OpenMP - Programação paralela
- Bootstrap - Framework CSS
- Quartus II - Desenvolvimento FPGA
- ModelSim - Simulação digital
- PostgreSQL - Banco de dados
- MySQL - Banco de dados
- Maven - Gerenciamento de dependências Java
- FPGA DE2-115 - Cyclone IV
- Raspberry Pi 4 - Computação embarcada
- Galaxy Watch5 - Wear OS
- Sensores HC-SR04 - Ultrassônicos
Gabriel Passos - @GPassos01
Graduando em Ciência da Computação
UNESP - Universidade Estadual Paulista
Campus Rio Claro - IGCE
Período: 2021-2025
- Sistemas Embarcados e Arquitetura de Computadores
- Tecnologias Assistivas e Acessibilidade Digital
- Inteligência Artificial e Algoritmos de Busca
- Machine Learning e Análise Preditiva de Séries Temporais
- Desenvolvimento Full-Stack (Java/Spring + Frontend)
- Internet das Coisas (IoT) e Computação Pervasiva
- Programação Paralela e Otimização de Performance
Este repositório contém projetos acadêmicos desenvolvidos para fins educacionais durante a graduação. Todo o código está disponível para estudo e aprendizado.
- Email: gabriel.passos@unesp.br
- LinkedIn: Gabriel Passos
- GitHub: @GPassos01
⭐ Se este repositório foi útil para seus estudos, considere dar uma estrela!
Desenvolvido com ❤️ durante a graduação em Ciência da Computação
UNESP Rio Claro - 2021-2025