Informática de Gestão

A licenciatura de Informática de Gestão colmata uma das principais necessidades das empresas, em particular no aproximar as áreas de negócio (Marketing, Vendas, Operações, etc.) com as áreas principais de Tecnologias e Sistemas de Informação.
Saber falar negócio e tecnologia é essencial, pois são "linguagens" diferentes. Apenas colaboradores capazes de entender a forma como as empresas se estruturam e posicionam nos seus mercados, associado a conhecimentos tecnológicos, poderão potenciar um perfeito alinhamento Tecnologia-Negócio. Este é o foco de quem realiza a licenciatura de Informática de Gestão.

Várias empresas estão envolvidas ao longo do curso, de forma a incorporar a realidade do mercado empresarial, bem como um corpo docente com experiência prática empresarial de forma a sustentar as bases teóricas e práticas aos alunos que realizam um percurso de elevada qualidade de conhecimentos.

Objetivos do curso

A licenciatura em Informática de Gestão pretende formar especialistas aptos a manipular, editar e analisar informação, nomeadamente em ordem ao suporte à tomada de decisão, ao nível conceptual e abstrato, no contexto de atividades de gestão, quer em organizações públicas, quer em organizações privadas. A licenciatura envolve um conjunto de matérias de formação elementar, de base e especializada, que permitem ao futuro profissional atuar com rigor científico, atualidade tecnológica e capacidade de gestão operativa e estratégica, em domínios que englobam a análise, conceção, modelação, produção, operação e manutenção de aplicativos informáticos, redes de informática em organizações, ferramentas de suporte à decisão e aplicativos informáticos para gestão empresarial.

Plano de Estudos

