18
Trabalhos de alunos de Informática da FEUP Quais foram os principais trabalhos desenvolvidos pelos alunos da LEIC e MIEIC? Monitor: Bruno Madeira Coordenador Geral: Manuel Firmino Coordenador de Curso e Supervisor: José Magalhães Cruz Equipa 1MIEIC01_01: Cláudio Fischer Lemos ([email protected]) Diogo Figueiredo Silva ([email protected]) Francisco Ramos Duarte ([email protected]) João Alberto Lopes Montanha dos Santos Alves ([email protected]) Luis Miguel Alves de Santiago Pinto ([email protected]) Tiago Coelho de Barros Aguiar Barbosa ([email protected])

Trabalhos de alunos de Informática da FEUP - paginas.fe.up.ptprojfeup/submit_16_17/uploads/relat_1... · geração de uma aplicação cliente/servidor usando um sistema de gestão

  • Upload
    dothien

  • View
    217

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Trabalhos de alunos de Informática da FEUP - paginas.fe.up.ptprojfeup/submit_16_17/uploads/relat_1... · geração de uma aplicação cliente/servidor usando um sistema de gestão

Trabalhos de alunos de Informática da FEUP

Quais foram os principais trabalhos

desenvolvidos pelos alunos da LEIC e MIEIC?

Monitor: Bruno Madeira

Coordenador Geral: Manuel Firmino

Coordenador de Curso e Supervisor: José Magalhães Cruz

Equipa 1MIEIC01_01:

Cláudio Fischer Lemos ([email protected]) Diogo Figueiredo Silva ([email protected])

Francisco Ramos Duarte ([email protected]) João Alberto Lopes Montanha dos Santos Alves ([email protected])

Luis Miguel Alves de Santiago Pinto ([email protected]) Tiago Coelho de Barros Aguiar Barbosa ([email protected])

Page 2: Trabalhos de alunos de Informática da FEUP - paginas.fe.up.ptprojfeup/submit_16_17/uploads/relat_1... · geração de uma aplicação cliente/servidor usando um sistema de gestão

Resumo Quais foram os principais trabalhos desenvolvidos pelos alunos da LEIC e

MIEIC? O objetivo do nosso relatório é precisamente responder a esta questão.

Falaremos de um modo geral dos vários projetos realizados nas unidades

curriculares da LEIC; falaremos de três trabalhos feitos por alunos, os quais são o

ArgMine (data mining program que deteta e identifica de forma automática os

argumentos contidos num texto escrito na língua Portuguesa), o Timetable Selector

(organizador de horários dos alunos da Universidade do Porto) e um jogo baseado

na localização (ajuda a promover o turismo local com o recurso às tecnologias

informáticas); e finalmente iremos fazer propostas de novas áreas a abordar.

Trabalhos de alunos de Informática da FEUP !2

Page 3: Trabalhos de alunos de Informática da FEUP - paginas.fe.up.ptprojfeup/submit_16_17/uploads/relat_1... · geração de uma aplicação cliente/servidor usando um sistema de gestão

Palavras-chave

LEIC MIEIC FEUP Trabalhos Projetos Teses ArgMine TimeTable Selector Turismo Propostas

Trabalhos de alunos de Informática da FEUP !3

Page 4: Trabalhos de alunos de Informática da FEUP - paginas.fe.up.ptprojfeup/submit_16_17/uploads/relat_1... · geração de uma aplicação cliente/servidor usando um sistema de gestão

Agradecimentos

A realização deste trabalho não teria sido possível sem a ajuda de várias pessoas, às quais gostaríamos de agradecer. Ao monitor Bruno Madeira e ao supervisor José Magalhães Cruz por se disponibilizarem para ajudar o grupo, oferecendo dicas, recomendações e tirando dúvidas sempre que necessário.

Ao professor Henrique Lopes Cardoso por disponibilizar informação sobre o projeto ArgMine, que foi bastante útil para a realização deste relatório.

E finalmente à comunidade FEUP pela implementação do ‘Projeto FEUP’, pois como alunos do primeiro ano, sentimos que nos ajudou na integração ao ensino superior.

Trabalhos de alunos de Informática da FEUP !4

