Trabalho de Formatura - BCC (IME / USP)

Propostas de temas (pelos profs) para 2024

Última atualização: 19/03/2024


Abaixo encontram-se temas propostos pelos professores para o TCC 2024.
Para obter mais informações, fale diretamente com eles/elas.


Prof. João Eduardo Ferreira (Jef)

    Monitoramento de vídeos e eventos ao vivo em espaços abertos

    A detecção automatizada em tempo real de objetos e eventos em vídeos ao vivo e em fontes heterogêneas de dados requer, de forma simultânea, o sucesso no tratamento de ruídos em um grande volume de dados e na identificação de eventos inéditos. Essa combinação tem se demonstrado um grande desafio para os algoritmos tradicionais de Aprendizado de Máquinas e para os Sistemas de Software em Tempo Real. O principal objetivo deste projeto, que foi aprovado recentemente pela FAPESP (https://agencia.fapesp.br/fapesp-divulga-resultados-da-chamada-ciencia-para-o-desenvolvimento/34906/), é a descoberta automatizada ou semi-automatizada de eventos passados e inéditos. Assim, além da utilização avançada dos trabalhos de Aprendizado de Máquina baseados em estudos retrospectivos de eventos passados, incluimos também neste tema pesquisa, os conceitos e técnicas para encontrar em tempo real, os eventos inéditos em vídeo ao vivo e em outras fontes de dados.

    Os alunos irão aprender temas relacionados a bancos de dados e indexação de grande volume de vídeos, aprendizado e reconhecimento de objetos em vídeos e em fontes heterogêneas de dados, programação orientada por eventos.


Prof. Marcelo Finger

    Machine Learning para a análise de voz e fala: Biomarcadores respiratórios

    Machine learning para a integração de fontes heterogêneas de dados

    Validação multilingual de métricas de complexidade das línguas humanas, baseadas em algoritmos de compressão [ EM GRUPO ]

    Nas ciências das linguagens humanas, um dos grandes problemas em aberto é o de como definir a complexidade de uma língua, um texto, ou uma sentença de forma objetiva e computável. Resultados recentes sugerem algoritmos de medição de complexidade baseados em teoria da informação. Esses algoritmos degradam o texto de maneiras específicas e avaliam como a forma de degradá-lo influencia na sua compressibilidade. Essas métricas de complexidade se mostraram promissoras quando testadas em conjuntos de línguas indo-europeias, entretanto, para se ter uma medida de complexidade universal, é necessário testar seu comportamento contra um conjunto maior e mais diverso de linguagens.

    Nesse projeto, os alunos contribuirão para a validação dessas métricas. Eles coletarão um conjunto de dados bastante diverso, em várias línguas humanas e realizarão testes sobre as métricas nesse conjunto de dados, para entender se as propriedades desejáveis das métricas são de fato universais.

    Alguns textos candidatos com os quais os alunos poderão trabalhar são:

    • O Pequeno Príncipe (Francês)
    • Tao Te Ching, texto seminal do taoísmo ("Chinês" Clássico)
    • O Manifesto Comunista (Alemão)
    • A Expedição Kon-Tiki (Norueguês)
    • Cânone Páli, cânone budista da tradição Theravada (Páli)
    • Isha Upanishad, escritura hinduísta clássica (Sânscrito)
    • Literatura Mortuária do Antigo Egício (Língua Egípcia Antiga)

    Exploração Computacional das Diferenças de Complexidade entre os Domínios do Português Brasileiro

    Domínio de linguagem é uma variante de uma língua humana quando usada num contexto específico. Em estudos recentes, observamos que diferentes domínios do português brasileiro (textos jornalísticos, textos de entretenimento, ...) podem respeitar uma escala geral de complexidade de linguagem. O objetivo desse projeto é usar dados do Córpus Carolina, um dos maiores datasets de textos abertos do português brasileiro, aplicando métricas de complexidade linguística e métricas de complexidade baseadas em teoria da informação, para identificar como a complexidade de diferentes domínios de linguagem se organiza dentro do português brasileiro. Isso nos permitirá entender melhor como a língua portuguesa funciona, mas também quais as melhores ferramentas para a análise computacional da linguagem humana, como um todo.


Prof. Valdemar Setzer


Prof. Alfredo Goldman

    O uso de FPGAs como aceleradores (de preferência para quem já fez Paralela)

    Entendendo o cenário atual da computação quântica (de preferência para quem já fez Paralela)

    Trânsitos|Circulations: Enciclopédia Digital das Relações entre a França e o Brasil (1880-1980)
    Em colaboração com pesquisadora da FAU
    Detalhes neste arquivo


Profa. Renata Wassermann

    Meninas na computação

    A foto da primeira turma do BCC ficou famosa pela grande maioria de mulheres. A situação foi mudando ao longo dos anos, sendo que hoje, as estudantes que se declaram mulheres ficam abaixo dos 10% das turmas. Em 2021, um estudo preliminar foi feito pela estudante Juliana Trevine, do grupo de extensão TeCS (Grupo de Comput{ação social} da USP) e publicado na página do TeCS. O intuito deste TCC seria fazer um levantamento mais detalhado dos dados e também do impacto das ações recentes para atração de meninas, como o projeto CodificADAs. A partir deste estudo, poderemos pensar em novas estratégias para diminuir a disparidade de gênero.


Profa. Leliane Barros

    Aprendizado por Reforço em ambientes dirigidos a meta com becos-sem-saída

    Abstrações em planejamento baseado em backpropagation (ou planejamento com diferenciação automática)

    PACTL-Sym - Planejador Simbólico para problemas com ações não-determinísticas Orientação da Viviane Bonadia (doutoranda/IME) e coorientação da profa. Leliane Barros. Detalhes estão disponíveis em aqui.


Prof. Fabio Kon

    Dashboard interativo relacionando poluição atmosférica, dados climáticos e saúde da população

    O trabalho consiste na extensão da plataforma Health Dashboard para incorporar dados climáticos (temperatura, humidade e precipitação) e dados de poluição atmosférica da CETESB. O sistema resultante deverá não só mostrar as informações em um mapa interativo mas também permitir investigações por parte do usuário das relações entre o clima, poluição e a saúde da população nas diferentes regiões da cidade. Observação: trata-se de um TCC difícil que demandará bastante trabalho por parte do aluno mas que trará resultados científicos bem significativos.


    Qualidade de Dados, IA e o Caminho para Políticas Públicas de Segurança Pública Eficazes

    Neste TCC, no contexto de Segurança Pública, exploraremos como a qualidade dos dados influencia a ciência de dados e as predições realizadas por modelos de aprendizado de máquina bem com os aspectos éticos envolvidos.

    Investigaremos como a má qualidade dos dados pode comprometer as análises utilizando ferramentas de Ciência de Dados e IA; levando a decisões falhas e políticas públicas urbanas inadequadas. Caso haja alto comprometimento do aluno, também buscaremos desenvolver soluções inovadoras para avaliar a integridade dos dados e contribuir para o avanço de políticas urbanas de segurança.

    Orientadores: Fabio Kon e Marcelo Finger (IME-USP), Marcelo Nery e Sergio Adorno (NEV-USP)


Prof. Paulo Meirelles

    Kernel Linux

    Projetos de software de livre que envolvem um número considerável de desenvolvedores estão cada vez mais atrelados a qualidade dos modelos de contribuição que implementam. Tanto a eficiência quanto a complexidade do modelo podem potencializar ou minguar a capacidade do projeto, uma vez que um alto grau técnico não é uma condição suficiente para o seu sucesso. O projeto do kernel Linux não é diferente e conta com um modelo de contribuição consolidado que perdura há décadas e envolve milhares de contribuidores e mantenedores ao redor do mundo. No entanto, tendo em vista a importância de sistemas operacionais baseados no kernel Linux - por exemplo, a infraestrutura da Internet - e a necessidade de se manter estável, senão escalar, o contingente de desenvolvedores envolvidos no projeto, é válida a adoção de formas para simplificar e/ou aprimorar o modelo. O fluxo de trabalho de desenvolvedores do kernel Linux contém muitos procedimentos que podem ser automatizados ou simplificados sem detrimento da qualidade do código entregue ou das práticas envoltas no modelo de contribuição; entre várias oportunidades de contribuição e estudos do ponto de vista da engenharia de software.

    • Evolução da ferramenta kernelworkflow (kw) para coletar de dados da experiência do desenvolvedor do kernel Linux
    • Estruturação de um pipeline de Integração Contínua (CI) federado para o Kernel Linux
    • Estudo sobre o uso do KUnit para teste automatizados e outra ferramentas para guiar as boas práticas e refatoração do código do kernel (estudo de caso do driver de display da AMD)
    • Qualquer outro tópico relacionado com Kernel Linux e ecossistema do GNU/Linux


    Software Livre

    Software Livre é o termo dado a sistemas de software em que seus usuários são livres para usar, modificar, estudar e redistribuir o código-fonte. Este termo foi criado há mais de 40 anos, com o surgimento do movimento do software livre, em 1983, e da Free Software Foundation, em 1985. Passado pouco mais de uma década, surge a Open Source Initiative, em 1998, um movimento que propõe dissociar o modelo de negócio do "Free Software" do seu ponto de vista filosófico e, para isso, cria o termo "Open Source". Desde então, estudos de engenharia de software buscam formas atraentes para descrever e sintetizar as práticas adotadas em projetos de software livre.

    • Qualquer trabalho proposto que envolva o desenvolvimento/colaboração ou estudo sobre o ecossistema de um projeto de software livre


    Projeto BikeSP (em colaboração com o Prof. Fabio Kon)

    O uso de bicicletas como meio de transporte traz inúmeros benefícios para a sociedade, sendo fundamental que haja políticas públicas que o fomentem. Dentre as iniciativas existentes para essa promoção há o incentivo monetário para quem pedala, presente em alguns países em que o ciclismo é proeminente. Em 2016, como forma de estimular a migração modal para a bicicleta, a Prefeitura de São Paulo aprovou uma lei para que uma política similar fosse implementada na cidade -- é o chamado "Bike SP", um programa voltado para dar créditos de mobilidade para quem se desloca usando este meio. No entanto, a iniciativa nunca chegou a ser regulamentada. Um dos motivos é a carência de estudos que embasam o programa e ajudem a determinar como ele será executado. Dessa forma, como parte da pesquisa para fundamentar a política cientificamente, será feito um projeto piloto com moradores da cidade de São Paulo. No experimento, busca-se verificar a hipótese de que remunerar ciclistas leva ao aumento do número de viagens funcionais (com motivo de origem ou destino trabalho ou estudo) feitas em bicicleta. A execução do projeto será acompanhada pela Secretaria Municipal de Mobilidade e Trânsito (SMT) da Prefeitura de São Paulo, e será conduzida em parceria com especialistas em ciclomobilidade.

    • Testes automatizados: Técnicas comuns de teste automatizado usadas e melhores práticas para automatizar testes para desenvolvimento de software móvel.
    • Multiplataforma: Estudo sobre estratégias para migração/evolução para uma abordagem Cross-Platform (Android e IOS)
    • Ciência de Dados: Painel (dashboard) para análise de dados das viagens dos ciclistas para tomadas de decisão

Prof. Paulo A. V. Miranda

    Jogo de corrida em OpenGL moderno, no estilo Mario Kart, parecido com SuperTuxKart


Prof. Paulo Sérgio Scarazzato (FAU-USP) e Roberto Hirata

    Geração de imagens High Dynamic Range (HDR) para estudos de iluminação de ambientes

    A análise da distribuição de luz no interior ou exterior de uma edificação, seja ela proveniente da iluminação natural, da iluminação elétrica ou, simultaneamente de ambas, pode ser feita por meio de simulação computacional quando na etapa de desenvolvimento do projeto, ou mediante o uso de imagens HDR (High Dynamic Range) para ambientes existentes, bem como para modelos físicos em escala reduzida, tanto para projetos em desenvolvimento, como para ambientes construídos. As imagens HDR são aquelas cujo intervalo dos valores de cada ponto é grande [0,65535], o que ajuda na representação de muito mais valores de luminâncias. Neste projeto o(s) aluno(s) reimplementará(ão) uma aplicação Web (https://www.lightphotoanalyzer.fau.usp.br/lpa) em uma aplicação para dispositivos móveis. A aplicação Web, desenvolvida usando algoritmos da biblioteca "jaloxa", servirá principalmente para auxiliar no projeto da iluminação de um ambiente de forma bastante ampla, uma vez que incluirá todas as características do ambiente objeto de estudo, com seus acabamentos e refletâncias. A vantagem de se usar um dispositivo móvel é que a pessoa usuária tem independência da Internet. Além disso, há a vantagem de não ser necessário o compartilhamento de informações privadas como, por exemplo, as próprias fotos dos ambientes e das pessoas que lá estão.