Engenharia de Computação na Poli-USP · Desenvolvimento de software · Inteligência artificial · Dados
Construo aplicações e experimentos para entender como a computação resolve problemas: da interpretação de imagens e documentos à organização de dados, simulação de circuitos e criação de jogos.
LinkedIn · E-mail · English version · Todos os repositórios
Sobre mim · Destaques · Hardware e sistemas · Algoritmos e Java · Como executar · Competências · Trajetória
Sou graduando em Engenharia de Computação na Escola Politécnica da Universidade de São Paulo, com interesse em desenvolvimento de software, inteligência artificial e ciência de dados. Minha trajetória reúne pesquisa acadêmica, análise de dados em empresas, projetos de programação e ensino.
Gosto de entender o mecanismo por trás das ferramentas: como um modelo interpreta uma imagem, como recuperar informação de um documento histórico ou como organizar dados para responder a uma pergunta de negócio. Procuro traduzir esse aprendizado em código claro, documentação e experiências que outras pessoas consigam explorar.
- Pesquisa: PLN e OCR aplicados ao Tupi Antigo no IME-USP, sob orientação do Prof. Marcelo Finger; museu virtual 3D no LASSu-USP.
- Experiência: dashboards e análise de dados na Núclea, tecnologia aplicada a FX no BTG Pactual e protótipos de apoio comercial na TRIA Commodities.
- Aprendizado atual: Python, machine learning e IA generativa, com formação IBM em andamento.
- Além do código: sou professor de jiu-jítsu e já atuei na gestão da modalidade na Atlética da Poli-USP.
| Se você quer conhecer… | Comece por |
|---|---|
| Jogos educativos de lógica, geometria e estratégia com IA no navegador | Intuição |
| Uma aplicação visual com webcam e interação por gestos | GestureLab |
| Pesquisa em linguagem, OCR e qualidade de dados | IC · Tupi Antigo |
| Uma Pokédex web com espécies, formas, evoluções e dados dos jogos | Pokédex |
| Experimentos matemáticos com código, gráficos e notebooks | Métodos Numéricos |
| Um jogo em C com motor separado da interface | Tetris em C |
| Circuitos, sensores, comunicação e jogos em FPGA | Laboratório Digital I e II |
| Processadores, instruções e execução em baixo nível | Sistemas Digitais e Assembly MVN |
| Algoritmos, orientação a objetos e fundamentos de Java | MAC0122 e MAC0321 |
Abrir repositório · HTML · CSS · JavaScript · IA para jogos
Jogar no navegador · acesso público · Manuais dos jogos · Quadro de desenvolvimento
Desenvolvo uma plataforma educativa com 11 jogos no navegador: oito campanhas solo, 640 fases e três jogos Versus. Os desafios exploram lógica, geometria e estratégia, com regras acessíveis, dificuldade progressiva e identidade visual inspirada em animais brasileiros em pixel art. Meu trabalho reúne mecânicas, construção de fases, dicas, interfaces e documentação.
O projeto também aplica inteligência artificial a jogos: DESVIO utiliza busca exata com memoização nos mapas suportados; CERCO usa minimax com poda alfa-beta e heurísticas, dentro de um orçamento de busca. A proposta é fazer a dificuldade crescer pelas decisões e relações que o jogador descobre, valorizando raciocínio e autonomia.
Abrir repositório · Python · OpenCV · MediaPipe · NumPy
Visão computacional com webcam para rastrear mãos, reconhecer gestos, desenhar no ar e comparar poses com um catálogo local. Reúne quatro modos independentes, controles interativos e exportação de desenhos e trajetórias.
Abrir repositório · Python · PLN · OCR · Unicode · Jupyter
Iniciação científica no IME-USP, orientada pelo Prof. Dr. Marcelo Finger, sobre digitalização e organização de dados de Tupi Antigo. Inclui ferramentas de OCR, normalização Unicode, auditoria e revisão, com demonstração em dados fictícios.
Parceria acadêmica: Dicionário Tupi-Português, projeto de Calebe Rezende, com créditos e contexto na documentação da IC.
Abrir repositório · HTML · CSS · JavaScript · Node.js · Dados da PokéAPI
Explorar no navegador · acesso público · Guia de uso
Aplicação web com 1.025 espécies, 1.351 variedades e 1.579 formas catalogadas. Permite pesquisar e filtrar o catálogo, explorar evoluções, consultar tipos, atributos, descrições, encontros e golpes por jogo, alternar Normal/Shiny e salvar favoritos no navegador.
O projeto reúne interface responsiva, dados versionados, importação reproduzível, testes e documentação. Preserva também o exercício Java original de 2023 em um módulo independente, mostrando a evolução do primeiro repositório para uma aplicação navegável.
Abrir repositório · Python · NumPy · SciPy · Matplotlib · Jupyter
Notebooks e implementações de raízes, sistemas lineares, Fourier, interpolação, equações diferenciais e GPS sintético. Os experimentos usam gráficos para investigar precisão, convergência e estabilidade dos métodos.
Abrir repositório · C11 · Make · Python para verificação
Jogo de Tetris no terminal, com movimentação, rotação, pontuação e níveis. O motor é separado da interface e permite reproduzir partidas por replay, com testes das regras e da linha de comando.
Abrir repositório · Verilog · Icarus Verilog · FPGA/Quartus · Processing
Experiências e projetos em grupo da Poli-USP com máquinas de estados, sensores, UART e PWM, incluindo os jogos Math Genius e Guardião do Paredão. Reúne código, relatórios e simulações; as revisões ainda têm validação em placa pendente.
Abrir repositório · SystemVerilog · Icarus Verilog · GTKWave
Três projetos de Sistemas Digitais II: conversor binário–BCD, calculadora programável e núcleo didático com um subconjunto de RISC-V. Inclui controle, fluxo de dados, testes e formas de onda de simulação.
Abrir repositório · Assembly MVN · Python
Calculadora de notação pós-fixa em Assembly MVN, com montador e máquina virtual didáticos. Explora pilha, subrotinas, representação de dados e execução de instruções, com testes e rastreamento passo a passo.
Abrir repositório · Java · C11 · Python para verificação
Estudos de busca de genes, união de intervalos, contagem de pares e sequência de Collatz. Exercitam estruturas de dados, análise de complexidade, invariantes e casos de fronteira, com exemplos e testes.
Abrir repositório · Java · Orientação a objetos · Padrão State
Exercícios de orientação a objetos com simulação de eventos, transições de estado, persistência CSV e multiconjuntos. O foco está na divisão de responsabilidades, composição de objetos e testes.
Abrir repositório · Java · Swing · JUnit · Adapter
Exercícios em coautoria com Hugo Spadete Arrivabene sobre interfaces Swing, testes, coleções e padrão Adapter. Exploram separação entre interface e lógica, generics e adaptação por composição.
Cada repositório explica o problema, os módulos, a instalação, uma primeira execução, os resultados esperados e o estado atual. O índice completo reúne os pontos de entrada de todos os projetos públicos e os links de verificação.
| Família | Preparação típica | Primeiro caminho |
|---|---|---|
| Intuição | Navegador e Python 3 para servir os arquivos de dist/ por HTTP |
Seguir o guia de execução local, escolher um jogo e explorar as regras. |
| Pokédex web | Navegador para a demonstração pública; Node.js 20+ com npm para execução local | Abrir o site ou executar npm run dev; Java é um módulo opcional independente. |
| GestureLab | Python 3.12, ambiente virtual, dependências, modelos e câmera/ambiente gráfico | Iniciar hands; depois experimentar os outros modos. |
| Tupi Antigo e Métodos Numéricos | Python 3.12, dependências e kernel para notebooks | Rodar a demonstração TSV ou executar/exportar os roteiros. |
| Tetris | Compilador C11, GNU Make e terminal ANSI | make demo para replay; modo interativo para jogar. |
| Algoritmos e POO | JDK 17+; Python 3.12 nos verificadores das edições novas | Compilar/testar e executar a demonstração escolhida. |
| Circuitos digitais | Icarus Verilog, Python e GTKWave opcional | Simular um alvo e acompanhar os sinais. |
| Assembly MVN | Python 3.12 e biblioteca padrão | Montar uma expressão RPN e inspecionar o trace. |
Exemplo completo para começar sem webcam, placa ou dependências Python externas: com Git e Python 3.12 instalados, execute no terminal:
git clone https://github.com/luigiscofano/usp-pcs3616-sistemas-programacao.git
cd usp-pcs3616-sistemas-programacao
python scripts/executar.py "12 3 +" --trace
python -m unittest discover -s tests -vA expressão deve devolver status: 0 e resultado: 15; o rastreamento fica em build/trace.json. Se o seu sistema usa python3, substitua o nome do comando. Os demais projetos têm requisitos próprios, detalhados em seus READMEs.
| Área | Ferramentas e conhecimentos | Aplicação no portfólio ou na trajetória |
|---|---|---|
| Desenvolvimento de software | Python, Java, C; JavaScript e TypeScript em projetos web | Aplicações locais, CLI, bibliotecas, modelagem de domínio e interfaces. |
| IA para jogos | Busca de estados, memoização, minimax, poda alfa-beta e heurísticas | Intuição: bots de DESVIO e CERCO, com decisões calculadas no navegador. |
| Visão computacional | OpenCV, MediaPipe, NumPy, coordenadas e estado temporal | GestureLab: modelos pré-treinados, caneta por gestos e comparação de poses. |
| PLN e documentos | OCR, Unicode, dados lexicográficos, avaliação textual e estudo de LLMs | IC de Tupi Antigo: extração, preservação da fonte, auditoria e revisão. |
| Computação científica | NumPy, SciPy, Matplotlib e Jupyter | Implementação de métodos, gráficos, convergência e experimentos reproduzíveis. |
| Dados e BI | SQL/MySQL, Excel, Power BI, Power Query e DAX | Preparação de bases, modelagem, indicadores e dashboards. |
| Hardware e arquitetura | Verilog, SystemVerilog, FSM, datapath, UART, PWM, RISC-V e Assembly MVN | Circuitos, comunicação, simuladores e execução de instruções. |
| Web e computação gráfica | HTML, CSS, JavaScript, Node.js, Three.js, TypeScript e Vite | Pokédex, Intuição, museu virtual, navegação 3D e experiências interativas no navegador. |
| Qualidade e colaboração | Git, GitHub, testes, pytest, unittest, JUnit, Ruff e GitHub Actions | Verificações adequadas a cada projeto, documentação e histórico de mudanças. |
| Fundamentos | Algoritmos, estruturas de dados, orientação a objetos, sistemas operacionais e redes | Formação em Engenharia de Computação e estudos aplicados. |
Em aprofundamento: machine learning, IA generativa e engenharia de dados.
Além da pesquisa em Tupi Antigo, trabalho em iniciativas que aproximam tecnologia, educação e interação.
Contribuo para um museu interativo sobre a história da computação, com ambiente 3D acessível pelo navegador. O trabalho utiliza Three.js, TypeScript e Vite e envolve navegação, interação com objetos e apresentação de conteúdo educativo.
Temas: desenvolvimento web, computação gráfica, ambientes 3D e aprendizagem.
Núclea · Dados e indicadores de RH
Trabalhei com bases de Remuneração e Benefícios, dashboards em Power BI e análises com Excel e MySQL. Estruturei indicadores de quadro de pessoal, contratações, desligamentos, remuneração e desempenho, além de automatizar a consolidação de informações e utilizar Git no versionamento.
BTG Pactual · Foreign Exchange (FX)
Participei do programa Summer Job, apoiando análises de mercado e modelos quantitativos para a equipe de câmbio internacional. Também trabalhei no desenvolvimento de interfaces front-end para a equipe.
TRIA Commodities · Comercial, dados e automação
Atuo na área comercial e desenvolvo protótipos para apoiar a prospecção e a organização de oportunidades. O trabalho inclui cruzamento de informações da CCEE com o HubSpot, deduplicação e filtros para apoiar a análise de leads.
Essas experiências reforçam meu interesse por soluções que conectem necessidades de negócio, dados e implementação técnica.
- Engenharia de Computação — Escola Politécnica da USP: graduação em andamento, com conclusão prevista para 2027.
- CS50 — Harvard / edX: curso de introdução à computação concluído.
- Formação em inteligência artificial — IBM / edX: em andamento, com estudos de Python, machine learning e IA generativa.
- Iniciação científica: PLN no IME-USP e museu virtual no LASSu-USP.
Ensino, liderança, idiomas e outras conquistas
Sou professor de jiu-jítsu e defesa pessoal, com atuação ligada à Gracie University e à USP. Ensinar reforça meu compromisso com explicações claras, progressão de dificuldade, prática e feedback.
Na Atlética da Poli-USP, fui diretor de jiu-jítsu, com responsabilidades de organização de treinos, gestão de recursos, eventos e relacionamento com alunos. Também atuei como representante discente e como professor voluntário de matemática e português na ACEP.
- Português: nativo.
- Inglês: avançado — Cambridge C1 Advanced.
- Espanhol e francês: intermediários.
- Olimpíada Nacional de Ciências: ouro em 2020 e 2021.
- Canguru de Matemática Brasil: ouro em 2021 e prata em 2020.
- Olimpíada de Química do Rio de Janeiro: prata em 2020.
O portfólio reúne aplicações, implementações de estudo, pesquisa e acervo acadêmico. Cada repositório identifica o que foi desenvolvido nesta edição, o que foi recuperado, os materiais docentes e as contribuições de outras pessoas. Trabalhos em grupo, bibliotecas e modelos mantêm seus créditos e condições de uso.
Os guias de validação explicam o alcance de cada evidência: testes de software, simulação de circuitos, experimentos sintéticos e avaliação em equipamento real respondem a perguntas diferentes. Os READMEs indicam as funcionalidades disponíveis e os próximos passos; o histórico e os workflows permitem acompanhar a evolução.
Este repositório é a apresentação do perfil, renderizada diretamente pelo GitHub. Para ler uma cópia local, clone https://github.com/luigiscofano/luigiscofano.git e abra README.md em um editor com prévia Markdown. A página não exige instalação ou build.
Índice completo dos projetos · Padrão de documentação · Versão em inglês
Tenho interesse em projetos, pesquisa e oportunidades em desenvolvimento de software, inteligência artificial e dados, especialmente quando há um problema concreto para investigar e uma solução para construir.
LinkedIn · luigiscofano.dev@gmail.com · luigiaraujo23@gmail.com


