Skip to content
View luigiscofano's full-sized avatar
💭
🛠️ Construindo projetos de IA, software e ensino
💭
🛠️ Construindo projetos de IA, software e ensino

Sponsoring

@KennedyRichard

Block or report luigiscofano

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
luigiscofano/README.md

Luigi Scofano de Araujo

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

Sobre mim

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.

Por onde começar

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

Projetos em destaque

Intuição · Jogos de lógica, geometria e estratégia

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.


GestureLab · Mãos, gestos, escrita no ar e poses

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.


IC · Tupi Antigo, OCR e dados linguísticos

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.


Pokédex · Temos que pegar!

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.


Métodos Numéricos · Matemática em experimentos reproduzíveis

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.


Tetris em C · Regras, terminal e replay

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.

Sistemas digitais e arquitetura

Laboratório Digital I e II · Circuitos, sensores e jogos

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.


PCS3225 · Double-Dabble, calculadora e RISC-V

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.


PCS3616 · Assembly MVN, pilha e calculadora RPN

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.

Algoritmos e orientação a objetos

MAC0122 · Algoritmos, invariantes e testes

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.


MAC0321 · Eventos, estados, CSV e multiconjuntos

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.


MAC0321 · Lista 08, Swing e padrões de projeto

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.

Como explorar e executar

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 -v

A 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.

Competências

Á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.

Pesquisa e desenvolvimento

Além da pesquisa em Tupi Antigo, trabalho em iniciativas que aproximam tecnologia, educação e interação.

Museu virtual · LASSu-USP

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.

Trajetória profissional

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.

Formação e aprendizado

  • 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

Ensino e liderança

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.

Idiomas

  • Português: nativo.
  • Inglês: avançado — Cambridge C1 Advanced.
  • Espanhol e francês: intermediários.

Olimpíadas científicas

  • 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.

Organização, autoria e validação

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

Contato

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

Pinned Loading

  1. gesturelab gesturelab Public

    Laboratório de visão computacional em Python: quatro modos independentes para explorar mãos, gestos, desenho no ar e busca de imagens por semelhança de pose corporal.

    Python 1

  2. Pokedex Pokedex Public

    Uma coleção de Pokémon em memória para estudar classes, construtores, enumerações, cópia de objetos e controle de vida, com demonstração no terminal.

    JavaScript 1

  3. usp-labdig usp-labdig Public

    Acervo de Verilog da Poli-USP: 11 experiências e dois projetos integradores, com simulação, controle e fluxo de dados, sensores, UART, interface Processing e objetivos pedagógicos.

    Verilog

  4. tetris-c tetris-c Public

    Um jogo de blocos em C11 com sete peças, pontuação, níveis, pausa e replays determinísticos, acompanhado de testes e guias para estudar programação.

    C

  5. ic-pln-tupi-antigo ic-pln-tupi-antigo Public

    Pesquisa e ferramentas Python para digitalizar, estruturar e revisar dados lexicográficos de Tupi Antigo, preservando fontes, Unicode, incertezas e decisões de revisão.

    Python 1

  6. usp-mac0321-poo usp-mac0321-poo Public

    Estudos independentes de orientação a objetos em Java: simulação por eventos, estados de lançamentos, persistência CSV e multiconjuntos, com acervo acadêmico e testes.

    Java