Explore os conteúdos e projetos das unidades curriculares

  • 1.º Ano

    1.º Semestre
    • Fundamentos de Programação

      Apresentação

      Esta é uma disciplina fundamental na formação de qualquer profissional da área de Informática pois introduz os conceitos básicos da programação, sobre os quais assentarão muitas disciplinas subsequentes como Linguagens de Programação I e II, Algoritmia e Estruturas de Dados, Programação Web, Computação Móvel, etc. Mais do que aprender uma linguagem de programação, o aluno aprende a pensar como um programador, analisando problemas e desenhando algoritmos que os resolvam recorrendo a fluxogramas e a programas escritos em Kotlin, uma linguagem promissora que combina as melhores características das linguagens modernas mais populares (Java, Python, etc.)

      Dado ser o primeiro contacto de muitos alunos com o tópico da Programação, reveste-se de uma importância especial na aquisição de conhecimentos primordiais mas também na sua motivação. Mais do que aprender a programar, os alunos aprendem a gostar de programar.

      DocentesPedro AlvesBrena LimaBruno SaraivaLucio StuderRodrigo CorreiaWellington Oliveira

      Projetos

      • Jogo das Tendas

        Descrição
        • 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ã.
        Tecnologias usadas
        • Kotlin
        • IntelliJ
      • Batalha Naval

        Descrição
        • Desenvolver uma grelha 2D que simule a arena do jogo, com navios e marcadores de jogadas anteriores.
        • 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ã.
        Tecnologias usadas
        • Kotlin
        • IntelliJ

      Programa

      • Introdução à programação
      • Algoritmos, fluxogramas, pseudo-código
      • Sintaxe e semântica das linguagens
      • Elementos da sintaxe, estrutura de um programa
      • Declarações e atribuições
      • Tipos primitivos
      • Expressões aritméticas, expressões lógicas
      • Entradas e saídas de dados
      • Selecção
      • Repetição
      • Funções
      • Arrays uni-dimensionais e bi-dimensionais
      • Tratamento de erros
      • Leitura e escrita de ficheiros
      • Boas práticas de programação imperativa
    • Fundamentos de Sistemas de Informação

      Apresentação

      A disciplina insere-se no plano geral de formação em sistemas de informação da licenciatura e tem como principais objetivos fornecer aos alunos um conjunto de conhecimentos gerais e específicos que lhes permita a compreensão e domínio dos tipos, características e papel dos Sistemas de Informação em toda a sociedade e em particular nas empresas, bem como de Gestão e Planeamento de Sistemas de Informação Empresariais, representar e modelar processos de negócio e requisitos. Aprender a especificar e selecionar novos sistemas de informação. Conhecer as metodologias de desenvolvimento e aspetos de segurança a considerar.

      DocentesRui RibeiroJosé Cascais Brás

      Programa

      Componente Teórica

      1.  Conceito de Sistemas de Informação: Pessoas, Processos e Tecnologia 
      2. Pirâmide do Conhecimento: Dados, Informação, Conhecimento e Sabedoria
      3. Estratégia e SI e Sistemas Empresariais: gestão de clientes (CRM), gestão de recursos (ERP), plataformas logísticas (SCM), marketplaces e ebusiness, SIG, sistemas móveis, etc.
      4. Estruturas de Hardware e Software
      5. Arquiteturas Empresariais 2 e 3 níveis
      6. Qualidade e Metodologias de Gestão de SI/IT (ITIL, CobiT, CMM)
      7. Ética e impactos legais da tecnologia 

      Componente Prática 

      1. Diagrama de Ishikawa (este pode passar para as teóricas, mas pode ser um bom início de estruturação de problemas antes de processos)
      2. Conceitos de Processos e BPM
      3. Notação BPMN
      4. Conceitos base de Process Mining
      5. Conceito base de Lean Six Sigma
    • Matemática I

      Apresentação

      Esta disciplina abrange os métodos fundamentais de Cálculo associados a funções reais de variável real. É uma área transversal a todas as engenharias e demais cursos de cariz científico. Abrange os métodos clássicos de cálculo diferencial e Integral a uma dimensão.

      DocentesAndré FonsecaSofia FernandesSofia Naique

      Programa

      1. Lógica Matemática

      • Designação e proposição. Valor lógico de uma proposição. Conjunção e disjunção de proposições. Conjunto, interseção e união de conjuntos.

      2. Os números reais

      • Números racionais e irracionais. Ordem e valor absoluto.

      3. Funções reais de variável real:

      • Generalidades sobre funções. Funções polinomiais e racionais. Funções trigonométricas. Função exponencial e logarítmica.

      3. Limite:

      • Definição e propriedades de limites de uma função. Continuidade de funções.

      4. Derivada:

      • Interpretação geométrica. Regras de derivação. Derivadas de ordem superior.

      5. Estudo global de uma função:

      • Monotonia e extremos relativos. Concavidade e pontos de inflexão. Assíntotas. Gráficos.

      6. Integração:

      • Primitiva imediata. Primitivação por substituição e por partes. Integral definido, teorema fundamental do cálculo. Aplicações da integração (áreas de figuras planas).
    • Teoria e Prática de Marketing

      Apresentação

      DocentesFernando Angelino

      Projetos

      • Fórum no Moodle – discussão & partilha

        Descrição
        • 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
        Tecnologias usadas
        • Moodle

      Programa

    2.º Semestre
    • Algoritmia e Estruturas de Dados

      Apresentação

      Esta UC surge no 2º semestre do 1º ano, na continuação do trabalho iniciado em Fundamentos de Programação (FP). Em FP, os alunos deram os primeiros passos na programação e preocuparam-se principalmente em produzir programas correctos. Agora, em Algoritmia e Estruturas de Dados, irão continuar a produzir programas correctos mas com preocupações de desempenho, a nível de tempo de execução e consumo de memória.

      Esta é uma UC fundamental no currículo de um Engenheiro Informático, que na sua vida profissional encontrará inúmeras situações em que terá que resolver problemas causados por fraco desempenho das aplicações e que exigem um conhecimento sólido dos princípios subjacentes aos principais algoritmos e estruturas de dados.

      Não obstante a aprendizagem de conceitos e técnicas de algoritmia e estruturas de dados, os alunos trabalham outras competências fundamentais. Nomeadamente, o espírito crítico e a capacidade de avaliar várias alternativas para resolver os problemas.  

      DocentesPedro AlvesBruno CiprianoDuarte NevesRodrigo CorreiaWellington Oliveira

      Projetos

      • Rock in DEISI

        Descrição
        • 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
        Tecnologias usadas
        • Java
        • ntelliJ
        • JUnit
        • ChatGPT

      Programa

      • funções recursivas, algoritmos recursivos
      • tipos de dados complexos
      • eficiência e optimização (algorítmica e não-algorítmica)
      • complexidade de algoritmos
      • algoritmos de pesquisa
      • algoritmos de ordenação – bubble sort, selection sort, merge sort, quick sort
      • tipos de dados abstractos – pilhas e filas
      • listas ligadas
      • árvores binárias, árvores ordenadas, árvores AVL
      • hashtables
    • Cálculo Financeiro

      Apresentação

      A Unidade Curricular insere-se no plano geral de formação na Licenciatura de Informática de Gestão, procurando dotar os alunos dos principais conceitos de Cálculo Financeiro visando o suporte
      para a tomada de decisão, temática crítica no contexto empresarial.

      DocentesRui Cardoso

      Programa

      1. Conceitos Básicos
      2. Regimes de Capitalização
      2.1. Regime de juro simples
      2.2. Regime de juro composto
      3. Equivalência de Capitais
      3.1. Equação de valor
      3.2. Capital único
      3.3. Vencimento médio
      3.4. Taxa média
      4. Equivalência de taxas
      4.1. Taxas nominais e taxas efetivas
      4.2. Taxas equivalentes
      4.3. Taxa instantânea de capitalização
      4.4. TAEG
      5. Rendas
      5.1. Noção e classificação
      5.2. Rendas de termos constantes
      5.2.1. Rendas inteiras
      5.2.2. Rendas fracionadas
      5.2.3. Rendas perpétuas
      6. Empréstimos
      6.1. Empréstimos clássicos
      6.1.1. Conceitos genéricos
      6.1.2. Classificação quanto ao período de reembolso e pagamento de juros
      6.2. Empréstimos por obrigações
      6.2.1. Conceitos genéricos
      6.2.2. Modalidades

    • Competências Comportamentais

      Apresentação

      Esta unidade curricular (UC) inscreve-se num contexto onde têm sido elencadas necessidades de adaptação dos especialistas em informática ao contexto das organizações, nomeadamente no que às denominadas soft skills diz respeito. Assim, pretende-se que os alunos desenvolvam conhecimentos ao nível das ferramentas básicas de empregabilidade (ex. Currículo, redes sociais e networking, marketing pessoal), gestão das emoções, gestão de tempo (ex. trabalho remoto), trabalho em equipa e liderança, comunicação e desenvolvimento de competências comportamentais e autoconhecimento. Por outro lado, é objetivo desta UC o desenvolvimento de um plano individual de desenvolvimento pessoal, bem como de aptidões que permitam aos alunos destingir entre factos e opiniões, conhecimento científico e senso comum. Sendo uma UC de índole prática, pretende-se que os conhecimentos sejam operacionalizáveis e tendentes ao desenvolvimento de competências transferíveis do plano académico para a domínio profissional.

      DocentesDiogo MoraisTomáz Saraiva

      Projetos

      • IT in competences development

        Descrição
        • Desenvolvimento de competências via projetos tecnológicos (apps, jogos, websites), incluindo análise de mercado e estratégias de monetização.
        • Apresentação de 10 minutos para captação de investimento, seguida de avaliação pelos pares.

        Conceitos aplicados da Unidade Curricular
        • Critical Thinking, apresentações públicas, personal marketing e desenvolvimento de competências.
        Tecnologias usadas
        • Diversas. Ficou ao critério dos alunos a definição dos pressupostos técnicos, não havendo limitações

      Programa

      1. Marketing Pessoal e personal skills development:

      a. CV;

      b. Portefólio;

      c. Apresentação pessoal e comunicação interpessoal;

      d. Apresentação em público e ferramentas para o efeito;

      e. Redes sociais e Networking.

      2. Gestão de tempo:

      a. Trabalho remoto e comunicação mediada;

      3. As tecnologias no trabalho: oportunidades e ameaças;

      4. Trabalho em equipa;

      5. Resolução de problemas e Pensamento crítico.

      6. Factos Vs Opiniões;

      7. Work-life balance.

    • Linguagens de Programação I

      Apresentação

      DocentesPedro AlvesBruno CiprianoDuarte Neves

      Projetos

      • DEISI Chess

        Descrição
        • Criação um jogo de Xadrez!
        • Na primeira parte deste projeto os alunos são desafiados a criar a lógica por trás deste jogo, sendo que vão começar apenas a jogar com Reis.
        • Na segunda parte vão ser incorporadas as outras peças de maneira a completar este jogo.

        Conceitos aplicados da Unidade Curricular
        • diagramas UML
        • programação orientada a objetos de acordo com o teorema do encapsulamento
        Tecnologias usadas
        • linguagens de programação Java e de Kotlin
        • testes em JUnit 5
        • criação de um repositório Git no GitHub
      • DEISI Jungle

        Descrição
        • 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)
        • IntelliJ
        • Git/GitHub
        • JUnit

      Programa

    • Matemática II

      Apresentação

      Geométria analítica e calculo diferencial e integral para funções reais de várias variáveis reais.

      DocentesAndré FonsecaGuilherme AntunesSofia Naique

      Programa

      1. Vectores e geometria do espaço

      1.1 Coordenadas cartesianas tridimensionais.

      1.2 Vectores, produto escalar.

      1.3 Rectas e planos.

      1.4 Superfícies cilíndricas e quádricas.

      1.5 Noções topologicas

      2. Funções vectoriais de variável real

      2.1 Funções vectoriais e curvas no espaço.

      2.2 Limites e continuidade. Diferenciabilidade, vector tangente a uma curva.

      2.3 Integração, comprimento de uma curva.

      3. Funções de várias variáveis

      3.1 Dominios e  curvas de nível.

      3.2 Limites e continuidade.

      3.3 Derivadas parciais, derivadas de ordem superior.

      3.4 Diferenciabilidade, planos tangentes e aproximações polinómiais.

      3.5 Derivada direccional, vector gradiente e sua interpretação geométrica.

      3.6 Matriz Hessiana, extremos locais e pontos de sela.

      4. Integrais múltiplos

      4.1 Integrais duplos.

      4.2 Coordenadas polares e mudança de variáveis em integrais duplos.

      4.3 Integrais triplos.

      4.4 Coordenadas cilíndricas e esféricas. Mudança de variáveis em integrais triplos.

    • Métricas Empresariais

      Apresentação

      Esta unidade curricular dedica-se aos conceitos fundamentais da teoria da probabilidade, estatística e métricas empresariais

      DocentesSofia Naique

      Programa

      1. Estatística Descritiva

      Tipos de dados. Tabelas de frequências

      Medidas de centralidade e de variabilidade

      Visualização 

      2. Regressão Linear

      Variável independente vs. dependente. Gráficos de dispersão

      Covariância e coeficiente de Pearson

      Resíduo. Reta de regressão, Cálculo da estimativa para a resposta, dado certo valor para a variável independente

      3. Probabilidade

      Experiência aleatória. Espaço de resultados. Operações entre eventos.

      Propriedades da função probabilidade. Probabilidade da união de eventos Lei da probabilidade total Teorema de Bayes Probabilidade condicionada. Eventos independentes

      4. Indicadores Empresariais

      • Conceito de Avaliações de Desempenho Empresariais: equipas executivas, de departamentos e individuais
      • Estrutura de KPI: operacionais e estratégicos,
        • métricas financeiras
        • customer experience
        • processos
        • marketing
        • IT
        • Vendas
        • recursos humanos
        • entre outros
      • Metodologia OKR e Balanced Scorecard
      • Construção de dashboard em PowerBI
  • 2.º Ano

    1.º Semestre
    • Bases de Dados

      Apresentação

      Esta unidade curricular tem por objetivo apresentar a importância da Gestão de Dados no seio de uma empresa, de forma a garantir quer a operação diária de negócio, bem como o apoio à decisão estratégica.

      Nesta unidade reforçar-se-á o enquadramento de estruturação e metodologias de criação das bases de dados.

      DocentesRui RibeiroJoão CaldeiraLuis A. Gomes

      Programa

      O programa da unidade curricular é:
      A) Componente Teórico

      • Introdução
      • Modelo de relacionamento entre entidades
      • O modelo relacional
      • Refinamento de esquema: Conceito de normalização e transações
      • Arquitetura de SGBD e algum SQL Avançado

      B) Componente Prática

      • Introdução à linguagem SQL;
      • Instruções: DDL, DML (DQL) e DCL
      • Operações: WHERE, ORDER BY, GROUP BY;
      • Conceito avançados em SQL: Controlo de erros
      • Operadores Relacionais: União, intersecção e Subtracção
      • Produto Cartesiano (externo)
      • Queries complexos (filtro com valores agregados) e sub-queries
      • Set DDL; Instrução CREATE; Tipos de dados; Nulidade; Instruções ALTER e DROP
      • INDICES e VIEWS
      • Controlo de erros: estrutura TRY¿CATCH
      • Procedimentos (SP) e Triggers
      • Operações com tabelas: Cursores
    • Instrumentos de Gestão

      Apresentação

      A UC Instrumentos de Gestão insere-se no plano geral de formação na Licenciatura em Informática de Gestão, procurando estabelecer a ligação entre o ambiente informático e o ecossistema de negócios e dotar os alunos da necessária compreensão dos conceitos e princípios universais da Ciência Gestão de Empresas.

      DocentesRui Cardoso

      Programa

      Tabela de Matérias:

      1. A Empresa
        1. Conceitos;
        2. O Gestor
          1. Competências;
          2. Funções;
          3. Evolução do Foco das Teorias da Gestão
            1. Tarefas;
            2. Organização;
            3. Pessoas;
            4. Ambiente;
            5. Tecnologia;
          4. Dimensões da Gestão
            1. Conceção;
            2. Planeamento;
            3. Organização;
            4. Direção;
            5. Coordenação;
            6. Controlo e Desenvolvimento;
          5. Estruturas Organizacionais
            1. Princípios;
            2. Arquitetura;
            3. Tipos de Estrutura;
            4. Departamentalização;
            5. Organogramas;
            6. Funções Fundamentais da Gestão
              1. Estratégia;
              2. Finanças;
              3. Marketing;
              4. Recursos Humanos;
              5. Operações;
            7. Tendências da Gestão:
              1. Ética;
              2. Responsabilidade Social;
              3. Sustentabilidade;
              4. Governance.
    • Investigação Operacional

      Apresentação

      É fundamental compreender as ferramentas disponíveis no âmbito da Investigação Operacional e a sua importância na tomada de decisão da gestão. Para isso é indispensável saber formular o problema, saber modelizá-lo, escolher e aplicar o algoritmo e interpretar os resultados.
      A definição teórica e matemática dos diferentes tópicos abordados é acompanhada da aplicação de ferramentas informáticas disponíveis.

      DocentesLuis Mata

      Programa

      1. Visão Geral da Abordagem Investigação Operacional

      • Origem da Investigação Operacional
      • Natureza da Investigação Operacional
      • Impacto da Investigação Operacional
      • Definição do Problema e recolha de dados
      • Formalização do Problema de Investigação Operacional
      • Teste, aplicação e avaliação do modelo

      2. Programação Linear

      • Modelo de Programação Linear
      • Hipóteses do Modelo
      • Resolução Gráfica
      • Método Simplex
      • Interpretação económica da solução
      • Pós-otimização

      3. Teoria da Dualidade e Análise de sensibilidade

      • Teoria da Dualidade
      • Relação Primal ¿ Dual
      • Análise de sensibilidade

      4. Problema de Transportes e Afetação

      • Formalização do Problema de Transportes
      • Resolução do Problema de Transportes
      • Formalização do Problema de Afetação
      • Resolução do Problema de Afetação

      5. Otimização de Redes

      • Terminologia de Redes
      • O Problema do caminho mais curto
      • O Problema da árvore de expansão mínima
      • O Problema de fluxo máximo
      • O Problema de Planeamento de Projetos.
    • Linguagens de Programação II

      Apresentação

      Esta UC é o culminar de um caminho iniciado em Fundamentos de Programação e aprofundado em Algoritmia e Estruturas de Dados, solidificando os conhecimentos de programação. Com um foco no desenvolvimento e manutenção de programas de elevada complexidade, o paradigma imperativo deixa de ser suficiente e são abordados os paradigmas orientado a objectos e funcional. São igualmente abordados conceitos adjacentes à fase de implementação, como o controlo de versões, os testes unitários e funcionais, a cobertura de código e outras métricas de qualidade. Esta é uma UC fundamental na formação de qualquer profissional da área de Informática, pois fornece um conjunto de conhecimentos e ferramentas que serão essenciais nos projectos empresariais em que estes alunos virão a estar inseridos.

      DocentesPedro AlvesBruno CiprianoDuarte Neves

      Projetos

      • DEISI Chess

        Descrição
        • Criação um jogo de Xadrez!
        • Na primeira parte deste projeto os alunos são desafiados a criar a lógica por trás deste jogo, sendo que vão começar apenas a jogar com Reis.
        • Na segunda parte vão ser incorporadas as outras peças de maneira a completar este jogo.

        Conceitos aplicados da Unidade Curricular
        • diagramas UML
        • programação orientada a objetos de acordo com o teorema do encapsulamento
        Tecnologias usadas
        • linguagens de programação Java e de Kotlin
        • testes em JUnit 5
        • criação de um repositório Git no GitHub
      • DEISI Jungle

        Descrição
        • 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)
        • IntelliJ
        • Git/GitHub
        • JUnit

      Programa

      • Paradigmas de programação
        • Imperativo, funcional, orientado a objetos
      • Conceitos de programação por objectos
        • Entidades, Atributos, Acções
        • Classe vs Objecto, Principio do encapsulamento
        • Herança, polimorfismo, parametrização por herança, composição
        • UML
          • Diagramas de classes
      • Java orientado a objectos
        • Classes, objectos, variáveis
        • Construtores, métodos
        • Visibilidade, Exceptions
        • Estruturas de dados: Arrays, Lists, Maps
        • Herança, classes abstractas
        • Input/Output
      • Testes unitários
        • JUnit
      • Controlo de versões
        • Git, Github
      • Padrões de desenho
        • Factory, Singleton, Observer/Observable, Composite
      • Conceitos de programação funcional em Kotlin
        • Funções puras, lambdas, funções de primeira ordem, iteração interna, operações com listas
      • Boas práticas de programação multi-paradigma
    • Sistemas Operativos

      Apresentação

      O objectivo desta UC é o de apresentar os princípios fundamentais dos Sistemas Operativos, de forma a permitir uma compreensão detalhada da sua arquitectura e funcionamento, dando aos alunos os conhecimentos e capacidades para utilizar, configurar e optimizar este componente fundamental dos sistemas informáticos.

      DocentesJoão CraveiroDaniel M. SilveiraJoão Madeira

      Programa

      • Introdução a Sistemas Operativos
      • Processos
      • Threads e concorrência
      • Escalonamento do CPU
      • Sincronização de processos
      • Deadlocks
      • Gestão de Memória
      • Gestão de armazenamento em massa
      • Sistema de ficheiros
      • Virtualizacao
    2.º Semestre
    • Engenharia de Requisitos e Testes

      Apresentação

      A UC de Análise e Conceção de Sistemas tem por objetivo garantir um enquadramento de gestão de Sistemas de Informação e o seu impacto na componente aplicacional, onde a componente de metodologia e engenharia de requisitos, tal como a metodologia e estruturação de testes de software, sejam unitários ou agregados, são essenciais para o sucesso de negócio das empresas.

      DocentesRui RibeiroJosé Cascais BrásLuis A. Gomes

      Programa

      Estrutura de Capítulos principais de conteúdos

      1. Visão de Gerenciamento de Sistemas de Informação

      2. Engenharia de Requisitos (Gestão de backlog, BPMN e UML – Modelação)

      3. Testes de software

      4. Gestão de Projetos

    • Gestão Financeira

      Apresentação

      O principal objectivo desta unidade curricular consiste em introduzir aos alunos os conceitos fundamentais relacionados com a gestão financeira das organizações.

      DocentesCarlos Capelo

      Programa

      P1 – Introdução à gestão financeira

      P2 – Avaliação de ativos financeiros

      P3 – A decisão de investimento

      P4 – Análise de risco

      P5 – Estrutura de capital e o financiamento da empresa

      P6 – Financiamento e avaliação de projetos, negócios e empresas

    • Programação Web

      Apresentação

      Esta Unidade Curricular pretende dar formação na área da programação Web em geral, e em particular no desenvolvimento de aplicações Web back-end e front-end, providenciando uma visão global do desenvolvimento moderno para a Web. No front-end, são introduzidos conceitos de estruturação, estilização e interação de conteúdos através das linguagens HTML, CSS e JavaScript, in. No back-end, é ensinado o desenvolvimento de aplicações empresariais seguindo o padrão de desenho model-view-control, recorrendo à linguagem Python e a Web framework django. Pretende-se estimular a criatividade e imaginação no desenvolvimento de aplicações inovadoras que sejam eficientes, escaláveis e fáceis de modificar por um lado, e que ofereçam uma boa experiência para o utilizador. Esta é uma UC fundamental para qualquer profissional da área da informática, pois fornece um conjunto de conhecimentos e ferramentas que serão essenciais em projetos empresariais em que virão a estar inseridos.

      DocentesLucio StuderPedro PerdigãoRui Santos

      Programa

      A Web e seus paradigmas
      – Funcionamento da Internet e da Web: arquitetura e protocolos IP e HTTP
      – Tecnologias, paradigmas e padrões de desenho da Web

      Python para desenvolvimento Web
      – Sintaxe, operadores, controlo de fluxos e tipos de dados
      – Funções e módulos 
      – Gestão de ficheiros e pastas   
      – Classes 

      Django web framework para Back-end
      – Web frameworks
      – Arquitetura MVT 
      – Urls, views e templates
      – Linguagem template
      – Modelação de base de dados, ORM
      – Formulários
      – Autenticação
      – Implantação na cloud 

      HTML e CSS para desenho de páginas Web
      – HTML e seus elementos 
      – Formulários para envio de dados
      – HTML5 e elementos semânticos
      – CSS e seus seletores, para estilização de conteúdos
      – Propriedades CSS
      – Design responsivo e layouts dinâmicos
      – Efeitos e animações CSS
      – Bootstrap

      JavaScript para programação Front-end
      – Programação Orientada a Eventos 
      – Manipulação do DOM 
      – JSON e APIs
      – Single Page Applications

    • Redes de Computadores

      Apresentação

      Conhecer corretamente os conceitos e principais modelos associados a redes de computadores, bem como, efetuar a análise de um problema e a sua respetiva implementação. 

      DocentesJoão CraveiroBrena LimaHouda Harkat

      Programa

      1. Introdução às Redes de Computadores e Internet

      • Visão geral da Internet
      • O que é um protocolo?
      • Estrutura da internet
        • periferia vs infraestrutura, redes de acesso
        • Packet-switching
      • Desempenho: perda, atraso, débito
      • Camadas, modelos de serviço

      2. A Arquitetura Protocolar TCP/IP

      • A Camada Aplicacional
      • A Camada de Transporte
      • A Camada de Rede/Internet
      • A Camada de Ligação de Dados

      3. Introdução a tópicos avançados

      • Redes sem fios / móveis
      • Fundamentos de segurança

      4. Desenho de uma Rede Estruturada de Dados

      • Planear, avaliar e desenhar uma rede estruturada de dados através de simulador e/ou Equipamentos de rede.

       

    • Sistemas de Suporte à Decisão

      Apresentação

      A UC de Sistemas de Suporte à Decisão / Business Intelligence tem por objetivo garantir que há a introdução à temática de processos de análise de dados para apoio às áreas de gestão das empresas. Neste sentido, a UC tem um papel fundamental no ciclo de estudo na compreensão dos processos de gestão e decisão de organizações, para além de como colocar infraestruturas de dados ao serviço do negócio empresarial.

      DocentesRui RibeiroJoão CaldeiraJoão Licínio

      Projetos

      • Modelação, ETL e Reporting

        Descrição
        • 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
        • Análise de dados – Ferramentas de Reporting
        Tecnologias usadas
        • Oracle Data Modeler
        • Pentaho Data Integration
        • Power BI Desktop

      Programa

      • Desafios de Negócio de DW
      • Arquitecturas DW
      • Melhores Práticas de Modelação de DW
      • Implementação de ETL
      • Bases de Dados específicas para BI
      • Ferramentas de Relatórios
  • 3.º Ano

    1.º Semestre
    • Data Mining

      Apresentação

      A disciplina de Data Mining tem como objectivo dar ao estudante competências essenciais na análise de dados, de forma a encontrar padrões e insights relevantes que conduzem os processos de apoio à decisão de uma empresa.

      Numa perspetiva multidisciplinar, como se trata a área do Data Mining, serão apresentadas metodologias e técnicas fundamentais para tratar, transformar, construir e analisar os dados. É objectivo desta disciplina dar ao estudante capacidade para traduzir essa análise em conhecimento e valor, de modo sustentado para a tomada de decisão.

      A componente prática é um dos aspetos fundamentais da disciplina, pelo que a capacidade de traduzir conhecimento em ações práticas e decisões de análise é particularmente valorizada.

      A ligação estreita ao mundo empresarial para resposta a perguntas de negócios será retratada nesta disciplina.

      Docentes: docente da SAS. 

      Programa

      1. Introdução ao Data Mining e sua importância na Ciência de Dados

      2. Diferentes tipos de dados

      3. Estatística Descritiva

      4. Python para Ciência de Dados (NumPy e Pandas)

      5. Preparação e exploração de dados

      6. Introdução à aprendizagem automática de uma máquina, modelos superviosionados e não superviosionados e conceitos base

      7. Regressão Linear

      8. Regressâo Logística

      9. Métricas de avaliação de desempenho de modelos

      10. Algorítmo KNN

      11. Árvores de decisão

      12. Clustering (K-Means)

       

       

    • Engenharia de Software

      Apresentação

      A Engenharia de Software ensina o desenho, escrita de código e testes, e manutenção de programas que têm um propósito de resolver problemas complexos com soluções eficientes e seguras. Todas as unidades curriculares anteriores tem um maior foco na sintaxe e técnicas de programação enquanto nesta unidade curricular os alunos aprendem as técnicas de de desenhar e desenvolver software de uma forma eficiente, legível, modular e escalável.

      Esta unidade curricular é essencial para desenvolver as capacidades de desenho e programação que os alunos vão enfrentar no mercado de trabalho.

      DocentesJosé Cascais BrásPedro PerdigãoRui Santos

      Programa

      • CP1. Introdução à Engenharia de Software;
      • CP2. Modelos e processos desenvolvimento de software;
        • Modelos Clássicos: Cascata (contexto histórico)
        • Modelos Ágeis: Agile (framework de Scrum)
      • CP3. Modelação de sistemas;
        • Análise de requisitos
        • Diagrama de domínio
        • Diagrama de conceitos
        • Casos de uso
      • CP4. Desenho da arquitectura;
        • Análise
        • Desenho
        • Avaliação
        • Evolução
      • CP5. Desenho e implementação;
        • Padrões UML
        • Princípios de desenvolvimento orientado a objectos: S.O.L.I.D, KISS, entre outros.
      • CP6. Verificação e validação;
        • Conhecer os diferentes tipos de testes
        • Aplicação de testes unitários
      • CP7. Segurança e Confiabilidade
      • CP8. Integração Contínua
        • Vantagens
        • Ferramentas e tecnologias
    • Interação Humano-Máquina

      Apresentação

       

       

       A disciplina Interação Humano-Máquina tem por principal objetivo dotar os estudantes de competências metodológicas, de design, de comunicação e de fatores humanos, que lhes permitam desenhar produtos e serviços com as pessoas e para as pessoas. Num mundo cada vez mais digital, a inclusão de todas as pessoas/cidadãos é cada vez mais necessária. A Humanização da Tecnologia é mais do que uma boa experiência do Utilizador. Na prática e, aplicando os conhecimentos teóricos a projetos, os estudantes deverão ser capazes de criar artefactos (em tecnologias de informação) que melhorem a forma como as pessoas trabalham, comunicam e interagem numa sociedade inclusiva.

      DocentesConceição CostaMiguel Tavares

      Programa

      O que é o Desenho de Interação? Compreender e conceptualizar a interação. O impacto da Teoria da Actividade. Desenhar com a acessibilidade em mente. Princípios para  inclusão. Os contributos da psicologia cognitiva no estudo da interação humano-máquina. Perceção humana e funções cognitivas que influenciam o desempenho do utilizador e a satisfação. Desenvolvimento e Avaliação de Protótipos iniciais. Tipos de estudos em user experience, ao longo do ciclo de vida do projeto. Análise crítica aos resultados do estudo para melhorias no protótipo.

    • Sistemas Móveis Empresariais

      Apresentação

      Esta unidade curricular enquadra o impacto de negócio da mobilidade empresarial, bem como garantir os fundamentos de conhecimento de desenvolvimento de aplicações móveis.

      Esta UC tem assim uma importância extrema para o ciclo de estudos, tendo em conta que alia o papel técnico, com o de gestão tecnológica, perfeitamente enquadrado nos objetivos do ciclo de estudos.

      DocentesRui RibeiroRui Santos

      Programa

      Esta unidade curricular pretende capacitar os alunos para alcançar know-how e competências de:
      ¿ Compreender por que as empresas precisam de um ambiente móvel
      ¿ Componentes de arquitetura existem para computação móvel
      ¿ Noções básicas sobre negócios móveis
      ¿ Conhecimento das várias áreas móveis: de aplicativos para redes
      ¿ O que um usuário pode obter em um aplicativo para dispositivos móveis?
      As classes de laboratório têm a seguinte estrutura:

      A) Aplicativos móveis híbridos na Web
      ¿ Conceitos e Ambiente de Desenvolvimento
      ¿ conclusão do código do projeto
      ¿ Novo desenvolvimento de aplicativos
      B) Aplicativos móveis nativos
      ¿ Conceitos e Ambiente de Desenvolvimento
      ¿ conclusão do código do projeto
      ¿ Novo desenvolvimento de aplicativos

    2.º Semestre
    • Auditoria de Sistemas de Informação

      Apresentação

      Aprendizagem dos conceitos teóricos e práticos fundamentais na auditoria de sistemas de informação.

      DocentesPaulo Guedes

      Programa

      1. O que é a auditoria de sistemas de informação
      2. Processos e metodologias de auditoria
      3. Modelos de avaliação do risco
      4. Sistema de controlo interno
      5. Cobit

    • Inteligência Artificial

      Apresentação

      Esta cadeira é uma introdução aos conceitos e técnicas básicas da Inteligência Artificial, com três áreas principais de atuação. Primeiro, a formalização do que é uma máquina, tanto na óptica de manipulação de símbolos da máquina de Turing, como nas máquinas de McCulloch and Pitts que funcionam com padrões de interligação entre nós em redes de neurónios. Segundo, o conceito de agente racional em IA, que emerge da interseção com as ciências cognitivas, e as diversas implementações de algoritmos de busca exaustiva estruturada (informados e não informados). Ainda dentro desta área de foco são ainda introduzidos os conceito de busca estocástica e algoritmos para satisfação de restrições (CSPs). Finalmente, na terceira área de foco, os estudantes aprendem noções e usos de alguns dos algoritmos de inteligência artificial avançados que são utilizados hoje em dia.

      DocentesManuel M. PitaZuil Pirola

      Programa

      1. Conceitos Básicos
        1. Definições de IA
        2. Máquina de Turing
        3. Redes neuronais de McCulloch e Pitts
        4. Cómo analisar máquinas? diagramas de transição de estados
      2. Busca
        1. O conceito de agente de busca em IA
        2. Espaços e Grafos de busca
        3. Busca não informada: British Museum, DFS, BFS
        4. Busca Informada: Dijkstra e A*
        5. Busca adversária
      3. Problemas de satisfação de restrições
      4. Nocões básicas de processamento de linguagem natural e sistemas de recomendação
      5. O futuro de IA
        1. Analise critica de artigos recentes em IA
    • Motivação e Liderança

      Apresentação

      Na unidade curricular Motivação e Liderança os alunos tomam conhecimento da importância dos processos de Liderança e Motivação nas Organizações. E como se devem criar condições para motivar pessoas e liderar grupos e pessoas nas organizações

      DocentesRosário Cramez

      Programa

      A importância da Motivação individual e grupal; Organizações, indivíduos e grupos. Motivação e comportamento motivado; Teorias de Motivação; Motivação e Produtividade; A essência da Liderança; O processo de Liderança; A evolução das teorias de Liderança; Liderança de equipas e de projectos; A emergência de novos conceitos de Liderança

    • Sistemas de Informação na Nuvem

      Apresentação

      Esta Unidade Curricular tem como objetivo uma introdução à computação em nuvem, numa perspectiva de um iniciante que não possui nenhuma experiência anterior com o tópico.

      A ideia é ajudar a criar Junior Cloud Architects, o que significa crias as competências para implementar ou adotar a tecnologia Cloud, entender o que é exatamente e quais opções existem quando se pensa em implantações em nuvem.

      Esta UC abrange uma ampla variedade de áreas de tópicos de computação em nuvem, fornecendo uma base sólida de entendimento. Esta unidade curricular cria também um ambiente de entendimento da teoria e das formas práticas dos diferentes modelos de serviços de Cloud Computing: Infraestrutura como Serviço (IaaS), Plataforma como Serviço (PaaS) e Software como Serviço (SaaS), fornecendo exemplos e diferenças entre cada .

      DocentesRui RibeiroLuis A. GomesRui Santos

      Programa

      Aulas teóricas:

      • Visão geral: história, mercado, tendências
      • Revisão de arquiteturas distribuídas: SOA, orientado a eventos Componentes e Serviços
      • O que é uma nuvem? Privado, público, híbrido
      • Tecnologias, modelos de negócios, principais fornecedores de serviços nacionais e internacionais
        • IaaS
        • BaaS
        • PaaS
        • SaaS
        • outras

      Agenda Prática:

      • 1º Trabalho – IaaS e PaaS
        • AWS EC2 – Implante e execute o servidor ubuntu
        • Docker PaaS – AWS Beanstalk
        • Heroku – implantação de 2 aplicativos, cada um por serviço
      • 2º Trabalho – SaaS e BaaS
        • Trello Board
        • AWS BaaS
        • Firebase (armazenar dados e média)

      Cada trabalho tem um planeamento prático de 6 aulas

Áreas Científicas

  • Outra forma de olhar para o curso e suas disciplinas

    • Matemática e Física

      • Investigação Operacional

        Apresentação

        É fundamental compreender as ferramentas disponíveis no âmbito da Investigação Operacional e a sua importância na tomada de decisão da gestão. Para isso é indispensável saber formular o problema, saber modelizá-lo, escolher e aplicar o algoritmo e interpretar os resultados.
        A definição teórica e matemática dos diferentes tópicos abordados é acompanhada da aplicação de ferramentas informáticas disponíveis.

        DocentesLuis Mata

        Programa

        1. Visão Geral da Abordagem Investigação Operacional

        • Origem da Investigação Operacional
        • Natureza da Investigação Operacional
        • Impacto da Investigação Operacional
        • Definição do Problema e recolha de dados
        • Formalização do Problema de Investigação Operacional
        • Teste, aplicação e avaliação do modelo

        2. Programação Linear

        • Modelo de Programação Linear
        • Hipóteses do Modelo
        • Resolução Gráfica
        • Método Simplex
        • Interpretação económica da solução
        • Pós-otimização

        3. Teoria da Dualidade e Análise de sensibilidade

        • Teoria da Dualidade
        • Relação Primal ¿ Dual
        • Análise de sensibilidade

        4. Problema de Transportes e Afetação

        • Formalização do Problema de Transportes
        • Resolução do Problema de Transportes
        • Formalização do Problema de Afetação
        • Resolução do Problema de Afetação

        5. Otimização de Redes

        • Terminologia de Redes
        • O Problema do caminho mais curto
        • O Problema da árvore de expansão mínima
        • O Problema de fluxo máximo
        • O Problema de Planeamento de Projetos.

        Objetivos

        Partindo da realidade, conseguir formalizar matematicamente um problema de otimização destinado à gestão, identificando claramente o tipo de problema.
        Utilizando o software apropriado, apresentar a solução ótima e todas as alternativas existentes.
        Analisar e discutir os resultados, apresentando relatórios de gestão

      • Matemática I

        Apresentação

        Esta disciplina abrange os métodos fundamentais de Cálculo associados a funções reais de variável real. É uma área transversal a todas as engenharias e demais cursos de cariz científico. Abrange os métodos clássicos de cálculo diferencial e Integral a uma dimensão.

        DocentesAndré FonsecaSofia FernandesSofia Naique

        Programa

        1. Lógica Matemática

        • Designação e proposição. Valor lógico de uma proposição. Conjunção e disjunção de proposições. Conjunto, interseção e união de conjuntos.

        2. Os números reais

        • Números racionais e irracionais. Ordem e valor absoluto.

        3. Funções reais de variável real:

        • Generalidades sobre funções. Funções polinomiais e racionais. Funções trigonométricas. Função exponencial e logarítmica.

        3. Limite:

        • Definição e propriedades de limites de uma função. Continuidade de funções.

        4. Derivada:

        • Interpretação geométrica. Regras de derivação. Derivadas de ordem superior.

        5. Estudo global de uma função:

        • Monotonia e extremos relativos. Concavidade e pontos de inflexão. Assíntotas. Gráficos.

        6. Integração:

        • Primitiva imediata. Primitivação por substituição e por partes. Integral definido, teorema fundamental do cálculo. Aplicações da integração (áreas de figuras planas).

        Objetivos

        Esta disciplina confere a(o) aluna(o) conhecimentos que lhe permitam utilizar, de forma criativa, autónoma, e em contextos diversificados:

        OA1: a linguagem simbólica matemática e o raciocínio matemático;

        OA2: os conceitos e resultados fundamentais do cálculo diferencial, de modo a que possa proceder ao estudo de uma função real de variável real; OA3: os métodos de primitivação:

        OA4: as noções fundamentais do cálculo integral, de modo a que possa calcular integrais simples e determinar áreas de domínios planos.

      • Matemática II

        Apresentação

        Geométria analítica e calculo diferencial e integral para funções reais de várias variáveis reais.

        DocentesAndré FonsecaGuilherme AntunesSofia Naique

        Programa

        1. Vectores e geometria do espaço

        1.1 Coordenadas cartesianas tridimensionais.

        1.2 Vectores, produto escalar.

        1.3 Rectas e planos.

        1.4 Superfícies cilíndricas e quádricas.

        1.5 Noções topologicas

        2. Funções vectoriais de variável real

        2.1 Funções vectoriais e curvas no espaço.

        2.2 Limites e continuidade. Diferenciabilidade, vector tangente a uma curva.

        2.3 Integração, comprimento de uma curva.

        3. Funções de várias variáveis

        3.1 Dominios e  curvas de nível.

        3.2 Limites e continuidade.

        3.3 Derivadas parciais, derivadas de ordem superior.

        3.4 Diferenciabilidade, planos tangentes e aproximações polinómiais.

        3.5 Derivada direccional, vector gradiente e sua interpretação geométrica.

        3.6 Matriz Hessiana, extremos locais e pontos de sela.

        4. Integrais múltiplos

        4.1 Integrais duplos.

        4.2 Coordenadas polares e mudança de variáveis em integrais duplos.

        4.3 Integrais triplos.

        4.4 Coordenadas cilíndricas e esféricas. Mudança de variáveis em integrais triplos.

        Objetivos

        Conferir competências nas técnicas e aplicações do cálculo diferencial e integral com funções de várias variáveis. Dominar os conceitos de limite, continuidade e diferenciabilidade de funções. Dominar o cálculo de integrais múltiplos.

        Ter capacidade de resolver problemas em contextos diversificados usando os métodos do cálculo diferencial e integral. Conhecer as aplicações a problemas de otimização, de caracterização geométrica de curvas e superfícies e de cálculo de volumes e áreas.

      • Métricas Empresariais

        Apresentação

        Esta unidade curricular dedica-se aos conceitos fundamentais da teoria da probabilidade, estatística e métricas empresariais

        DocentesSofia Naique

        Programa

        1. Estatística Descritiva

        Tipos de dados. Tabelas de frequências

        Medidas de centralidade e de variabilidade

        Visualização 

        2. Regressão Linear

        Variável independente vs. dependente. Gráficos de dispersão

        Covariância e coeficiente de Pearson

        Resíduo. Reta de regressão, Cálculo da estimativa para a resposta, dado certo valor para a variável independente

        3. Probabilidade

        Experiência aleatória. Espaço de resultados. Operações entre eventos.

        Propriedades da função probabilidade. Probabilidade da união de eventos Lei da probabilidade total Teorema de Bayes Probabilidade condicionada. Eventos independentes

        4. Indicadores Empresariais

        • Conceito de Avaliações de Desempenho Empresariais: equipas executivas, de departamentos e individuais
        • Estrutura de KPI: operacionais e estratégicos,
          • métricas financeiras
          • customer experience
          • processos
          • marketing
          • IT
          • Vendas
          • recursos humanos
          • entre outros
        • Metodologia OKR e Balanced Scorecard
        • Construção de dashboard em PowerBI

        Objetivos

        Esta disciplina permite que o(a) aluno(a)

        OA1: seja exposto à probabilidade como uma função de medida essencial à ciência.

        OA2: entenda a estatística como uma área da ciência que permite à engenharia recolher dados, analisar dados, formular hipóteses relativas a esses dados e testar essas hipóteses. Nessa medida, a estatística e a probabilidade são essenciais ao conhecimento e à engenharia

        OA3: seja exposto a diferentes métricas empresariais

    • Arquiteturas e Sistemas Operativos

      • Sistemas Operativos

        Apresentação

        O objectivo desta UC é o de apresentar os princípios fundamentais dos Sistemas Operativos, de forma a permitir uma compreensão detalhada da sua arquitectura e funcionamento, dando aos alunos os conhecimentos e capacidades para utilizar, configurar e optimizar este componente fundamental dos sistemas informáticos.

        DocentesJoão CraveiroDaniel M. SilveiraJoão Madeira

        Programa

        • Introdução a Sistemas Operativos
        • Processos
        • Threads e concorrência
        • Escalonamento do CPU
        • Sincronização de processos
        • Deadlocks
        • Gestão de Memória
        • Gestão de armazenamento em massa
        • Sistema de ficheiros
        • Virtualizacao

        Objetivos

        No final da cadeira, os alunos deverão:

        • Conhecer os princípios dos Sistemas Operativos actuais e identificar os vários componentes que o constituem.
        • Conhecer os algoritmos fundamentais em que assentam os principais componentes de um Sistema Operativo assim como as suas optimizações mais atuais.
        • Programar exemplos ilustrativos de alguns algoritmos mais representativos (escalonador, sistema de ficheiros, etc..)
        • Tirar partido da utilização directa das interfaces sistema para o desenvolvimento e optimização de aplicações complexas.
    • Redes e Telecomunicações

      • Redes de Computadores

        Apresentação

        Conhecer corretamente os conceitos e principais modelos associados a redes de computadores, bem como, efetuar a análise de um problema e a sua respetiva implementação. 

        DocentesJoão CraveiroBrena LimaHouda Harkat

        Programa

        1. Introdução às Redes de Computadores e Internet

        • Visão geral da Internet
        • O que é um protocolo?
        • Estrutura da internet
          • periferia vs infraestrutura, redes de acesso
          • Packet-switching
        • Desempenho: perda, atraso, débito
        • Camadas, modelos de serviço

        2. A Arquitetura Protocolar TCP/IP

        • A Camada Aplicacional
        • A Camada de Transporte
        • A Camada de Rede/Internet
        • A Camada de Ligação de Dados

        3. Introdução a tópicos avançados

        • Redes sem fios / móveis
        • Fundamentos de segurança

        4. Desenho de uma Rede Estruturada de Dados

        • Planear, avaliar e desenhar uma rede estruturada de dados através de simulador e/ou Equipamentos de rede.

         

        Objetivos

        Entender os princípios básicos das Redes de Computadores, desde a camada aplicacional à camada física, permitindo a compreensão efetiva do funcionamento das aplicações da Internet e dos protocolos que utilizam.

        Apreender o funcionamento da camada protocolar TCP/IP e seus protocolos.

        Compreender, avaliar e desenhar uma rede informática através de simuladores de redes.

         

    • Programação e Engenharia de SW

      • Algoritmia e Estruturas de Dados

        Apresentação

        Esta UC surge no 2º semestre do 1º ano, na continuação do trabalho iniciado em Fundamentos de Programação (FP). Em FP, os alunos deram os primeiros passos na programação e preocuparam-se principalmente em produzir programas correctos. Agora, em Algoritmia e Estruturas de Dados, irão continuar a produzir programas correctos mas com preocupações de desempenho, a nível de tempo de execução e consumo de memória.

        Esta é uma UC fundamental no currículo de um Engenheiro Informático, que na sua vida profissional encontrará inúmeras situações em que terá que resolver problemas causados por fraco desempenho das aplicações e que exigem um conhecimento sólido dos princípios subjacentes aos principais algoritmos e estruturas de dados.

        Não obstante a aprendizagem de conceitos e técnicas de algoritmia e estruturas de dados, os alunos trabalham outras competências fundamentais. Nomeadamente, o espírito crítico e a capacidade de avaliar várias alternativas para resolver os problemas.  

        DocentesPedro AlvesBruno CiprianoDuarte NevesRodrigo CorreiaWellington Oliveira

        Projetos

        • Rock in DEISI

          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.

        Programa

        • funções recursivas, algoritmos recursivos
        • tipos de dados complexos
        • eficiência e optimização (algorítmica e não-algorítmica)
        • complexidade de algoritmos
        • algoritmos de pesquisa
        • algoritmos de ordenação – bubble sort, selection sort, merge sort, quick sort
        • tipos de dados abstractos – pilhas e filas
        • listas ligadas
        • árvores binárias, árvores ordenadas, árvores AVL
        • hashtables

        Objetivos

        O objectivo desta unidade curricular é introduzir os conceitos fundamentais de algoritmos e das estruturas de dados básicas, numa perspetiva de resolver problemas complexos de uma forma eficiente. O aluno deverá ser capaz de analisar e avaliar a eficiência de um algoritmo sem necessidade de o implementar ou testar. Deverá ser igualmente capaz de aplicar a estrutura de dados mais eficaz e eficiente para resolver um determinado problema.

        Concretamente, o aluno deverá conseguir criar programas em Java cuja eficiência seja um critério significativo de sucesso (ex: pesquisa, ordenação).

      • Engenharia de Software

        Apresentação

        A Engenharia de Software ensina o desenho, escrita de código e testes, e manutenção de programas que têm um propósito de resolver problemas complexos com soluções eficientes e seguras. Todas as unidades curriculares anteriores tem um maior foco na sintaxe e técnicas de programação enquanto nesta unidade curricular os alunos aprendem as técnicas de de desenhar e desenvolver software de uma forma eficiente, legível, modular e escalável.

        Esta unidade curricular é essencial para desenvolver as capacidades de desenho e programação que os alunos vão enfrentar no mercado de trabalho.

        DocentesJosé Cascais BrásPedro PerdigãoRui Santos

        Programa

        • CP1. Introdução à Engenharia de Software;
        • CP2. Modelos e processos desenvolvimento de software;
          • Modelos Clássicos: Cascata (contexto histórico)
          • Modelos Ágeis: Agile (framework de Scrum)
        • CP3. Modelação de sistemas;
          • Análise de requisitos
          • Diagrama de domínio
          • Diagrama de conceitos
          • Casos de uso
        • CP4. Desenho da arquitectura;
          • Análise
          • Desenho
          • Avaliação
          • Evolução
        • CP5. Desenho e implementação;
          • Padrões UML
          • Princípios de desenvolvimento orientado a objectos: S.O.L.I.D, KISS, entre outros.
        • CP6. Verificação e validação;
          • Conhecer os diferentes tipos de testes
          • Aplicação de testes unitários
        • CP7. Segurança e Confiabilidade
        • CP8. Integração Contínua
          • Vantagens
          • Ferramentas e tecnologias

        Objetivos

        OA1. Compreender os métodos, técnicas e ferramentas para o completo desenvolvimento de um sistema de software, desde a sua conceção até à sua entrega e manutenção.

        OA2. Saber planear, gerir, avaliar e garantir a qualidade do desenvolvimento de projetos de software utilizando os princípios da Engenharia de Software.

      • Fundamentos de Programação

        Apresentação

        Esta é uma disciplina fundamental na formação de qualquer profissional da área de Informática pois introduz os conceitos básicos da programação, sobre os quais assentarão muitas disciplinas subsequentes como Linguagens de Programação I e II, Algoritmia e Estruturas de Dados, Programação Web, Computação Móvel, etc. Mais do que aprender uma linguagem de programação, o aluno aprende a pensar como um programador, analisando problemas e desenhando algoritmos que os resolvam recorrendo a fluxogramas e a programas escritos em Kotlin, uma linguagem promissora que combina as melhores características das linguagens modernas mais populares (Java, Python, etc.)

        Dado ser o primeiro contacto de muitos alunos com o tópico da Programação, reveste-se de uma importância especial na aquisição de conhecimentos primordiais mas também na sua motivação. Mais do que aprender a programar, os alunos aprendem a gostar de programar.

        DocentesPedro AlvesBrena LimaBruno SaraivaLucio StuderRodrigo CorreiaWellington Oliveira

        Projetos

        • Jogo das Tendas

          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.

        • Batalha Naval

          Desenvolver uma grelha 2D que simule a arena do jogo, com navios e marcadores de jogadas anteriores.
          Criar uma interface de linha de comando para a interação do jogador com o jogo.

        Programa

        • Introdução à programação
        • Algoritmos, fluxogramas, pseudo-código
        • Sintaxe e semântica das linguagens
        • Elementos da sintaxe, estrutura de um programa
        • Declarações e atribuições
        • Tipos primitivos
        • Expressões aritméticas, expressões lógicas
        • Entradas e saídas de dados
        • Selecção
        • Repetição
        • Funções
        • Arrays uni-dimensionais e bi-dimensionais
        • Tratamento de erros
        • Leitura e escrita de ficheiros
        • Boas práticas de programação imperativa

        Objetivos

        O objectivo desta unidade curricular é fornecer aos futuros profissionais na área da informática as bases para que possam iniciar (de um modo disciplinado) a actividade de programação.
        O aluno começa por desenvolver a capacidade de raciocínio algorítmico recorrendo a fluxogramas.
        O aluno deverá ser capaz de traduzir esses fluxogramas numa linguagem de programação imperativa. Concretamente, o aluno deverá conhecer a sintaxe básica de Kotlin que lhe permitam criar programas simples de linha de comando.
        Finalmente, o aluno deve conseguir analisar e avaliar programas feitos por outras pessoas (colegas, professores, etc.).

      • Linguagens de Programação I

        Apresentação

        DocentesPedro AlvesBruno CiprianoDuarte Neves

        Projetos

        • DEISI Chess

          Criação um jogo de Xadrez!
          Na primeira parte deste projeto os alunos são desafiados a criar a lógica por trás deste jogo, sendo que vão começar apenas a jogar com Reis.
          Na segunda parte vão ser incorporadas as outras peças de maneira a completar este jogo.

        • DEISI Jungle

          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.

        Programa

        Objetivos

      • Linguagens de Programação II

        Apresentação

        Esta UC é o culminar de um caminho iniciado em Fundamentos de Programação e aprofundado em Algoritmia e Estruturas de Dados, solidificando os conhecimentos de programação. Com um foco no desenvolvimento e manutenção de programas de elevada complexidade, o paradigma imperativo deixa de ser suficiente e são abordados os paradigmas orientado a objectos e funcional. São igualmente abordados conceitos adjacentes à fase de implementação, como o controlo de versões, os testes unitários e funcionais, a cobertura de código e outras métricas de qualidade. Esta é uma UC fundamental na formação de qualquer profissional da área de Informática, pois fornece um conjunto de conhecimentos e ferramentas que serão essenciais nos projectos empresariais em que estes alunos virão a estar inseridos.

        DocentesPedro AlvesBruno CiprianoDuarte Neves

        Projetos

        • DEISI Chess

          Criação um jogo de Xadrez!
          Na primeira parte deste projeto os alunos são desafiados a criar a lógica por trás deste jogo, sendo que vão começar apenas a jogar com Reis.
          Na segunda parte vão ser incorporadas as outras peças de maneira a completar este jogo.

        • DEISI Jungle

          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.

        Programa

        • Paradigmas de programação
          • Imperativo, funcional, orientado a objetos
        • Conceitos de programação por objectos
          • Entidades, Atributos, Acções
          • Classe vs Objecto, Principio do encapsulamento
          • Herança, polimorfismo, parametrização por herança, composição
          • UML
            • Diagramas de classes
        • Java orientado a objectos
          • Classes, objectos, variáveis
          • Construtores, métodos
          • Visibilidade, Exceptions
          • Estruturas de dados: Arrays, Lists, Maps
          • Herança, classes abstractas
          • Input/Output
        • Testes unitários
          • JUnit
        • Controlo de versões
          • Git, Github
        • Padrões de desenho
          • Factory, Singleton, Observer/Observable, Composite
        • Conceitos de programação funcional em Kotlin
          • Funções puras, lambdas, funções de primeira ordem, iteração interna, operações com listas
        • Boas práticas de programação multi-paradigma

        Objetivos

        Esta UC tem como objetivo apresentar uma visão multi-paradigma da programação. São analisados e comparados os 3 paradigmas mais populares: imperativo, orientado a objectos e funcional. Os alunos revêm conceitos da programação imperativa e adquirem conceitos fundamentais da programação orientada a objetos (herança, encapsulamento, polimorfismo, etc.) e da programação funcional (lambdas, funções de 1a ordem, etc.) de forma a que consigam aplicá-los em projetos de desenvolvimento de software complexo usando linguagens de programação modernas multi-paradigma (Java, C#, Python, Kotlin, JavaScript).
        Ao longo do semestre, os alunos são consciencializados para a necessidade de redução de custos de manutenção através de melhorias na qualidade do software produzido e aplicação de boas práticas tirando partido das vantagens específicas de cada paradigma. São igualmente expostos a ferramentas essenciais no desenvolvimento moderno de software, como controlo de versões e testes unitários.

        Todos estes conceitos são aplicados num projeto de elevada complexidade, multi-paradigma e multi-linguagem que atinge em média as 2500 LOC. O projeto tem que ser desenvolvido em Git e ter uma cobertura elevada de testes unitários. Mais do que as capacidades técnicas, os alunos trabalham a gestão de tempo, o rigor e a resiliência, a capacidade analítica e espírito crítico, a criatividade e o trabalho em equipa.

      • Programação Web

        Apresentação

        Esta Unidade Curricular pretende dar formação na área da programação Web em geral, e em particular no desenvolvimento de aplicações Web back-end e front-end, providenciando uma visão global do desenvolvimento moderno para a Web. No front-end, são introduzidos conceitos de estruturação, estilização e interação de conteúdos através das linguagens HTML, CSS e JavaScript, in. No back-end, é ensinado o desenvolvimento de aplicações empresariais seguindo o padrão de desenho model-view-control, recorrendo à linguagem Python e a Web framework django. Pretende-se estimular a criatividade e imaginação no desenvolvimento de aplicações inovadoras que sejam eficientes, escaláveis e fáceis de modificar por um lado, e que ofereçam uma boa experiência para o utilizador. Esta é uma UC fundamental para qualquer profissional da área da informática, pois fornece um conjunto de conhecimentos e ferramentas que serão essenciais em projetos empresariais em que virão a estar inseridos.

        DocentesLucio StuderPedro PerdigãoRui Santos

        Programa

        A Web e seus paradigmas
        – Funcionamento da Internet e da Web: arquitetura e protocolos IP e HTTP
        – Tecnologias, paradigmas e padrões de desenho da Web

        Python para desenvolvimento Web
        – Sintaxe, operadores, controlo de fluxos e tipos de dados
        – Funções e módulos 
        – Gestão de ficheiros e pastas   
        – Classes 

        Django web framework para Back-end
        – Web frameworks
        – Arquitetura MVT 
        – Urls, views e templates
        – Linguagem template
        – Modelação de base de dados, ORM
        – Formulários
        – Autenticação
        – Implantação na cloud 

        HTML e CSS para desenho de páginas Web
        – HTML e seus elementos 
        – Formulários para envio de dados
        – HTML5 e elementos semânticos
        – CSS e seus seletores, para estilização de conteúdos
        – Propriedades CSS
        – Design responsivo e layouts dinâmicos
        – Efeitos e animações CSS
        – Bootstrap

        JavaScript para programação Front-end
        – Programação Orientada a Eventos 
        – Manipulação do DOM 
        – JSON e APIs
        – Single Page Applications

        Objetivos

        • Entender o funcionamento da Internet e da Web.
        • Compreender os princípios da programação Web e seus principais padrões de desenho.
        • Aplicar estes conceitos, usando várias tecnologias (HTML, CSS, JavaScript, Python and Django¿).
        • Arquitetar aplicações eficientes, de fácil manutenção, que corram na Web.
        • Avaliar as diferentes estratégias de desenho, sabendo escolher a abordagem que mais se adequa ao contexto.
        • Ser capaz de construir e implantar na cloud aplicações Web complexas e criativas, totalmente funcionais (full stack).
      • Sistemas de Informação na Nuvem

        Apresentação

        Esta Unidade Curricular tem como objetivo uma introdução à computação em nuvem, numa perspectiva de um iniciante que não possui nenhuma experiência anterior com o tópico.

        A ideia é ajudar a criar Junior Cloud Architects, o que significa crias as competências para implementar ou adotar a tecnologia Cloud, entender o que é exatamente e quais opções existem quando se pensa em implantações em nuvem.

        Esta UC abrange uma ampla variedade de áreas de tópicos de computação em nuvem, fornecendo uma base sólida de entendimento. Esta unidade curricular cria também um ambiente de entendimento da teoria e das formas práticas dos diferentes modelos de serviços de Cloud Computing: Infraestrutura como Serviço (IaaS), Plataforma como Serviço (PaaS) e Software como Serviço (SaaS), fornecendo exemplos e diferenças entre cada .

        DocentesRui RibeiroLuis A. GomesRui Santos

        Programa

        Aulas teóricas:

        • Visão geral: história, mercado, tendências
        • Revisão de arquiteturas distribuídas: SOA, orientado a eventos Componentes e Serviços
        • O que é uma nuvem? Privado, público, híbrido
        • Tecnologias, modelos de negócios, principais fornecedores de serviços nacionais e internacionais
          • IaaS
          • BaaS
          • PaaS
          • SaaS
          • outras

        Agenda Prática:

        • 1º Trabalho – IaaS e PaaS
          • AWS EC2 – Implante e execute o servidor ubuntu
          • Docker PaaS – AWS Beanstalk
          • Heroku – implantação de 2 aplicativos, cada um por serviço
        • 2º Trabalho – SaaS e BaaS
          • Trello Board
          • AWS BaaS
          • Firebase (armazenar dados e média)

        Cada trabalho tem um planeamento prático de 6 aulas

        Objetivos

        • Entenda por que as empresas estão migrando para serviços em nuvem para apoiar seus negócios
        • Quais são os modelos de negócios
        • Quais são os principais provedores de serviços
        • Principais conceitos da arquitetura em nuvem
        • Recursos práticos para criar e implantar um serviço em nuvem
      • Sistemas Móveis Empresariais

        Apresentação

        Esta unidade curricular enquadra o impacto de negócio da mobilidade empresarial, bem como garantir os fundamentos de conhecimento de desenvolvimento de aplicações móveis.

        Esta UC tem assim uma importância extrema para o ciclo de estudos, tendo em conta que alia o papel técnico, com o de gestão tecnológica, perfeitamente enquadrado nos objetivos do ciclo de estudos.

        DocentesRui RibeiroRui Santos

        Programa

        Esta unidade curricular pretende capacitar os alunos para alcançar know-how e competências de:
        ¿ Compreender por que as empresas precisam de um ambiente móvel
        ¿ Componentes de arquitetura existem para computação móvel
        ¿ Noções básicas sobre negócios móveis
        ¿ Conhecimento das várias áreas móveis: de aplicativos para redes
        ¿ O que um usuário pode obter em um aplicativo para dispositivos móveis?
        As classes de laboratório têm a seguinte estrutura:

        A) Aplicativos móveis híbridos na Web
        ¿ Conceitos e Ambiente de Desenvolvimento
        ¿ conclusão do código do projeto
        ¿ Novo desenvolvimento de aplicativos
        B) Aplicativos móveis nativos
        ¿ Conceitos e Ambiente de Desenvolvimento
        ¿ conclusão do código do projeto
        ¿ Novo desenvolvimento de aplicativos

        Objetivos

        Esta unidade curricular procura dotar os alunos com competências e conhecimentos de:
        ¿ Perceção da razão pelas quais as empresas necessitam de ambientes móveis
        ¿ Quais as arquitecturas disponíveis no Mercado
        ¿ Compreensão de Negócio Mobile
        ¿ Conhecimento das diferentes camadas móveis: das aplicações às redes
        ¿ O que os utilizadores podem obter das aplicações móveis
        Na componente prática procura-se garantir que o aluno tem as bases essenciais para desenvolver aplicações móveis.

    • Sistemas de Informação

      • Bases de Dados

        Apresentação

        Esta unidade curricular tem por objetivo apresentar a importância da Gestão de Dados no seio de uma empresa, de forma a garantir quer a operação diária de negócio, bem como o apoio à decisão estratégica.

        Nesta unidade reforçar-se-á o enquadramento de estruturação e metodologias de criação das bases de dados.

        DocentesRui RibeiroJoão CaldeiraLuis A. Gomes

        Programa

        O programa da unidade curricular é:
        A) Componente Teórico

        • Introdução
        • Modelo de relacionamento entre entidades
        • O modelo relacional
        • Refinamento de esquema: Conceito de normalização e transações
        • Arquitetura de SGBD e algum SQL Avançado

        B) Componente Prática

        • Introdução à linguagem SQL;
        • Instruções: DDL, DML (DQL) e DCL
        • Operações: WHERE, ORDER BY, GROUP BY;
        • Conceito avançados em SQL: Controlo de erros
        • Operadores Relacionais: União, intersecção e Subtracção
        • Produto Cartesiano (externo)
        • Queries complexos (filtro com valores agregados) e sub-queries
        • Set DDL; Instrução CREATE; Tipos de dados; Nulidade; Instruções ALTER e DROP
        • INDICES e VIEWS
        • Controlo de erros: estrutura TRY¿CATCH
        • Procedimentos (SP) e Triggers
        • Operações com tabelas: Cursores

        Objetivos

        São objetivos dotar os estudantes dos conhecimentos teóricos e práticos necessários à concepção, construção e análise de bases de dados relacionais: nomeadamente obter as seguintes aptidões e
        competências:
        1. Compreender as razões de implementação de bases de dados relacionais no mundo empresarial
        2. Transpor de uma análise de requisitos para um modelo entidade-associação para desenhar bases de dados;
        3. Aplicar os conceitos do modelo relacional de bases de dados, transformando o modelo entidade-associação, em modelo físico de dados;
        4. Aplicar as técnicas de normalização de tabelas;
        5. Compreender arquitetura e principais componentes de Sistemas de Gestão de Bases de Dados;
        6. Utilizar a linguagem SQL base e avançado para a criação, consulta e modificação de bases de dados;

      • Engenharia de Requisitos e Testes

        Apresentação

        A UC de Análise e Conceção de Sistemas tem por objetivo garantir um enquadramento de gestão de Sistemas de Informação e o seu impacto na componente aplicacional, onde a componente de metodologia e engenharia de requisitos, tal como a metodologia e estruturação de testes de software, sejam unitários ou agregados, são essenciais para o sucesso de negócio das empresas.

        DocentesRui RibeiroJosé Cascais BrásLuis A. Gomes

        Programa

        Estrutura de Capítulos principais de conteúdos

        1. Visão de Gerenciamento de Sistemas de Informação

        2. Engenharia de Requisitos (Gestão de backlog, BPMN e UML – Modelação)

        3. Testes de software

        4. Gestão de Projetos

        Objetivos

        • Entender o que é Gestão de Sistemas de Informação
        • Por que é fundamental definir requisitos
        • Saber desenvolver e gerenciar uma metodologia de definição e estrutura de requisitos
        • Como alinhar os testes com os requisitos
        • Compreender a importância de modelar os requisitos e testes
        • Fundamentos de Gestão de Projetos
      • Fundamentos de Sistemas de Informação

        Apresentação

        A disciplina insere-se no plano geral de formação em sistemas de informação da licenciatura e tem como principais objetivos fornecer aos alunos um conjunto de conhecimentos gerais e específicos que lhes permita a compreensão e domínio dos tipos, características e papel dos Sistemas de Informação em toda a sociedade e em particular nas empresas, bem como de Gestão e Planeamento de Sistemas de Informação Empresariais, representar e modelar processos de negócio e requisitos. Aprender a especificar e selecionar novos sistemas de informação. Conhecer as metodologias de desenvolvimento e aspetos de segurança a considerar.

        DocentesRui RibeiroJosé Cascais Brás

        Programa

        Componente Teórica

        1.  Conceito de Sistemas de Informação: Pessoas, Processos e Tecnologia 
        2. Pirâmide do Conhecimento: Dados, Informação, Conhecimento e Sabedoria
        3. Estratégia e SI e Sistemas Empresariais: gestão de clientes (CRM), gestão de recursos (ERP), plataformas logísticas (SCM), marketplaces e ebusiness, SIG, sistemas móveis, etc.
        4. Estruturas de Hardware e Software
        5. Arquiteturas Empresariais 2 e 3 níveis
        6. Qualidade e Metodologias de Gestão de SI/IT (ITIL, CobiT, CMM)
        7. Ética e impactos legais da tecnologia 

        Componente Prática 

        1. Diagrama de Ishikawa (este pode passar para as teóricas, mas pode ser um bom início de estruturação de problemas antes de processos)
        2. Conceitos de Processos e BPM
        3. Notação BPMN
        4. Conceitos base de Process Mining
        5. Conceito base de Lean Six Sigma

        Objetivos

        rA disciplina insere-se no plano geral de formação em sistemas de informação da licenciatura e tem como principais objetivos fornecer aos alunos um conjunto de conhecimentos gerais e específicos que lhes permita a compreensão e domínio dos tipos, características e papel dos Sistemas de Informação em toda a sociedade e em particular nas empresas, bem como de Gestão e Planeamento de Sistemas de Informação Empresariais e representar e modelar processos de negócio. Estes conhecimentos são reforçados pela abordagem e análise de vários casos práticos de estudo e trabalhos de pesquisa complementar bem como utilização de uma ferramenta de modelação de processos. Unidade curricular de iniciação aos Sistemas de Informação foca-se no estudo de conceitos e temas de referência na área, como Planeamento e Gestão de Sistemas de Informação, Arquitecturas e BPM (Business Process Management). Conhecer metodologias de desenvolvimento e segurança e saber especificar, selecionar e adquirir, novos sistemas.

      • Sistemas de Suporte à Decisão

        Apresentação

        A UC de Sistemas de Suporte à Decisão / Business Intelligence tem por objetivo garantir que há a introdução à temática de processos de análise de dados para apoio às áreas de gestão das empresas. Neste sentido, a UC tem um papel fundamental no ciclo de estudo na compreensão dos processos de gestão e decisão de organizações, para além de como colocar infraestruturas de dados ao serviço do negócio empresarial.

        DocentesRui RibeiroJoão CaldeiraJoão Licínio

        Projetos

        • Modelação, ETL e Reporting

          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

        Programa

        • Desafios de Negócio de DW
        • Arquitecturas DW
        • Melhores Práticas de Modelação de DW
        • Implementação de ETL
        • Bases de Dados específicas para BI
        • Ferramentas de Relatórios

        Objetivos

        • Entender por que as empresas precisam de um ambiente de BI
        • Quais componentes da arquitetura existem para BI
        • Esquemas de modelação para DW
        • Conhecer os vários processos de manipulação de dados em ambientes DW
        • O que um colaborador/utilizador pode obter em interfaces de relatórios
    • Interação Humano-Máquina

      • Interação Humano-Máquina

        Apresentação

         

         

         A disciplina Interação Humano-Máquina tem por principal objetivo dotar os estudantes de competências metodológicas, de design, de comunicação e de fatores humanos, que lhes permitam desenhar produtos e serviços com as pessoas e para as pessoas. Num mundo cada vez mais digital, a inclusão de todas as pessoas/cidadãos é cada vez mais necessária. A Humanização da Tecnologia é mais do que uma boa experiência do Utilizador. Na prática e, aplicando os conhecimentos teóricos a projetos, os estudantes deverão ser capazes de criar artefactos (em tecnologias de informação) que melhorem a forma como as pessoas trabalham, comunicam e interagem numa sociedade inclusiva.

        DocentesConceição CostaMiguel Tavares

        Programa

        O que é o Desenho de Interação? Compreender e conceptualizar a interação. O impacto da Teoria da Actividade. Desenhar com a acessibilidade em mente. Princípios para  inclusão. Os contributos da psicologia cognitiva no estudo da interação humano-máquina. Perceção humana e funções cognitivas que influenciam o desempenho do utilizador e a satisfação. Desenvolvimento e Avaliação de Protótipos iniciais. Tipos de estudos em user experience, ao longo do ciclo de vida do projeto. Análise crítica aos resultados do estudo para melhorias no protótipo.

        Objetivos

        • Adquirir competências em Desenho de Interação e Desenho Inclusivo.

        • Compreender como a perceção humana e funções cognitivas influenciam a interação entre o humano e o computador. Compreender que a diferentes interações correspondem diferentes interfaces utilizador.

        • Compreender o impacto dos públicos heterogéneos e dos fatores culturais no desenho de aplicações

        • Aprender metodologias de projeto que facilitem o desenho de experiências satisfatórias para o utilizador;

        • Criar protótipos de alta fidelidade e recolher feed-back junto do Público-Alvo;

        • Aprender a planear, desenhar e realizar estudos de avaliação da usabilidade ao longo do ciclo de desenvolvimento de software. Saber tratar e analisar dados, bem como apresentar resultados de forma sucinta.

        • Aplicar as competências adquiridas ao desenvolvimento de sistemas de informação e ao projeto transversal de IHM e Computação Móvel.

    • Dados e Inteligência Artificial

      • Data Mining

        Apresentação

        A disciplina de Data Mining tem como objectivo dar ao estudante competências essenciais na análise de dados, de forma a encontrar padrões e insights relevantes que conduzem os processos de apoio à decisão de uma empresa.

        Numa perspetiva multidisciplinar, como se trata a área do Data Mining, serão apresentadas metodologias e técnicas fundamentais para tratar, transformar, construir e analisar os dados. É objectivo desta disciplina dar ao estudante capacidade para traduzir essa análise em conhecimento e valor, de modo sustentado para a tomada de decisão.

        A componente prática é um dos aspetos fundamentais da disciplina, pelo que a capacidade de traduzir conhecimento em ações práticas e decisões de análise é particularmente valorizada.

        A ligação estreita ao mundo empresarial para resposta a perguntas de negócios será retratada nesta disciplina.

        Docentes: docente da SAS. 

        Programa

        1. Introdução ao Data Mining e sua importância na Ciência de Dados

        2. Diferentes tipos de dados

        3. Estatística Descritiva

        4. Python para Ciência de Dados (NumPy e Pandas)

        5. Preparação e exploração de dados

        6. Introdução à aprendizagem automática de uma máquina, modelos superviosionados e não superviosionados e conceitos base

        7. Regressão Linear

        8. Regressâo Logística

        9. Métricas de avaliação de desempenho de modelos

        10. Algorítmo KNN

        11. Árvores de decisão

        12. Clustering (K-Means)

         

         

        Objetivos

         A disciplina tem como objetivos dar ao aluno as competências para:

         

        • Entender as principais técnicas e métodos, em programação Python, usados por cientistas de dados para Data Mining através da sua prática
        • Compreender a natureza dos diferentes dados 
        • Ser capaz de proceder a tarefas básicas de limpeza, pré-processamento e preparação de dados
        • Fazer análise exploratórias de dados com implementação em Python
        • Entender o fluxo de trabalho de um cientista de dados  e ser capaz de pensar sobre a solução de problemas com dados
        • Entender o que são métodos de aprendizagem automática, supervisionados e não supervisionados
        • Compreender e implementar métodos de regressão e classificação 
        • Compreender e implementar métodos de árvores de decisão
        • Compreender e implementar métodos clustering 
        • Compreender e implementar métodos de redução de dimensionalidade
        • Conhecer os fundamentos das métricas de avaliação de desempenho de um modelo  
      • Inteligência Artificial

        Apresentação

        Esta cadeira é uma introdução aos conceitos e técnicas básicas da Inteligência Artificial, com três áreas principais de atuação. Primeiro, a formalização do que é uma máquina, tanto na óptica de manipulação de símbolos da máquina de Turing, como nas máquinas de McCulloch and Pitts que funcionam com padrões de interligação entre nós em redes de neurónios. Segundo, o conceito de agente racional em IA, que emerge da interseção com as ciências cognitivas, e as diversas implementações de algoritmos de busca exaustiva estruturada (informados e não informados). Ainda dentro desta área de foco são ainda introduzidos os conceito de busca estocástica e algoritmos para satisfação de restrições (CSPs). Finalmente, na terceira área de foco, os estudantes aprendem noções e usos de alguns dos algoritmos de inteligência artificial avançados que são utilizados hoje em dia.

        DocentesManuel M. PitaZuil Pirola

        Programa

        1. Conceitos Básicos
          1. Definições de IA
          2. Máquina de Turing
          3. Redes neuronais de McCulloch e Pitts
          4. Cómo analisar máquinas? diagramas de transição de estados
        2. Busca
          1. O conceito de agente de busca em IA
          2. Espaços e Grafos de busca
          3. Busca não informada: British Museum, DFS, BFS
          4. Busca Informada: Dijkstra e A*
          5. Busca adversária
        3. Problemas de satisfação de restrições
        4. Nocões básicas de processamento de linguagem natural e sistemas de recomendação
        5. O futuro de IA
          1. Analise critica de artigos recentes em IA

        Objetivos

        Os objectivos de aprendizagem desta cadeira incluem (1) Entendimento profundo dos aspectos conceituais que dão origem à IA, nomeadamente a formalização do conceito de computação universal via manipulação de símbolos, e a computação baseada em redes de neurónios; (2) os métodos e representações usados para estudar o funcionamento de qualquer máquina; (3) Desenho e implementação de agentes racionais e o conceito de "processamento de informação"; (4) Algoritmos clássicos de busca não informada: British Museum, DFS e BFS; (5) Busca informada: Dijkstra e A*; (6) Formalização e resolução de problemas de satisfação de restrições (CSP); (7) conhecimentos básicos de técnicas avançadas de inteligência artificial nos domínios de machine learning e data science; e (8) Conhecimentos sobre os usos da inteligência artificial na sociedade incluindo aspectos relacionados com ética e o futuro de IA.

    • Gestão e Softskills

      • Auditoria de Sistemas de Informação

        Apresentação

        Aprendizagem dos conceitos teóricos e práticos fundamentais na auditoria de sistemas de informação.

        DocentesPaulo Guedes

        Programa

        1. O que é a auditoria de sistemas de informação
        2. Processos e metodologias de auditoria
        3. Modelos de avaliação do risco
        4. Sistema de controlo interno
        5. Cobit

        Objetivos

        Aprendizagem dos conceitos teóricos e práticos da auditoria de sistemas de informação, tanto na perspetiva de um auditor de sistemas de informação como na perspetiva de um gestor da organização informática auditada. Esta disciplina fornece os conhecimentos necessários para os alunos iniciarem uma carreira profissional como auditores de sistemas de informação, mas também os capacita como profissionais para lidarem com auditorias à sua organização informática.

      • Cálculo Financeiro

        Apresentação

        A Unidade Curricular insere-se no plano geral de formação na Licenciatura de Informática de Gestão, procurando dotar os alunos dos principais conceitos de Cálculo Financeiro visando o suporte
        para a tomada de decisão, temática crítica no contexto empresarial.

        DocentesRui Cardoso

        Programa

        1. Conceitos Básicos
        2. Regimes de Capitalização
        2.1. Regime de juro simples
        2.2. Regime de juro composto
        3. Equivalência de Capitais
        3.1. Equação de valor
        3.2. Capital único
        3.3. Vencimento médio
        3.4. Taxa média
        4. Equivalência de taxas
        4.1. Taxas nominais e taxas efetivas
        4.2. Taxas equivalentes
        4.3. Taxa instantânea de capitalização
        4.4. TAEG
        5. Rendas
        5.1. Noção e classificação
        5.2. Rendas de termos constantes
        5.2.1. Rendas inteiras
        5.2.2. Rendas fracionadas
        5.2.3. Rendas perpétuas
        6. Empréstimos
        6.1. Empréstimos clássicos
        6.1.1. Conceitos genéricos
        6.1.2. Classificação quanto ao período de reembolso e pagamento de juros
        6.2. Empréstimos por obrigações
        6.2.1. Conceitos genéricos
        6.2.2. Modalidades

        Objetivos

        Ensinar técnicas de cálculo financeiro com a finalidade de dotar o aluno com competências para
        a execução prática do cálculo financeiro, nomeadamente:
        – Conhecer e compreender os conceitos básicos de cálculo financeiro
        – Obter prática de cálculo de atualização e capitalização
        – Saber calcular o valor de uma renda
        – Saber determinar as amortizações de empréstimos
        – Saber analisar as diversas fontes de financiamento das empresas
        – Saber construir folhas de cálculo para a resolução dos problemas de cálculo financeiro

      • Competências Comportamentais

        Apresentação

        Esta unidade curricular (UC) inscreve-se num contexto onde têm sido elencadas necessidades de adaptação dos especialistas em informática ao contexto das organizações, nomeadamente no que às denominadas soft skills diz respeito. Assim, pretende-se que os alunos desenvolvam conhecimentos ao nível das ferramentas básicas de empregabilidade (ex. Currículo, redes sociais e networking, marketing pessoal), gestão das emoções, gestão de tempo (ex. trabalho remoto), trabalho em equipa e liderança, comunicação e desenvolvimento de competências comportamentais e autoconhecimento. Por outro lado, é objetivo desta UC o desenvolvimento de um plano individual de desenvolvimento pessoal, bem como de aptidões que permitam aos alunos destingir entre factos e opiniões, conhecimento científico e senso comum. Sendo uma UC de índole prática, pretende-se que os conhecimentos sejam operacionalizáveis e tendentes ao desenvolvimento de competências transferíveis do plano académico para a domínio profissional.

        DocentesDiogo MoraisTomáz Saraiva

        Projetos

        • IT in competences development

          Desenvolvimento de competências via projetos tecnológicos (apps, jogos, websites), incluindo análise de mercado e estratégias de monetização.
          Apresentação de 10 minutos para captação de investimento, seguida de avaliação pelos pares.

        Programa

        1. Marketing Pessoal e personal skills development:

        a. CV;

        b. Portefólio;

        c. Apresentação pessoal e comunicação interpessoal;

        d. Apresentação em público e ferramentas para o efeito;

        e. Redes sociais e Networking.

        2. Gestão de tempo:

        a. Trabalho remoto e comunicação mediada;

        3. As tecnologias no trabalho: oportunidades e ameaças;

        4. Trabalho em equipa;

        5. Resolução de problemas e Pensamento crítico.

        6. Factos Vs Opiniões;

        7. Work-life balance.

        Objetivos

        Pretende-se que os alunos desenvolvam conhecimentos ao nível das ferramentas básicas de empregabilidade (ex. Currículo, redes sociais e networking, marketing pessoal), gestão das emoções, gestão de tempo (ex. trabalho remoto), trabalho em equipa e liderança, comunicação e desenvolvimento de competências comportamentais e autoconhecimento. Por outro lado, é objetivo desta UC o desenvolvimento de um plano individual de desenvolvimento pessoal, bem como de aptidões que permitam aos alunos destingir entre factos e opiniões, conhecimento científico e senso comum. Sendo uma UC de índole prática, pretende-se que os conhecimentos sejam operacionalizáveis e tendentes ao desenvolvimento de competências transferíveis do plano académico para a domínio profissional.

      • Gestão Financeira

        Apresentação

        O principal objectivo desta unidade curricular consiste em introduzir aos alunos os conceitos fundamentais relacionados com a gestão financeira das organizações.

        DocentesCarlos Capelo

        Programa

        P1 – Introdução à gestão financeira

        P2 – Avaliação de ativos financeiros

        P3 – A decisão de investimento

        P4 – Análise de risco

        P5 – Estrutura de capital e o financiamento da empresa

        P6 – Financiamento e avaliação de projetos, negócios e empresas

        Objetivos

        OA1 – Definir os conceitos principais e âmbito da gestão financeira.

        OA2 – Avaliar obrigações e ações.

        OA3 – Preparar os elementos e aplicar técnicas adequadas para a decisão de investimento.

        OA4 – Compreender os conceitos de risco, rendibilidade e custo de capital; Explicar a teoria de carteira e modelo Capital Asset Pricing Model; Selecionar e aplicar técnicas de análise risco.

        OA5 – Explicar as principais teorias da estrutura de capital; Avaliar fontes de financiamento da empresa; Calcular o WACC (Weighted-Average Cost of Capital).

        OA6 – Preparar os elementos e aplicar técnicas adequadas para avaliar negócios e empresas.

      • Instrumentos de Gestão

        Apresentação

        A UC Instrumentos de Gestão insere-se no plano geral de formação na Licenciatura em Informática de Gestão, procurando estabelecer a ligação entre o ambiente informático e o ecossistema de negócios e dotar os alunos da necessária compreensão dos conceitos e princípios universais da Ciência Gestão de Empresas.

        DocentesRui Cardoso

        Programa

        Tabela de Matérias:

        1. A Empresa
          1. Conceitos;
          2. O Gestor
            1. Competências;
            2. Funções;
            3. Evolução do Foco das Teorias da Gestão
              1. Tarefas;
              2. Organização;
              3. Pessoas;
              4. Ambiente;
              5. Tecnologia;
            4. Dimensões da Gestão
              1. Conceção;
              2. Planeamento;
              3. Organização;
              4. Direção;
              5. Coordenação;
              6. Controlo e Desenvolvimento;
            5. Estruturas Organizacionais
              1. Princípios;
              2. Arquitetura;
              3. Tipos de Estrutura;
              4. Departamentalização;
              5. Organogramas;
              6. Funções Fundamentais da Gestão
                1. Estratégia;
                2. Finanças;
                3. Marketing;
                4. Recursos Humanos;
                5. Operações;
              7. Tendências da Gestão:
                1. Ética;
                2. Responsabilidade Social;
                3. Sustentabilidade;
                4. Governance.

        Objetivos

        1. Apreender o Conceito de Empresa;
        2. Saber Elencar as Competências e as Tarefas do Gestor;
        3. Conhecer a Evolução das Teorias da Gestão;
        4. Identificar as Dimensões da Gestão;
        5. Descrever os Princípios da Gestão das Organizações;
        6. Entender as Funções Fundamentais da Gestão;
        7. Descobrir as Tendências da Gestão.
      • Motivação e Liderança

        Apresentação

        Na unidade curricular Motivação e Liderança os alunos tomam conhecimento da importância dos processos de Liderança e Motivação nas Organizações. E como se devem criar condições para motivar pessoas e liderar grupos e pessoas nas organizações

        DocentesRosário Cramez

        Programa

        A importância da Motivação individual e grupal; Organizações, indivíduos e grupos. Motivação e comportamento motivado; Teorias de Motivação; Motivação e Produtividade; A essência da Liderança; O processo de Liderança; A evolução das teorias de Liderança; Liderança de equipas e de projectos; A emergência de novos conceitos de Liderança

        Objetivos

        No âmbito da motivação relevar as interacções do indivíduo em ambientes cada vez mais diversificados e exigentes, potenciar as capacidades individuais para o desempenho eficaz e adaptar as recompensas de acordo com as necessidades. Na componente da Liderança, realçar a importância do processo de Liderança no sucesso da gestão das pessoas e das organizações, identificar os diversos tipos de liderança e a sua eficácia consoante as situações, aproveitar as competências transversais para relevar a comunicabilidade no sentido de obter níveis superiores de liderança.

      • Teoria e Prática de Marketing

        Apresentação

        DocentesFernando Angelino

        Projetos

        • Fórum no Moodle – discussão & partilha

          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.

        Programa

        Objetivos

    • Genérica

  • Competências adquiridas

    A Licenciatura em Informática de Gestão desenvolve os perfis formativos de de IT Business Analysts e IT Business Architects, capazes de interligar os negócios com o mundo de Sistemas de Informação nas empresas, com a possibilidade de optar por diversas carreiras profissionais, tais como:
    – Consultor na área das TI
    – Analista de apoio ao Negócio
    – Gestor de projecto
    – Arquiteto de SI

    Com incidência particular nas seguintes áreas:
    – Desenvolvimento de Aplicações Empresariais
    – Sistemas de Suporte à Decisão
    – Gestão de Sistemas Informação
    – Concepção e Gestão de Arquiteturas tecnológicas de projetos
    – Entre outras similares.

  • Destinatários

    A Licenciatura em Informática de Gestão destina-se as estudantes que pretendam:
    – Adquirir fortes competências em Tecnologias de Informação e Comunicação
    – Realizar uma formação avançada permanentemente adaptada à evolução das necessidades do mercado de trabalho, nas áreas de arquitectura, concepção e gestão de sistemas de informação.
    – Adquirir capacidades para gerir, agregar e apresentar informação, nomeadamente no que respeita ao suporte à tomada de decisão.
    – Adquirir perfis de IT Business Analysts e IT Business Architects, capazes de alinhar os Sistemas de Informação com os modelos de negócios das empresas, com vista ao seu posicionamento como líderes de mercado.
    – Desenvolver o seu espírito empreendedor, adquirindo competências para criar conceitos originais e transformá-los em modelos de negócio rentáveis e inovadores.
    Para ingressar nesta Licenciatura, os candidatos deverão:
    – Ser titulares de um curso de ensino secundário (12º ano) ou de habilitação legalmente equivalente e respectiva prova de acesso;
    – Ter sido aprovados nas provas para Maiores de 23 anos.

  • Ligação com o meio empresarial

    Para complementar os conhecimentos transmitidos no âmbito das Unidades Curriculares, são promovidas acções de formação profissional extra-curricular por empresas líderes de mercado ou personalidades de reconhecida competência, em ferramentas, tecnologias, metodologias ou produtos actuais e relevantes nas áreas das Tecnologias de Informação.
    Nalgumas Unidades Curriculares são promovidas apresentações feitas por convidados externos, com perfis reconhecidos nas áreas científicas do ciclo de estudos, assim como profissionais de referência em empresas nacionais e multinacionais. Estas iniciativas têm por objectivo desenvolver a capacidade dos estudantes em adquirir e aprofundar conhecimento a partir de exposições realizadas em ambiente de conferência, e simultaneamente dar-lhes acesso ao estado da arte e às evoluções tecnológicas nas áreas da sua formação. Por outro lado, visa promover um contacto permanente do estudante com o mundo científico e empresarial de modo a promover a sua inserção no mercado de trabalho.

  • Oportunidades de carreira

    O plano de estudos aponta para um perfil de formação sólido, internacionalmente reconhecido, no contexto de resposta das ciências da computação às necessidades organizacionais, através da formação de especialistas com formação profissionalizante de base em tecnologias da informação – information technologies – e sistemas de informação – information systems.

    A taxa de empregabilidade dos alunos licenciados pela Universidade Lusófona é excelente, nomeadamente no que se refere à área de Informática de Gestão. A ULHT tem promovido e promoverá no futuro, protocolos com as entidades profissionais e empresariais relevantes no domínio da Informática de Gestão. Os protocolos cobrem as mais variadas áreas, sendo de realçar a integração de alunos em Projetos e Estágios nas empresas e a integração de formadores em áreas tecnológicas e organizacionais de excelência. Atualmente esta colaboração já envolve entidades como a CGI, Stratesys, ThinkOpen Solutions / Odoo, CyberS3c, CTT, Microsoft, Outsystems, PHC, entre outras.

Universidade Lusófona


ECATI Escola de Comunicação, Arquitetura, Artes e Tecnologias da Informação

Departamento de Engenharia Informática e Sistemas de Informação
Edifício F, sala F.1.3
Direção — 217 515 500 (ext: 683)
Serviço de Apoio Tecnico-Admistrativo (SATA) — 17 515 500 (ext: 764)


Lisboa
Avenida do Campo Grande,
376 1749-024 Lisboa, Portugal
Tel.: 217 515 500 | email: info.cul@ulusofona.pt
Porto
Rua Augusto Rosa,
Nº 24, 4000-098 Porto - Portugal
Tel.: 222 073 230 | email: info.cup@ulusofona.pt

Gestão de conteúdos por Lucio Studer Ferreira © 2022 COFAC.