Page 5: Trabalhos de alunos de Informática da FEUP - paginas.fe.up.ptprojfeup/submit_16_17/uploads/relat_1... · geração de uma aplicação cliente/servidor usando um sistema de gestão

Índice

Resumo..................................................................................................................................2 Palavras Chave.......................................................................................................................3 Agradecimentos.......................................................................................................................4 Índice.......................................................................................................................................5 Lista de Figuras.......................................................................................................................6 Introdução...............................................................................................................................7 1. Trabalhos realizados nas unidades curriculares da LEIC e MIEIC………………………….8 1.1 Programação II……………………………………………………………………………….8 1.2. Microprocessadores e Microcomputadores………………………………………………8 1.3. Laboratório de Computadores………………………………..……………………………8 1.4. Laboratório de Computação………………………………………………………………..8 1.5. Laboratório de Bases de Dados……………………………………………………………9 1.6. Laboratório de Engenharia de Software…………………………………………..………9 1.7. Laboratório de Gestão de Projetos…………………………………..………………….9 2. Trabalhos de alunos de Informática na FEUP...................................................................10 2.1. ArgMine.....................................................................................................................10 2.2. Timetable Selector................................................................................................. . . .13 2.3. Jogo baseado na localização para a otimização da experiência turística................14 3. Propostas de novos trabalhos..........................................................................................16 Conclusão......................................................................................................................... . . . 17 Referências Bibliográficas e Sitiografia........................................................................... . . . . 18

Trabalhos de alunos de Informática da FEUP !5

Page 6: Trabalhos de alunos de Informática da FEUP - paginas.fe.up.ptprojfeup/submit_16_17/uploads/relat_1... · geração de uma aplicação cliente/servidor usando um sistema de gestão

Lista de Figuras

Figura 1 - Circunferência afetiva proposta por Watson e Tellegen [PPGIA, 2010]…………..12 Figura 2 - Exemplo de horário feito no Timetable Selector…………………………………….13 Figura 3 - Centenas de pessoas jogam ‘Pokémon GO’ num parque em Tin Shui Wai, Hong Kong………………………………………………………………………………………………….14 Figura 4 - Trilho no Parque Biológico de Gaia......................................................................15

Trabalhos de alunos de Informática da FEUP !6

Page 7: Trabalhos de alunos de Informática da FEUP - paginas.fe.up.ptprojfeup/submit_16_17/uploads/relat_1... · geração de uma aplicação cliente/servidor usando um sistema de gestão

Introdução

No âmbito da Unidade Curricular do 1º ano do Mestrado Integrado em Engenharia e Computação, ‘Projeto FEUP’, o grupo 1MIEIC01_01 realizou o presente relatório no qual pretende apresentar e explorar os trabalhos feitos pelos alunos para as Unidades Curriculares da Licenciatura em Engenharia Informática e Computação.

Desde o início da realização do projeto, a equipa foi dividida em três, de maneira a cada par ficar focado num dos tópicos principais do relatório.

Falaremos dos vários trabalhos e projetos realizados ao longo das Unidades Curriculares do curso, como também em pormenor de três trabalhos específicos realizados por alunos do MIEIC: ArgMine, Jogo baseado na localização e Timetable Selector. Os trabalhos selecionados são de alunos do MIEIC, devido ao reduzido número de trabalhos dos alunos da LEIC.

Por fim, iremos propor e sugerir novos trabalhos a serem desenvolvidos e novas áreas a serem abordadas no curso anteriormente referido.

Trabalhos de alunos de Informática da FEUP !7

Page 8: Trabalhos de alunos de Informática da FEUP - paginas.fe.up.ptprojfeup/submit_16_17/uploads/relat_1... · geração de uma aplicação cliente/servidor usando um sistema de gestão

1. Trabalhos realizados nas Unidades Curriculares da LEIC e MIEIC

A licenciatura em engenharia informática e computação (LEIC) apresenta, ao longo dos cinco anos do curso, unidades curriculares nas quais se elaboram projetos e trabalhos práticos. As disciplinas não mencionadas neste tema durante a existência da LEIC (2002 a 2005), devem-se ao facto de, nas fichas das unidades curriculares, não constar nenhuma elaboração de trabalhos ou sequer projetos relevantes.

Os tópicos apresentados abaixo encontram-se organizados por ordem crescente de acordo com os anos letivos, do primeiro ao quinto.

