Rogério Reis


Err and err and err again, but less and less and less.


Projectos propostos
P01
  • Título
    Sistema de avaliação automática de alunos
  • Docente
    João Pedro Pedroso
  • Descrição
    Neste trabalho pretende-se utilizar um sistema já existente para avaliação de conhecimentos em programação, e sistematizar a forma de arquivar a informação gerada, tornando-o utilizável por um público mais alargado. Uma das particularidades do sistema é a possibilidade de interagir de forma muito direta com a linguagem Python, permitindo verificar se determinadas funcionalidades foram corretamente implementadas pelo aluno.
    A linguagem de desenvolvimento é Python, fazendo uso da ferramenta de desenvolvimento web Django, para a qual já existe um protótipo com algumas das funcionalidades.

    É essencial ter excelentes bases em programação em Python; dá-se preferência a quem tiver conhecimentos de django.
P02
  • Título
    Organização de descrições arquivísticas
  • Docente
    Nelma Moreira
  • Descrição
    O CDI- Centro de Documentação e Informação sobre o Movimento Operário e Popular do Porto, da Universidade Popular do Porto (UPP) (http://cdi.upp.pt), que tem como objectivo a preservação e a divulgação da memória social, cultural e política, e da história oral e social do Porto do século XX. O Centro possuí um arquivo de Organizações de Trabalhadores onde foram recenseadas e cadastradas diversas organizações e digitalizados diversas séries documentais incluindo cartazes e fotografias. O Centro inclui ainda um arcevo de história oral constituído por conjuntos de testemunhos (entrevistas) de pessoas ligadas ao mundo do trabalho (coleção ``memórias do Trabalho''). Pretende-se neste trabalho reformular o sistema de informação e interface Web para o arquivo e a sua interligação ao acervo de história oral, com base na plataforma ICA-ATOM (http://ica-atom.org/).
P03
  • Título
    ImageFiler: Classificação de Imagens
  • Docente
    Nelma Moreira
  • Descrição
    Pretende-se o melhoramento do apliação Image Filer recentemente desenvolvida para a anotação, classificação, tratamento e arquivo de imagens. Em particular pretende-se: melhorar a robustez da aplicação e a inclusão de coleções de imagens de tamanho razoável; integrar a aplicação com sistemas de reconhecimento facial; exportação de dados em formato NISO Z39; estender o suporte para meta-informação e interligaçõo com servidores remotos (uso de protocolos OAI-PHM).
P04
  • Título
    Interoperacionalidade do GUItar
  • Docente
    Nelma Moreira e Rogério Reis
  • Descrição
    Descrição: No âmbito do desenvolvimento do ambiente interactivo de visualização de diagramas de autómatos na plataforma QT, no âmbito do projecto GUItar e interface ao sistema FAdo, pretende-se:
    - Melhorar a adequação das primitivas gráficas do canvas por forma a visualizar com fidelidade o resultado de um sistema de processamento de página, como o Vaucanson-G em LaTeX.
    - Melhorar a interação Homem-Máquina quer ao nível do interface gráfico quer do interface a aplicações externas, nomeadamente com o FAdo.
P05
  • Título
    Conversões eficientes de expressões regulares em autómatos pequenos
  • Docente
    Rogério Reis
  • Descrição
    A minimização de autómatos finitos não determinísticos (NFA), em contraste com a de determinísticos (DFA), é um problema computacionalmente difícil (PSPACE-completo). Por outro lado, na conversão de expressões regulares (REs) para DFAs (mínimos), estes podem ter um tamanho (número de estados) que é exponêncial no tamanho da expressão regular. Mas os métodos de conversão de expressões regulares para NFAs produzem NFAs que são lineares no tamanho da expressão regular. Contudo se se considerarem expressões regulares estendidas (EREs) (que podem ser exponecialmente mais sucintas) a situação pode ser diferente. Em ambos os casos é importante o estudo da obtenção de NFAs pequenos (não necessáriamente mínimos) e que possam conduzir a DFAs mais pequenos.

    Pretende-se o estudo e implementações eficientes de algoritmos para a obtenção de NFAs pequenos a partir de expressões regulares e expressões regulares estendidas.
P06
  • Título
    Sistema Web de Gestão de espaços
  • Docente
    Nelma Moreira
  • Descrição
    Pretende-se o desenvolvimento uma base de dados e um interface web para a gestão de atribuição de chaves e espaços a pessoas no departamento de Ciência de Computadores. Deverá haver informação sobre o mapa do edificio, cada tipo de sala, ocupante/responsável, instituição, datas de ocupação e objectivos.
P07
  • Título
    Indexador de Diários da República
  • Docente
    Rogério Reis
  • Descrição
    O "Diário da República" é, desde à alguns anos disponibilizado em formato digital (PDF). Pretende-se a escrita de um programa que possa indexar estes documentos digitais, extraindo automaticamente os títulos e subtítulos dos items aí publicados, permitindo assim um acesso rápido a estes documentos. O programa resultante deve ser multi-plataforma, devendo poder ser executado em Linux, MacOS e MSWindows.
P08
  • Título
    Conversor de formatos de descrição de grafos/diagramas
  • Docente
    Nelma Moreira e Rogério Reis
  • Descrição
    Integrado no projecto GUItar, a escrita de um módulo de conversão entre diversos formatos de descrição de grafos e ou diagramas. Os formatos em questão incluem, entre outros: Grail, Dot, Vaucanson-g, Vaucanson, FAdo, JFlap
    A linguagem a utilizar deverá ser Python.
P09
  • Título
    Integração de tags e comentários em clustering semântico de clips
  • Docente
    Álvaro Figueira
  • Descrição
    A classificação automática de documentos baseando-se no seu conteúdo é uma área de investigação em text mining que tem vindo a ser abordada desde há bastante tempo. Atualmente, provavelmente devido à proliferação de textos online e de sites informativos, tem-se intensificado-se a investigação nessa área. Neste projeto pretende-se desenvolver novos algoritmos para, partindo de algoritmos conhecidos de clustering de documentos, como por exemplo o k-means, fazer a classificação de clips (fragmentos de notícias) em que seja considerada, conjuntamente com o texto de cada clip, a informação relacionada existente em tags e comentários, que os utilizadores tenham eventualmente anexado aos clips.
P10
  • Título
    "Banners on Wheels"
  • Docente
    Michel Ferreira
  • Descrição
    Com o advento dos veículos ligados às redes de informação, a quota de Internet do para-brisas assumirá valores importantes. Basta pensar que em média um condutor nos Estados Unidos da América passa 3 horas por dia ao volante. Claramente, a publicidade neste para-brisas está já a suscitar amplo interesse no seio das principais empresas neste meio. Veja-se o forte e recente interesse da Google pela condução autónoma.

    Neste projecto pretende-se dar um primeiro passo no sentido de explorar publicidade no ambiente veicular. O projecto passa por criar uma plataforma web baseada no mapa da cidade do Porto para seleccionar segmentos de estrada onde será exibido determinado "banner", que será submetido também através do mesmo site web. Critérios adicionais, como o dia da semana ou a hora do dia em que o "banner" pode ser exibido, também poderão ser indicados no website. Os "banners" submetidos ficarão sujeitos a aprovação e serão enviados para a rede de táxis da Raditáxis do Porto, através de um protocolo simples, a definir. O projecto deve ainda integrar uma forma simples de pagamento online da publicidade e permitir a visualização de estatísticas de exibição dos banners.
P11
  • Título
    Sistema de recomendação num widget
  • Docente
    Alípio Jorge
  • Descrição
    Muitos sites têm atualmente a capacidade de recomendar automaticamente conteúdos com base na observação dos seus utilizadores usando SISTEMAS DE RECOMENDAÇÃO. No DCC existe uma plataforma capaz de recolher dados, processá-los usando técnicas de data mining (collaborative filtering) e fazer recomendações automáticas online. O que se pretende neste trabalho é usar essa plataforma e construir um widget que possa ser utilizado por pequenos sites tais como blogs ou sites alojados em sistemas de manutenção de conteúdos (por ex. webnode). O estudante deverá vir a compreender o funcionamento dos sistemas de recomendação, explorar as possibilidades de interação com a plataforma de recomendação existente, desenvolver o widget e aplicá-lo em pequenos sites.
P12
  • Título
    Deteção automática do interesse do utilizador de um site
  • Docente
    Alípio Jorge
  • Descrição
    Se temos um site, é possível sabermos se o utilizador do outro lado está a clicar, a mexer o rato ou a rolar a barra de scroll. Esta informação pode ser recolhida e processada usando técnicas de data mining para tentar modelar o interesse do utilizador. Ou seja, podemos aprender com o comportamento de alguns utilizadores para percebermos melhor o que outros pretendem fazer. Com esta informação podemos servir melhor os utilizadores dando-lhes informação ou conteúdos em que estão realmente interessados. Neste projeto o aluno continuará um trabalho já iniciado para recolha de dados de interação. A estratégia de recolha passava pelo desenvolvimento de jogos simples que atraem utilizadores comuns. O trabalho consistirá na compreensão do que foi feito até agora e no desenho de novas experiências. O trabalho envolverá o desenvolvimento de páginas web, mecanismos de recolha dos dados de interação e o seu armazenamento numa base de dados.
P13
  • Título
    GUI para elaboração interativa de horários
  • Docente
    João Pedro Pedroso
  • Descrição
    Este trabalho consiste na implementação de uma interface gráfica (GUI) para a elaboração interativa de horários por diversos parceiros com recursos comuns (e.g., departamentos numa faculdade). O sistema consiste na atribuição incremental de recursos (salas) a eventos (aulas) em determinados instantes de tempo. Pretende-se utilizar um sistema disponível que efetua a verificação de sobreposições e faz a proposta de um evento a fixar.
    O sistema deverá ser utilizado em simultâneo por diversos parceiros, pelo que uma interface via "browser" aparenta ser a mais apropriada; uma das possibilidades será fazer uso da ferramenta de desenvolvimento web Django.

    É essencial ter excelentes bases em programação, sendo conveniente ter conhecimentos de django.
P14
  • Título
    Aplicação Android para gerir vários sensores
  • Docente
    Miguel Coimbra
  • Descrição
    Neste trabalho pretende-se que seja criada uma aplicação para dispositivos Android, que consiga ligar-se e gerir vários sensores ao mesmo tempo.

    Plano de trabalhos:
    1. Permitir descobrir e ligar-se a qualquer dispositivo com bluetooth
    2. Conseguir escolher um plugin para cada ligação que saiba como ler os dados
    3. Guardar os dados dos dispositivos num formato adequado
    4. Criar uma interface simples para a aplicação
P15
  • Título
    Plataforma web para análise de resultados de questionários de stress e fadiga
  • Docente
    Miguel Coimbra
  • Descrição
    Neste trabalho pretende-se que seja criada uma plataforma web para visualizar e analisar os resultados de um conjunto de questionários, guardados numa base de dados.

    Plano de trabalhos:
    1. Criar um template web para os questionários
    2. Preencher os questionários com as respostas contidas na base de dados
    3. Proporcionar uma forma hierarquizada de visualização, dependendo do utilizador
    4. Gerar algumas estatísticas dinâmicas
P16
  • Título
    Orquestração de serviços e integração de tecnologias web
  • Docente
    Álvaro Figueira
  • Descrição
    No projecto Breadcrumbs (em desenvolvimento) coexistem arquitecturas de software muito variadas. Desde arquiteturas REST até sistemas monolíticos baseados em Java, passando por bases de dados SQL e NoSQL, e até sistemas de cache. Nesta fase do projecto pretende-se desenvolver um sistema capaz de administrar cada um dos componentes e fazer a respectiva orquestração dos serviços existentes no sentido de promover o fluxo de informação e fazer o probe de cada um dos componentes. O projecto envolve três fases:
    i) estudo dos sistemas e tecnologias;
    ii) integração das tecnologias com os módulos já desenvolvidos no âmbito do ptojecto;
    iii) criação de ferramenta para administração geral e probing de todo o sistema.
P17
  • Título
    Caracterização da Rede de Produção Científica Portuguesa
  • Docente
    Fernando Silva
  • Descrição
    O Authenticus é um projecto que visa a construção de uma base de dados certificada de publicações científicas em que pelo menos um dos autores está associado a uma instituição portuguesa. O sucesso desta tarefa depende fortemente da qualidade dos algoritmos de identificação de autores desenvolvidos e a sua associação a investigadores conhecidos sabendo-se que muitos investigadores partilham o mesmo nome de autor em publicações. Com o trabalho já realizado, existe uma base de dados certificada que nos permite criar redes sociais de co-autoria e proceder a uma análise dessas redes.

    O objectivo deste trabalho é analizar e caracterizar redes sociais de co-autoria. Pretende-se aplicar técnicas existentes de análise de redes sociais e proporcionar diferentes ângulos de observação das propriedades da rede através da visualização gráfica num interface Web.
P18
  • Título
    Criação de um ambiente pessoalizado para sugestão e acesso a notícias
  • Docente
    Álvaro Figueira
  • Descrição
    O projecto Breadcrumbs visa a criação de uma rede social de partilha de notícias. Um dos aspectos que mais realçam as potencialidades deste sistema é a sua facilidade de utilização por via de interfaces totalmente gráficas e muito intuitivas, bem como pelas sugestões personalizadas de notícias para cada utilizador. Nesta proposta de trabalho para a unidade curricular de Projecto o que se pretende é continuar a desenvolver o ambiente gráfico já existente. Concretamente, a proposta é a de criação de uma página de entrada, personalizável e dinâmica, constituída por propostas de sites e de notícias adequadas ao registo de interacções do utilizador em questão, por várias tags clouds, e pela rede social em que o utilizador se insere (tudo fornecido pelo servidor). A tecnologia a ser usada deverá ter um forte pendor gráfico e ser baseada em comunicações assíncrona entre o servidor e o cliente.
P19
  • Título
    Análise de desempenho de ambientes de grid computacional
  • Docente
    Inês Dutra
  • Descrição
    Tarefas: tendo acesso a três diferentes organizações virtuais com recursos diversos, estudar os gargalos dos serviços de grid, através de testes controlados e identificar pontos de contenção para posterior melhoramento. Os programas de teste são para verificação de tempos de espera em filas, tempos de transferência de ficheiros, tempos de acesso ao serviço de informação e tempos de acesso ao log monitor.
P20
  • Título
    Sistema de Gestão de Assiduidade
  • Docente
    Sandra Alves
  • Descrição
    Pretende-se o desenvolvimento de uma interface web que permita o registo/gestão automático de faltas em aulas práticas ou teórico práticas no Departamento de Ciência de Computadores. O registo de faltas será efectuado com recurso a um leitor de cartões , ligado a um computador portátil, que permita obter a identificação do aluno através do seu cartão mecanográfico. Numa fase inicial a base de dados da informação recolhida será mantida localmente na máquina do docente, podendo futuramente vir a ser intergrada no sistema de informação universitário.
P21
  • Título
    Ferramenta para apoio à gestão do inventário de hardware do DCC
  • Docente
    Rui Prior
  • Descrição
    O Departamento de Ciência de Computadores tem neste momento
    um leque variado de hardware de apoio às aulas, incluindo cerca de 150
    máquinas disponíveis nos laboratórios. Existe também um outro conjunto
    de hardware que foi descontinuado/desmantelado e que importa também
    gerir (por exemplo, para reaproveitamento de peças).
    Nesse sentido, propõe-se o estudo e respectiva implementação de uma
    ferramenta para apoio à gestão do hardware do Departamento, com base em
    interfaces Web.
