Skip to content

GPassos01/college_works

Repository files navigation

🎓 Projetos da Graduação - Ciência da Computação UNESP

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.


📋 Índice

  1. 📊 Visão Geral
  2. 📚 1º-2º Semestre (2021) - Fundamentos
  3. 🧮 3º-4º Semestre (2022) - Estruturas
  4. 🖥️ 5º-6º Semestre (2023) - Sistemas
  5. 🌐 7º-8º Semestre (2024) - Aplicações
  6. ⚡ 9º-10º Semestre (2025) - Especialização
  7. 🚀 Tecnologias Utilizadas

📊 Visão Geral

Este repositório documenta minha jornada acadêmica com projetos organizados cronologicamente por período:

📈 Progressão por Complexidade:

  • 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

📚 1º-2º Semestre (2021) - Fundamentos

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


🧮 3º-4º Semestre (2022) - Estruturas de Dados

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


🖥️ 5º-6º Semestre (2023) - Sistemas

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)


🌐 7º-8º Semestre (2024) - Aplicações

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:


⚡ 9º-10º Semestre (2025) - Especializaçã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:


🚀 Tecnologias Utilizadas

Linguagens de Programação

  • C C - Projetos de baixo nível e algoritmos
  • Assembly Assembly Nios II - Microprocessadores
  • VHDL VHDL - Arquitetura de computadores
  • Java Java - Backend web
  • Python Python - IoT e automação
  • JavaScript JavaScript - Frontend web
  • Kotlin Kotlin - Android/Wear OS

Frameworks e Ferramentas

  • 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

Hardware e Plataformas

  • FPGA DE2-115 - Cyclone IV
  • Raspberry Pi 4 - Computação embarcada
  • Galaxy Watch5 - Wear OS
  • Sensores HC-SR04 - Ultrassônicos

👨‍💻 Sobre o Desenvolvedor

Gabriel Passos - @GPassos01
Graduando em Ciência da Computação
UNESP - Universidade Estadual Paulista
Campus Rio Claro - IGCE
Período: 2021-2025

💡 Áreas de Especialização Trabalhadas

  • 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

📄 Licença e Uso Acadêmico

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.

⚠️ Nota Acadêmica: Se você é estudante, use este material como referência para aprendizado, mas desenvolva suas próprias soluções para os trabalhos acadêmicos.


📞 Contato


⭐ 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

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors