Na grande maioria das Unidades Curriculares do DEISI realizam-se projetos práticos. Apresentam-se projetos realizados, realçando os conceitos aplicados da unidade curricular e tecnologias usadas, de forma a dar a entender as competências que são trabalhadas em cada disciplina.
Desenvolver uma grelha 2D que simule o terreno do jogo, com árvores distribuídas aleatoriamente. Permitir que o jogador coloque tendas junto às árvores, assegurando que cada tenda esteja ligada apenas a uma árvore.
Implementar regras para assegurar que as tendas não se toquem, nem mesmo na diagonal, e criar uma interface de linha de comando para a interação do jogador com o jogo.
Conceitos aplicados da Unidade Curricular
Programação em Kotlin: ciclos, funções, arrays, arrays2D, leitura do teclado, escrita no ecrã.
Implementação e dinamização do módulo de fórum no Moodle para facilitar a discussão e partilha de conhecimentos relacionados com a unidade curricular.
O projeto visa a interatividade dos estudantes através da criação, comentário e partilha de tópicos de discussão sobre Marketing e áreas conexas, utilizando o Moodle como plataforma de ensino à distância.
Conceitos aplicados da Unidade Curricular
Pesquisa de informação e identificação de tendências
Abordagem a novas tecnologias usadas no Marketing
Relevância da Inteligência Artificial no Marketing Digital
Desenvolver uma aplicação de linhas de comando em Java que permite realizar queries relativamente sofisticadas sobre uma base de dados real contendo informações sobre músicas e artistas dos últimos 100 anos, obtidas de repositórios públicos.
A base de dados é representada em ficheiros CSV e os alunos devem implementar estruturas de dados em memória para responder às queries eficientemente.
Conceitos aplicados da Unidade Curricular
Algoritmos de ordenação e pesquisa
Estruturas de dados otimizadas para pesquisa como árvores e hashtables
Deteção de bottlenecks
Utilização de otimizações não-algorítmicas como buffering
Desenvolver em Java uma aplicação gráfica (desktop) para um jogo de tabuleiro com animais, que envolve estratégia e movimentação baseada em características animais e alimentares
O jogo suporta até 4 jogadores, cada um iniciando com um animal diferente, e inclui elementos como alimentação e energia, influenciando a dinâmica do jogo.
Conceitos aplicados da Unidade Curricular
Utilização correta de conceitos de programação orientada a objetos como encapsulamento, herança e polimorfismo.
Boas práticas de código e design de software, com expectativa de mais de 3000 linhas de código.
Planeamento com UML antes da codificação e uso intensivo de testes unitários em JUnit para garantir qualidade.
Tecnologias usadas
Java e Kotlin (os alunos misturaram as duas linguagens no projeto)
O desafio proposto visa aplicar os conhecimentos adquiridos em contexto de aula a fim de reconhecer tabuleiros de xadrez e as peças que neles constam. A identificação das peças é feita através de uma comparação com recurso a vários tipos de imagens fornecidas pelos docentes. Pretende-se também que sejam combinadas as funções em métodos únicos disponíveis ao utilizador de forma acessível através de uma interface onde são mostradas as imagens bem como a informação resultante das funcionalidades pretendidas.
Conceitos aplicados da Unidade Curricular
Processamento de imagens
Conversão de RGB para HSV (Hue, Saturation, Value)
Deteção e reconhecimento de padrões
Filtros de processamento de imagem (Negativo, Média,...)
Rotação de imagens e correção de ângulos
Comparação pixel a pixel de imagens
Tratamento de ruído (remoção de lixo)
Ajuste de brilho e contraste
Algoritmos de erosão e dilatação
Tecnologias usadas
OpenCV
HSV & RGB (modelo de cor)
Histogramas
Binarização
Funções de recorte e rotação de imagens
Interface gráfica (GUI) para manipulação de imagens
Autores:
Rodrigo Dias a22205897; Rui Ferreira a22207191; Miguel Melo a21905215
No âmbito da disciplina de arquitetura avançada de computadores decidimos como projeto final criar uma casa inteligente. O objetivo principal era criar um casa para um dia a dia mais pratico e facil.
Na nossa casa contamos com um sistema de segurança com fechadura com um código e um sistema de alarme por movimento. Iluminação interior e exterior com sensores para uma eficiência energética melhor. Um sistema de ar condicionado com um display que disponibiliza a temperatura ambiente da casa bem como o estado de funcionamento do ar condicionado. Contamos tambem com uma persiana automática e uma campainha.
Modelação de uma base de dados relacional transformando-a em um modelo dimensional (estrela) usando o Oracle Data Modeler
Implementação de processos ETL para transferência e transformação de dados para um Datawarehouse com o Pentaho Data Integration
Criação de relatórios e dashboards analíticos com visualizações interativas utilizando o Power BI Desktop, para facilitar a tomada de decisão baseada em dados
Conceitos aplicados da Unidade Curricular
Modelação Dimensional - o modelo em Estrela
Extração, transformação e carregamento de dados para um Datawarehouse
Criação de aplicação Web com um portfolio. Segue o modelo Model-View-Control. Integra modelação e implementação de uma base de dados, desenvolvimento de toda a lógica de negócio, e criação de interfaces Web.
Criação de uma aplicações sobre o curso (com informação das disciplinas e seus conteudos), projetos realizados
Criação de um blog, que permite comentários e ratings
Interligação com APIs
Conceitos aplicados da Unidade Curricular
Model-view-control
Framework de desenvolvimento web django, para backend e frontend
O principal objetivo deste projeto é projetar e implementar uma rede de computadores eficiente e segura para a empresa Beta Lda., que possui sede em Lisboa e filiais em várias cidades portuguesas, nomeadamente Porto, Portimão, Setúbal e Coimbra.
Conceitos aplicados da Unidade Curricular
Configuração no Packet Tracer: Utilizar o software Cisco Packet Tracer para simular a rede, configurando os dispositivos e serviços conforme os requisitos do projeto.
Divisão de Sub-redes e VLANs: Implementar a segmentação da rede através de sub-redes e VLANs, seguindo as regras estabelecidas para endereços IP e IDs de VLANs.
Implementação dos Serviços de Rede: Configurar os servidores DNS, DHCP, de ficheiros e backup controlador de domínio, garantindo que todos os serviços estejam operacionais.
Configuração do Roteamento: Selecionar e configurar o protocolo de roteamento adequado para assegurar a comunicação eficiente entre as diferentes partes da rede.
Testes de Conectividade: Realizar uma série de testes de conectividade para verificar a comunicação entre a sede e as filiais, bem como entre dispositivos dentro das VLANs.
Tecnologias usadas
Cisco Packet Tracer
Autores:
Rui Ferreira (a22207191), Rodrigo Dias (a22205897), Miguel Melo (a21905215)
Desenvolvimento de um portfólio que apresenta quatro aplicações distintas: uma aplicação com uma listagem de bandas e seus álbuns, uma aplicação de um jornal online, um diretório de um curso com a listagem de projetos e seus componentes relacionados, e uma aplicação de meteorologia. Cada aplicação segue o padrão Model-View-Controller (MVC), integrando modelagem de base de dados, lógica de negócios e interfaces web. O jornal também inclui recursos como comentários e avaliações, a meteorologia a integração com APIs externas para melhorar as funcionalidades da aplicação e todas as aplicações têm em comum a api de autenticação do Google.
Conceitos aplicados da Unidade Curricular
Model-view-control
Framework de desenvolvimento web django, para backend e frontend
Projeto feito em PowerBI, onde temos como objetivo expor informação de uma empresa de alimentação, relativamente a dados estatísticos previamente estruturados.
Conceitos aplicados da Unidade Curricular
Reporting Data
PowerBI
Data Handling
Tecnologias usadas
PowerBI
Autores:
Rui Ferreira (a22207191), Rodrigo Dias (a22205897), Miguel Melo (a2190575)
Desenvolver uma aplicação móvel para Android, usando Kotlin, que permite aos utilizadores registar e avaliar filmes vistos no cinema, obter informações em tempo real através da API OMDb
Inclui funcionalidades como validação geográfica, fotografia de cenas, e consulta de histórico de filmes assistidos em diferentes formatos
A aplicação suporta funcionalidades offline e pesquisa de filmes por voz
Conceitos aplicados da Unidade Curricular
Desenvolvimento em Android Nativo
Design e navegação de telas, formulários
Persistência de dados e integração com webservices
Adaptação a diferentes configurações de dispositivos e orientações de tela
Neste projeto é desenvolvida uma aplicação Web que aborda e aplica os conceitos estudados na disciplina
A aplicação integra uma apreesntação e caracterização dos principais sistemas sem fios existentes
A aplicação apresenta um conjunto de funcionalidades que permitem configurar e analisar aspectos de propagação, antenas, interferencia, planeamento celular e tráfego.
Conceitos aplicados da Unidade Curricular
sistemas de comunicações sem fios
propagação, antenas interferência e cobertura
planeamento celular
tráfego
Tecnologias usadas
Python e Django, com módulos matplotlib, seaborn, numpy, pandas
O objetivo deste projeto é desenvolver um modelo de resposta para otimizar uma campanha de marketing, visando maximizar o lucro através do aumento das respostas ou da redução de despesas.
Utilizando o conjunto de dados fornecido, que contém informações detalhadas sobre os clientes e suas interações anteriores com a empresa, a análise permitirá identificar os fatores mais influentes que levam os clientes a responder a uma oferta de produto ou serviço.
Por meio da criação de gráficos e visualizações, o projeto buscará ilustrar aspectos-chave dos dados, como demografia, comportamento de compra e histórico de campanhas, fornecendo insights valiosos que ajudarão a segmentar o público-alvo e personalizar estratégias de marketing para aumentar a eficiência e o retorno sobre o investimento.
Conceitos aplicados da Unidade Curricular
Análise de dados
Programação em Python, estruturas de dados e algoritmos
Projeto realizado com elevada interacção com o docente, tentando simular um ambiente real
Processar conteúdo para varias fontes de dados (bases de dados, ficheiros de texto)Identificar dados estranhos ou inválidosDescobrir quais os dados para considerar com ajuda do "data scientist"
Produzir data frames utilizando técnicas de data science