P22
  • Título
    Reconhecimento automático de sequências harmónicas em música
  • Docente
    Mário Florido
  • Descrição
    A harmonia (sequência de acordes) em música tem uma estrutura e regularidade que está amplamente estudada. Com o aparecimento do processamento computacional de música há já trabalhos que definem a estrutura harmónica de um modo rigoroso usando gramáticas livres de contexto, e implementações de reconhecedores de estrutura musical como parsers dessas gramáticas (em Haskell, Java, C e Python). Pretende-se com este trabalho implementar um reconhecedor de sequências harmónicas a partir de vários formatos de input (biab, midi, XMLmusic, audio), o que corresponde a uma fase de análise léxica na linguagem usada para escrever harmonia (acordes) musical.
    Dependendo do decorrer do trabalho, este poderá evoluir para um módulo de análise sintáctica eficiente (usando geradores automáticos de parsers) e um módulo de pretty printing que imprima a árvore sintáctica correspondente à estrutura harmónica de musicas simples.
P23
  • Título
    Tratamento de ambiguidades e erros em Geradores de analisadores sintácticos
  • Docente
    Rogério Reis e Nelma Moreira
  • Descrição
    Pretende-se uma implementação eficiente de analisadores
    sintácticos LR (eventualmente não canónicos) e generalizados (GLR) com recuperação de erros para a linguagem Python.