1.1 Programação II Nesta disciplina, os estudantes são desafiados a escrever programas que usem

certas estruturas de dados, a conhecer aplicações típicas dessas estruturas de dados e, finalmente, a criar/seleccionar algoritmos e estruturas de dados para resolver problemas simples.

1.2. Microprocessadores e Microcomputadores

Durante o segundo ano da LEIC, no âmbito da disciplina de Microprocessadores e Microcomputadores, os alunos desenvolveram aplicações que exigem conhecimentos relacionados com Arquitetura de Computadores, no que diz respeito à composição de microprocessadores e microcomputadores, programação em Assembler e conhecimentos de dispositivos físicos externos.

1.3. Laboratório de Computadores

Os alunos no segundo ano da LEIC realizaram, no decorrer da disciplina Laboratório de Computadores, quatro trabalhos práticos envolvendo programação em C e Assembly, bem como conhecimentos mínimos de hardware.

1.4. Laboratório de Computação

No terceiro ano os estudantes desta disciplina têm de elaborar três projetos de software práticos relacionados com os temas abordados em aula (Síntese de imagem, Interface Pessoa-Máquina e Sistemas Operativos) , em grupos de dois alunos.

Trabalhos de alunos de Informática da FEUP !8

Page 9: Trabalhos de alunos de Informática da FEUP - paginas.fe.up.ptprojfeup/submit_16_17/uploads/relat_1... · geração de uma aplicação cliente/servidor usando um sistema de gestão

1.5. Laboratório de Bases de Dados

Projecto, implementação e documentação de um Sistema de Informação de pequena dimensão. Uso de ferramentas de desenvolvimento de aplicações na concepção e geração de uma aplicação cliente/servidor usando um sistema de gestão de bases de dados comercial e formulários, menus e relatórios num cliente Web e na geração de documentação em papel e online para todas as fases do projecto.

1.6. Laboratório de Engenharia de Software

Aplicação de um processo de Engenharia de Software ao desenvolvimento completo de uma aplicação usando uma metodologia aceite para especificação de requisitos e desenho de software.

1.7. Laboratório de Gestão de Projetos

Realização de um projeto cujo objetivo principal é o fortalecimento do trabalho em grupo dos participantes e melhoramento da eficácia da resolução de problemas dos mesmos. Os alunos têm as seguintes tarefas: Desenvolvimento de software, plano do projeto, documentação do projeto, organização e gestão da equipa, execução e controlo e exemplificação.

Trabalhos de alunos de Informática da FEUP !9

Page 10: Trabalhos de alunos de Informática da FEUP - paginas.fe.up.ptprojfeup/submit_16_17/uploads/relat_1... · geração de uma aplicação cliente/servidor usando um sistema de gestão

2. Trabalhos realizados por alunos de Informática na FEUP

2.1. ArgMine O projeto ArgMine: Argumentation Mining from Text, desenvolvido como tese de mestrado pelo aluno Gil Rocha com o apoio do LIACC (Artificial Intelligence and Computer Science Laboratory), tem como objetivo a deteção e identificação, de forma automatizada, dos argumentos contidos em textos da língua portuguesa através de algoritmos de aprendizagem de máquina supervisionada e de técnicas de processamento de linguagem natural.

2.1.1 Algoritmos de machine learning e PLN

Os algoritmos de máquina supervisionada, também conhecidos por machine learning, constroem um modelo capaz de mapear dados de entrada inseridos em linguagem natural (inputs), em dados de saída que representam os argumentos que se pretendem extrair dos textos (outputs) a partir de um conjunto de exemplos anotados manualmente em https://web.fe.up.pt/~ei11124/argmine/login.php, página da plataforma onde está descrito em pormenor o exercício de anotação de dados de forma a apoiar qualquer utente que esteja disposto a ajudar no processo. Um exemplo de mapeamento que faz uso do conector indicador de conclusão “portanto”, retirado do site:

“Exemplo: "Nós temos um mercado interno que é bastante limitado, portanto o nosso mercado tem que ser o mundo"

!