P24
  • Título
    Chat android numa rede ad-hoc
  • Docente
    Pedro Brandão
  • Descrição
    Este projeto pretende avaliar a possibilidade de estabelecimento de uma rede ad-hoc usando a plataforma Android.

    Nesse sentido pretende-se desenvolver uma aplicação Android para chat numa rede ad-hoc. Uma rede ad-hoc é uma rede que não ligação a nenhuma infraestrutura e que por isso todas as rotas/ligações de rede entre dispositivos têm de ser determinadas e estabelecidas dinamicamente.

    As fases do projeto serão:
    * introdução a redes ad-hoc (estudo)
    * teste das frameworks para o suporte de redes ad-hoc em Android (Meshapps e Android WiFi direct)
    * desenvolvimento da aplicação de demo/utilização da rede (chat)
P25
  • Título
    Gestão de formação contínua
  • Docente
    Pedro Brandão
  • Descrição
    Este projeto pretende desenvolver uma ferramenta para gestão de acções de formação contínua. A plataforma a desenvolver deverá ser baseada em tecnologias web e ter as seguintes funcionalidades:
    * visualização das ações de formação disponíveis
    * adição de novas ações de formação por utilizadores autorizados
    * agendamento das ações de formação

    O projeto passará pelos seguintes fases:
    * desenho de uma BD de apoio ao sistema (análise de requisitos e desenho do esquema relacional)
    * implementação do sistema web que faça a gestão usando a BD associada
P26
  • Título
    Arranque por rede de sistema com máquinas virtuais
  • Docente
    Pedro Brandão
  • Descrição
    O projeto pretende melhorar o sistema de arranque remoto usado no LabCC (baseado em PXE).

    O sistema PXE permite que uma máquina "arranque pela rede", i.e., faça o download do sistema operativo que vai correr.

    Neste projeto pretende-se que se descarregue um sistema que seja o host de várias máquinas virtuais. Máquinas virtuais essas que deverão ficar disponíveis para acesso remoto.

    Um requisito extra será que o próprio sistema arrancado tenha disponível um ambiente gráfico mínimo para acesso às referidas máquinas virtuais.

    Na arquitetura corrente, o sistema de ficheiros é disponibilizado por rede (nfs). Como tal a maior parte será montado como read-only, sendo apenas algumas partes read-write (e locais). Parte do trabalho será o teste de como melhorar/permitir este controlo.

    Para o caso da imagem das máquinas virtuais terá de se avaliar as possíveis soluções para o armazenamento/controlo.
P27
  • Título
    Serviço de comunicações baseado em node.js
  • Docente
    Rui Prior
  • Descrição
    O node.js é uma plataforma de software baseada no motor de JavaScript V8 para a construção de aplicações na Internet, nomeadamente servidores web. Baseia-se num modelo de I/O não bloqueante e orientado a eventos que o torna leve, eficiente e escalável. Com este projecto pretende-se usar a implementação de um serviço web de comunicações (mensagens, chat, partilha de ficheiros) para avaliar a actual usabilidade do node.js na implementação de serviços web suportados por backend em base de dados relacional, identificando módulos existentes e eventuais limitações e problemas. O aluno deverá ter bons conhecimentos de tecnologias web e de programação em JavaScript.