A palavra-chave "portanto" indica que se segue é uma conclusão baseada em algo que foi dito anteriormente.” [https://web.fe.up.pt/~ei11124/argmine/argumentDiagramming.html]

Os dados resultantes são então utilizados para “treinar” algoritmos de machine learning que realizam esta tarefa de forma automática. As técnicas de processamento de linguagem natural, ou PLN, consistem fundamentalmente na conversão da linguagem corrente, por vezes ambígua, em lógica de primeira ordem, ou LPO, acessível ao computador. Um exemplo simples disto seria a frase em linguagem natural:

Trabalhos de alunos de Informática da FEUP !10

Page 11: Trabalhos de alunos de Informática da FEUP - paginas.fe.up.ptprojfeup/submit_16_17/uploads/relat_1... · geração de uma aplicação cliente/servidor usando um sistema de gestão

“A Rita está na sala ou o Luís está na sala e o Rui está distraído”

A frase acima pode ter ser interpretada de duas formas principais: 1. “A Rita está na sala OU o Luís está na sala e o Rui está distraído”, em que a

conjunção “e” infere que o Rui estar distraído é uma consequência directa do Luís estar na sala;

2. “A Rita está na sala ou o Luís está na sala E o Rui está distraído”, na qual o Rui estar distraído é independente da Rita ou do Luís estarem na sala.

Enquanto que a ambiguidade acima apresentada é perfeitamente normal na linguagem comum, em LPO não pode existir qualquer dualidade de interpretação. Assim, em LPO, temos:

1. NaSala(rita) ∨ [NaSala(luis) ∧ Distraido(rui)]

2. [NaSala(rita) ∨ NaSala(luis)] ∧ Distraido(rui)

Os casos 1 e 2 acima apresentados são nitidamente diferenciados a partir de parênteses. É também neste processo de diferenciação que as técnicas de machine learning entram em ação, ensinando o computador a escrutinar informação de forma a evitar erros de leitura - só por uma qualquer opinião conter a palavra “ódio” nela não significa que o sentimento extraído dessa mesma opinião seja negativo, poderá até ser o completo oposto.

2.1.2. Extração de argumentos

O ArgMine trabalha, maioritariamente, sobre artigos publicados frequentemente em diversas fontes noticiosas (como, por exemplo, no Expresso e no Público). Deste modo, é relevante salientar que os argumentos que se pretende estudar representam as emoções, de influência mais ou menos positiva ou negativa, extraídas das opiniões encontradas nesses mesmos artigos noticiosos.

Antes, contudo, de ser efetuado o discernimento dos argumentos presentes nos textos, é necessário existir um consenso relativamente a que emoções estão neles presentes. Assim, e, sendo uma emoção algo interpretável e abstrato, a psicologia propõe um modelo de emoções denominado “Watson and Tellegen’s Circumplex Theory of Affect”:

Trabalhos de alunos de Informática da FEUP !11

Page 12: Trabalhos de alunos de Informática da FEUP - paginas.fe.up.ptprojfeup/submit_16_17/uploads/relat_1... · geração de uma aplicação cliente/servidor usando um sistema de gestão

Figura 1 - Circunferência afetiva proposta por Watson e Tellegen [PPGIA, 2010]

Com base num modelo de identificação de emoções semelhante ao acima apresentado e seguindo as regras da plataforma ArgMine é possível aos utilizadores mapear com precisão as influências positivas ou negativas das opiniões extraídas dos textos e, através da conversão para LPO das técnicas de processamento de linguagem natural, o computador consegue ler essa informação e aprender a efetuar o seu próprio mapeamento com ela.

2.1.3. Objetivo da extração de argumentos Ao extrair de forma automática argumentos a partir de texto com sucesso, o autor

desta tese pretendia saber não apenas quais os pontos de vista que estão a ser expressos no texto mas também quais as razões para acreditar nesses mesmos pontos de vista. Assim sendo, a extração de argumentos de forma automática tem o potencial de trazer avanços em algumas áreas de investigação tais como prospeção de opiniões e sistemas de recomendação.

Trabalhos de alunos de Informática da FEUP !12

Page 13: Trabalhos de alunos de Informática da FEUP - paginas.fe.up.ptprojfeup/submit_16_17/uploads/relat_1... · geração de uma aplicação cliente/servidor usando um sistema de gestão

2.2. Timetable Selector

O Timetable Selector, realizado por 22 alunos do MIEIC, é uma ferramenta que ajuda os estudantes da Universidade do Porto que tenham acesso ao Sigarra a visualizarem e organizarem o seu horário consoante as turmas antes de escolher as mesmas.

Figura 2 - Exemplo de horário feito no Timetable Selector

Depois do aluno definir o seu horário, é possível guardá-lo através de um link (exemplo: http://ni.fe.up.pt/TTS/#feup-MIEIC.2016.1~MDIS.1MIEIC01~AOCO.1MIEIC01~AMAT.1MIEIC01~ALGE.1MIEIC01~FPRO.1MIEIC01~PF.1MIEIC01). É de salientar que o ‘Timetable Selector’ não permite a inscrição nas turmas, pelo que apenas serve de suporte à plataforma do Sigarra.

O processo de desenvolvimento (conceito, implementação, testes e correção de erros) demorou mais de um ano. O Timetable Selector pode ser acedido através do link ni.fe.up.pt/TTS/.

Trabalhos de alunos de Informática da FEUP !13

Page 14: Trabalhos de alunos de Informática da FEUP - paginas.fe.up.ptprojfeup/submit_16_17/uploads/relat_1... · geração de uma aplicação cliente/servidor usando um sistema de gestão

2.3. Jogo baseado na localização para a otimização da Experiência Turística

O país em que vivemos é reconhecido internacionalmente pelo seu património natural. Desde o Parque Nacional Peneda-Gerês no Minho até ao Palácio da Pena em Sintra, as terras lusitanas possuem uma enorme paleta de cores apropriada a qualquer tipo de gosto turístico.

Figura 3 - Centenas de pessoas jogam ‘Pokémon GO’ num parque em Tin Shui Wai, Hong Kong [CNN]

E com o turismo em mente, e o recurso às tecnologias informáticas, o aluno Daniel Borges Pereira, na sua dissertação de mestrado, decidiu encontrar uma maneira de enriquecer a experiência da visita de um turista “pelos caminhos de Portugal”.

O principal objetivo da sua dissertação era o desenvolvimento de um protótipo de um jogo baseado na localização (isto é, a informação do sítio onde o jogador se encontra neste momento permite que haja uma constante evolução no percurso do jogo) que permitisse ao turista aprender e descobrir informações e factos interessantes sobre o local que o rodeia enquanto joga.

Trabalhos de alunos de Informática da FEUP !14

Page 15: Trabalhos de alunos de Informática da FEUP - paginas.fe.up.ptprojfeup/submit_16_17/uploads/relat_1... · geração de uma aplicação cliente/servidor usando um sistema de gestão

Figura 4 - Trilho no Parque Biológico de Gaia (Alma de Alecrim)

Numa fase inicial, o desenvolvimento do jogo estaria focado no Parque Biológico de Gaia, o que iria promover tanto a fauna como a flora da região. Numa fase posterior e, depois de o protótipo ter sido testado, seria desenvolvido um framework com a versatilidade de poder expandir o jogo para outros regiões turísticas. Como foi dito anteriormente, o protótipo inicial estaria focado no Parque Biológico de Gaia, e a aplicação teria disponível uma série de minijogos temáticos que seriam desbloqueados automaticamente (conforme a localização do jogador no parque), os quais teriam informação sobre o local e o ecossistema que o rodeasse.

Trabalhos de alunos de Informática da FEUP !15

Page 16: Trabalhos de alunos de Informática da FEUP - paginas.fe.up.ptprojfeup/submit_16_17/uploads/relat_1... · geração de uma aplicação cliente/servidor usando um sistema de gestão

3. Propostas de novos trabalhos

Propõe-se a realização de novos projetos direcionados para as tecnologias em ascensão, tais como nas áreas da automação, que facilitam muitas das tarefas nas vidas das pessoas (como por exemplo a abertura automática da garagem de casa ou a regulação automática da temperatura), e as áreas de “Internet of things” (IoT), que se baseia na conexão entre dispositivos, móveis ou fixos, de modo a se obter uma ligação entre o que nos rodeia para controlar e melhor aproveitar todas as suas funcionalidades (Como é o caso de uma notificação via internet que nos notifica se deixamos a garagem aberta ou não).

A criação de software que não só é fácil de interpretar pelo seu utilizador como também permite a sua compreensão a outros programadores aumentaria, por certo, a produtividade.

Algumas das áreas em que o foco deveria ser maior são, por exemplo, a saúde e a educação. Ainda que em ambas as áreas a utilização da informática esteja já a ser implantada e desenvolvida, há ainda espaço para melhorias, nomeadamente na área dos tempos de espera em hospitais e centros de saúde e nos serviços administrativos das escolas.

Este tipo de trabalhos é útil uma vez que não só respondem às necessidades das pessoas como também realizá-los reforça o conhecimento acerca de algumas das áreas tecnológicas mais avançadas do presente.

Trabalhos de alunos de Informática da FEUP !16

Page 17: Trabalhos de alunos de Informática da FEUP - paginas.fe.up.ptprojfeup/submit_16_17/uploads/relat_1... · geração de uma aplicação cliente/servidor usando um sistema de gestão

Conclusão

Com a elaboração desta pesquisa e relatório, foi-nos possível conhecer o tipo de trabalhos realizados nas unidades curriculares do nosso curso, como também descobrir trabalhos interessantes realizados por alunos.

Percebemos ainda que mesmo que o curso se espalhe pelos variados temas nas áreas da Informática, há sempre novas áreas a descobrir e explorar.

Trabalhos de alunos de Informática da FEUP !17

Page 18: Trabalhos de alunos de Informática da FEUP - paginas.fe.up.ptprojfeup/submit_16_17/uploads/relat_1... · geração de uma aplicação cliente/servidor usando um sistema de gestão

Referências Bibliográficas e Sitiografia

[1] SIGARRA, FEUP, 2016. “ArgMine: Argumentation Mining from Text”. Acedido a 10 de Outubro de 2016 . h t tps : / / s iga r ra .up .p t / feup /p t /pub_gera l .pub_v iew?pi_pub_base_id=138756 [2] ArgMine, Gil Rocha, 2016. “ArgMine: Argumentation Mining from Text”. Acedido a 10 de Outubro de 2016. https://web.fe.up.pt/~ei11124/argmine/ [3] Moodle U.PORTO, 2016. “Lógica Proposicional-2”. Acedido a 11 de Outubro de 2016. https://moodle.up.pt/pluginfile.php/68737/mod_resource/content/0/20booleModelos.pdf [4] PPGIA, Bárbara Martinazzo, 2010. “Um Método de Identificação de Emoções em Textos Curtos para o Português do Brasil”. Acedido a 11 de Outubro de 2016. https://w w w . p p g i a . p u c p r . b r / ~ p a r a i s o / m i n e r a c a o d e e m o c o e s / r e c u r s o s /barbara_martinazzo_versaofinal.pdf [5] Canal Superior, 2016. “Estudas na UP? O Timetable Selector ajuda-te a organizar o novo horário”. Acedido a 6 de Outubro de 2016. http://informacao.canalsuperior.pt/sala-geek/18399 [6] Notícias, Universidade do Porto, 2014. “AEFEUP apoia estudantes na escolha de horários”. Acedido a 6 de Outubro de 2016. https://noticias.up.pt/aefeup-apoia-estudantes-na-escolha-de-horarios/ [7] Timetable Selector, NIAEFEUP, 2013. “Timetable Selector”. Acedido a 5 de Outubro de 2016. http://ni.fe.up.pt/TTS/ [8] SIGARRA, 2016. “Jogo baseado na localização para optimização da experiência turística”. Acedido a 8 de Outubro de 2016. https://sigarra.up.pt/feup/pt/pub_geral.pub_view?pi_pub_base_id=150701 [9] Alma de Alecrim. “2.8 km de Descobertas”. Acedido a 8 de Outubro de 2016. http://www.almadealecrim.pt/2-8-km-de-descobertas/ [10] SIGARRA, FEUP, 2016. “Engenharia Informática e Computação”. Acedido a 15 de Outubro de 2016. h t t p s : / / s i g a r r a . u p . p t / f e u p / p t / c u r _ g e r a l . c u r _ p l a n o s _ e s t u d o s _ v i e w ?pv_plano_id=2462&pv_ano_lectivo=2003&pv_tipo_cur_sigla=&pv_origem=CUR

Trabalhos de alunos de Informática da FEUP !18