CTeSP em Desenvolvimento Ágil de Software

A procura por profissional no setor das tecnologias de informação tem aumentado nos últimos anos, um crescimento que tem sido acompanhado por um aumento das remunerações dos empregos nesta área.

 

O CTeSP em Desenvolvimento Ágil de Software forma profissionais que desenvolvem aplicações informáticas em ambiente empresarial, utilizando tecnologias baseadas em serviços e metodologias ágeis de desenvolvimento. O curso concilia a vertente do conhecimento com inserção profissional qualificada, incluindo no seu plano de estudos uma unidade curricular de projeto em cada um dos primeiros três semestres e um estágio profissional no último semestre.

 

O curso visa dotar os formandos de competências necessárias ao projeto e desenvolvimento de aplicações informáticas, assim como ao desenho e manutenção de arquiteturas de aplicações e sistemas informáticos, recorrendo a metodologias ágeis de desenvolvimento de software. Durante a formação, é atribuído especial destaque às competências de trabalho em equipa, favorecendo a integração dos diplomados em equipas de desenvolvimento em contexto empresarial.

 

Porquê escolher este curso?

  • A área das tecnologias de informação e comunicação em Portugal está em constante crescimento e carece de mais de 20 mil profissionais;
  • O plano de estudos distingue-se pela forte componente prática;
  • O estudante termina a formação com um estágio de um semestre letivo a tempo inteiro numa empresa.

 

Créditos:
120 ECTS

1º ano | 1º semestre

  • 5 ECTS

    Álgebra Linear e Geometria Analítica

    ECTS
    5
    Período
    1º semestre
    Responsável
    Mónica Salgado
    Teórica
    1 hora
    Teórico-prática
    3 horas

    Esta unidade curricular visa dotar o estudante da linguagem, dos conhecimentos e das técnicas matemáticas de Álgebra Linear, promovendo o desenvolvimento do raciocínio e do pensamento crítico. Pretende-se ainda desenvolver a capacidade de abstração, de estruturação de problemas e da respetiva resolução, estimulando a capacidade de aplicar as competências anteriores a problemas específicos da sua área profissional.
    Os estudantes deverão ser capazes de:
    - Realizar operações fundamentais com matrizes, calcular a inversa de uma matriz regular e resolver equações matriciais;
    - Calcular determinantes;
    - Utilizar determinantes e matrizes na resolução e discussão de sistemas de equações lineares;
    - Identificar e operar em espaços vetoriais;
    - Determinar valores próprios e vetores próprios;
    - Calcular produtos escalar e vetorial; determinar equações de retas e planos, bem como as respetivas interseções; e calcular distâncias envolvendo retas e planos no espaço tridimensional.

    1. Matrizes
    2. Determinantes
    3. Sistemas de Equações Lineares
    4. Espaços Vetoriais
    5. Transformações Lineares
    6. Geometria Analítica

  • 7 ECTS

    Algoritmia e Programação Orientada a Objetos

    ECTS
    7
    Período
    1º semestre
    Responsável
    André Mendes
    Teórica
    1 hora
    Prática laboratorial
    4 horas

    O estudante deverá ser capaz de:
    O1 - Compreender e aplicar os conceitos fundamentais da programação;
    O2 - Identificar os requisitos de um problema, analisá-lo, criar um algoritmo para a sua solução computacional e conceber um plano de testes apropriados para a sua validação;
    O3 - Conhecer e entender linguagens de programação na perspetiva essencialmente processual e implementar algoritmos, utilizando testes apropriados;
    O4 - Analisar e projetar algoritmos como modelos de processos computacionais estruturados em módulos;
    O5 - Conhecer, compreender e utilizar estruturas de dados indexados, bem como manipular arquivos de texto;
    O6 - Descrever as características principais da programação orientada a objetos e das respetivas estratégias de projeto;
    O7 - Produzir programas baseados no paradigma orientado ao objeto;
    08 - Aplicar os princípios da programação gerida por eventos;
    O9 - Aplicar os conhecimentos adquiridos para resolver problemas reais, trabalhando cooperativamente no desenho de soluções e na análise critica.

    P1. Conceitos básicos de Programação
    1.1 Resolução de Problemas
    1.2 Programação Procedimental Estruturada
    1.3 Algoritmos e Programas
    1.4 Variáveis, Tipos de Dados, Expressões e Operadores
    1.5 Estruturas de Controlo de Fluxo
    1.6 Descrição de algoritmos: Pseudo-Código e Fluxogramas
    P2. Codificação de programas
    2.1 Linguagens de Programação
    2.2 Ambientes de desenvolvimento
    2.3 Estrutura de um programa
    2.4 Tipos de Dados e Variáveis
    2.5 Operadores e Expressões e Atribuições
    2.6 Codificação das Estruturas de Controlo de Fluxo
    P3. Tipos de Dados
    3.1 Classes e Objectos
    3.2 Herança e Polimorfismo
    3.3 Composição e dependências
    P4. Decomposição Modular
    4.1 Visibilidade
    P5. Estruturas de Dados
    5.1 Manipulação de Estruturas de Dados Indexadas
    P6. Manipulação de Ficheiros de texto
    P7. Desenvolvimento de aplicações

  • 4 ECTS

    Competências Pessoais e Métodos do Trabalho

    ECTS
    4
    Período
    1º semestre
    Responsável
    Maria João Raposo
    Teórica
    1 hora
    Teórico-prática
    2 horas

    Competências Pessoais e Métodos de Trabalho integra o 1º ano do CTeSP. Esta é uma unidade curricular que visa a preparação dos estudantes para a integração no mercado de trabalho, desenvolvendo por um lado, competências metodológicas essenciais ao bom desempenho académico e profissional, bem como desenvolver competências transversais.
    Os principais propósitos desta UC são:
    - Desenvolvimento de soft skills (trabalho em equipa, comunicação interpessoal, gestão do tempo, responsabilidade, liderança, etc).-- Desenvolvimento da capacidade de integração de conhecimentos de diferentes áreas e de uma visão integrada.
    -Aquisição de novos conhecimentos e sua aplicação em contexto real.
    No final desta UC esperamos que os estudantes sejam capazes de:
    O1- Elaborar relatórios e apresentações em público de qualidade;
    O2- Utilizar metodologias de gestão de trabalhos e projetos, nomeadamente: definição de objetivos, planeamento das tarefas, monitorização e controlo;
    O3- Trabalhar em equipas de alto rendimento;
    O4- Planear e propor métodos experimentais, formular e testar hipóteses, identificar e resolver problemas.
    O5- Aplicar o método científico à formulação de hipóteses sobre um modelo e avaliar e analisar soluções com base em resultados experimentais.
    O6- Desenvolver soluções para problemas comuns de Engenharia.

    1. Boas práticas para o desenvolvimento de relatórios e trabalhos académicos.
    2. Ferramentas colaborativas
    3. Organização pessoal e atitude profissional
    4. Gestão de trabalhos e projectos: Regras para elaboração de trabalhos no curso
    5. Comunicação Interpessoal e Comunicação Empresarial
    6. Liderança e Trabalho em Equipa
    7. Técnicas de apresentação em público

  • 2 ECTS

    Inglês Técnico

    ECTS
    2
    Período
    1º semestre
    Responsável
    Ana Margarida Barata
    Teórico-prática
    2 horas

    Conduzir os alunos a:
    O1 - adquirir/desenvolver conhecimentos relativos à elaboração de documentos formais (CV, carta de apresentação a emprego, pedido de informação, reclamação, apresentação de propostas, relatórios);
    O2 - alargar e aplicar conteúdos vocabulares específicos de diversas áreas de engenharia, em particular da área da engenharia informática;
    O3 - ler, compreender e traduzir textos técnicos;
    O4 - apresentar em público produtos, técnicas, ...;
    O5 - consolidar conteúdos gramaticais fundamentais da língua inglesa (tempos verbais,preposições, pronomes, advérbios, conectores?).

    CP1 - TEMAS
    -Terminologia de TI:
    - Sistemas e dispositivos de computação
    - Sistemas operativos
    - Interface gráfica do utilizador (GUI)
    - Aplicações Informáticas
    - Redes
    - Cibersegurança
    -Apoio técnico (helpdesk)
    -Escrita comercial e técnica:
    - Relatórios;
    - Pedidos de informação;
    - Reclamações.
    -Organização e preparação de apresentações
    -Candidatura a um emprego em TI:
    - Carreiras em TI e requisitos de trabalho
    - Curriculum vitae
    - Carta de apresentação
    - Entrevista de emprego
    -Impacto do desenvolvimento de software nos ODS
    CP2 - FUNÇÕES DA LINGUAGEM
    - Definir e classificar
    - Qualificar, comparar e contrastar
    - Expressar causa e efeito
    - Parafrasear e citar
    - Descrever processos técnicos e formular instruções
    CP3 - CONTEÚDOS GRAMATICAIS
    - Pronomes
    - Artigos
    - Tempos verbais
    - Adjetivos e advérbios
    - Preposições
    - Formação de palavras

  • 5 ECTS

    Laboratório Projeto I

    ECTS
    5
    Período
    1º semestre
    Responsável
    Pedro Vasconcelos
    Orientação tutorial
    4 horas

    O principal objetivo da unidade curricular é praticar o desenvolvimento de
    software em equipa, através da implementação, em grupo, de um projeto de
    computação de baixa complexidade que vai aplicando o conhecimento obtido em
    unidades do mesmo semestre.

    Desenvolvimento, em grupo, de um projeto de uma aplicação informática.
    a) Aprender a usar um sistema de controle de versão distribuído.
    b) Realização de projeto de desenvolvimento de software.

  • 7 ECTS

    Tecnologias, Sistemas e Redes Informáticas

    ECTS
    7
    Período
    1º semestre
    Responsável
    Nicolau Magalhães
    Teórica
    1 hora
    Prática laboratorial
    4 horas

    O estudante deverá ser capaz de:
    1. Compreender a organização funcional de um computador
    2. Usar a representação de informação e as operações lógicas.
    3. Compreender a função, estrutura e serviços do sistema operativo.
    4. Utilizar shell scripts para resolver problemas de pequena escala
    5. Conhecer equipamentos e estruturas de redes de computadores
    6. Compreender aplicações, protocolos e sistemas de suporte em redes de
    computadores.

    1.Organização de um computador
    - O sistema computacional como uma hierarquia de máquinas virtuais
    - Introdução à organização de Von Neumann: componentes da arquitetura Von Neumann
    2. Estrutura e operação de sistemas operativos
    - Funções, tipos e evolução histórica dos sistemas operativos;
    - Estrutura dos sistemas operativos: sistemas monolíticos, Sistemas por
    camadas
    - Interação com o Sistema Operativo; Abstrações fundamentais, processo e
    ficheiro; Escalonamento da UCP; Critérios de Escalonamento e algoritmos de
    escalonamento
    3. Programar e utilizar sistema operativos
    - Conceito de shell; redirecionamento, pipes e filtros, Meta caracteres e
    expressões regulares; Controle de Processos; Programação com Shell Scripts
    4. Redes de computadores: Comunicação em rede; Arquiteturas de redes;
    Tecnologias de rede; Pilha de protocolos TCP/IP; Protocolos de aplicação.

1º ano | 2º semestre

  • 5 ECTS

    Administração de Sistemas

    ECTS
    5
    Período
    2º semestre
    Responsável
    Nicolau Magalhães
    Teórica
    1 hora
    Prática laboratorial
    3 horas

    1-Entender os requisitos operacionais para um datacenter. Planear, instalar e manter um centro de dados usando virtualização de servidores e de armazenamento;
    2-Instalar servidores Windows/linux com registo centralizado de utilizadores e grupos. perceber a os diferentes tipos de servidores e sua integração;
    3 - instalar servidores de domínio do AD. Gerir utilizadores, grupos, discos (Mirror, Span). Gerir serviços de rede;
    4 - Criar scripts para tarefas automatizadas e agendar tarefas. Configurar o registo centralizado de eventos;
    5 - Integrar sistemas Linux e Windows;
    6 - Instalar e gerir sistemas centralizados de monitorização e alertas. Segurança, gestão de backups locais e na Cloud;

    Teóricas
    1. Administração de Sistemas
    - Funções do administrador. Datacenters. virtualização de hardware e de armazenamento (SAN).
    2. Administração da Infra-estrutura
    - Continuidade de Negócios
    3. Técnicas de segurança e procedimentos
    - Segurança informática. Autenticação e autorização (sistemas AAA). Kerberos. GSS-API. SASL. TLS. Segurança de rede. Firewalls. IPSEC. Redes privadas virtuais.
    4. Qualidade de Serviço (QoS)
    5. planeamento e projeto de um Sistema de Informação;
    6. Computação na nuvem
    Prática - laboratório
    1 Gestão de armazenamento/equipamentos datecenter
    2 Administração de servidores Windows - Gestão de utilizadores e grupos (ADDC - LDAP), serviços de rede e ferramentas administrativas. Administração do domínio Windows, politicas de grupo, Powershell, IIS. Integração Linux / Windows.
    3 Administração de servidores Linux (DHCP, DNS, Samba)
    4. Segurança, DMZ-Firewall
    5. Desenvolvimento de um projeto servidor

  • 6 ECTS

    Desenvolvimento Iterativo e Ágil de Software

    ECTS
    6
    Período
    2º semestre
    Responsável
    Nuno Fonseca
    Teórica
    1 hora
    Prática laboratorial
    4 horas

    Os objetivos que os alunos deverão atingir no final desta UC são:
    CO1. Compreender um processo de desenvolvimento de software
    CO2. Compreender e aplicar um processo de desenvolvimento de software iterativo e incremental, usando artefactos e notações apropriadas para descrever o problema, a análise, o projeto e a solução
    CO3. Compreender e aplicar metodologias de análise e projeto orientado a objetos, incluindo princípios e padrões de projeto simples
    CO4. Aplicar metodologias e ferramentas para passar do projeto para uma implementação

    CP1. Processo de desenvolvimento de software
    - Métodos Iterativos e Incrementais
    - Métodos Ágeis
    - Orientado por testes
    - trabalho colaborativo
    - revisão de código
    - programação em pares
    CP2. Design OO
    - Domain Driven Design
    - principios SOLID
    - Padrões GRASP + GoF
    - Aplicação de UML no design
    - Introdução aos padrões arquitecturais
    CP3. Implementação
    - Teste
    - Controlo de Versões
    - ORM

  • 4 ECTS

    Estatística

    ECTS
    4
    Período
    2º semestre
    Responsável
    Mónica Salgado
    Teórica
    1 hora
    Teórico-prática
    2 horas

    O objetivo principal desta unidade curricular é dotar o estudante de técnicas de análise estatística descritiva e inferencial. Serão desenvolvidas competências para o estudante saber escolher e aplicar as técnicas e modelos estatísticos a problemas específicos e promovido o espírito crítico e capacidade de interpretação dos resultados obtidos.

    1. Estatística descritiva
    2. Regressão linear
    3. Teoria de probabilidades
    4. Variáveis aleatórias discretas
    5. Variáveis aleatórias contínuas
    6. Amostragem e distribuições amostrais
    7. Estimação

  • 10 ECTS

    Laboratório Projeto II

    ECTS
    10
    Período
    2º semestre
    Responsável
    Tiago Dias
    Teórico-prática
    2 horas
    Orientação tutorial
    6 horas

    Esta UC tem dois componentes:
    1. Introduzir aos estudantes a gestão de projetos de software, principalmente em abordagens ágeis;
    2. Introduzir aos estudantes um projeto de desenvolvimento de software em curso, em que vão necessitar de trabalhar numa grande equipa, utilizar abordagens ágeis e aplicar as melhores práticas e técnicas.
    O estudante deverá ser capaz de:
    1. Aplicar técnicas de "scoping" e gestão de tempo no contexto da gestão ágil de projetos
    2. Desenhar e implementar novas funcionalidades numa aplicação existente
    3. Aplicar princípios sólidos para a operação, evolução e implantação de um sistema de software
    4. Preparar documentação técnica e comunicar eficazmente com os membros da equipa, clientes e supervisores

    1. Gestão de projetos
    1.1 Gestão de projetos com Scrum e PMBOK
    1.2 Planeamento e controlo
    2. Desenvolvimento de Projeto de Software em equipa, utilizando abordagens ágeis e aplicando as melhores práticas e técnicas.

  • 5 ECTS

    Tópicos de Base de Dados

    ECTS
    5
    Período
    2º semestre
    Responsável
    André Mendes
    Teórica
    1 hora
    Prática laboratorial
    3 horas

    O estudante deverá ser capaz de :
    O1. Entender os conceitos relacionados com os Sistemas de Gestão de Bases de Dados (SGBD) em particular base de dados relacional e base de dados distribuídas;
    O2. Adquirir e consolidar os conhecimentos sobre modelação de dados;
    O3. Adquirir conhecimentos para resolver problemas através da construção de consultas de base de dados utilizando SQL (Structured Query Language);
    O4. Projetar uma base de dados para um projeto, tendo em conta os requisitos funcionais e suas restrições.

    P1. CONCEITOS GERAIS DE BASE DE DADOS
    1.1. SI nas organizações
    1.2. Base de Dados e Sistemas de Gestão de Base de Dados(SGBD)
    1.3. Concepção de Base de Dados
    P2. MODELAÇÃO DE DADOS
    2.1. Processo de Design
    2.2. Modelação de Dados
    2.3. Dependências funcionais e Normalização
    P3. MODELO RELACIONAL
    3.1. Caraterísticas Básicas
    3.2. Regras de Integridade
    3.3. Álgebra Relacional
    3.4. Linguagem SQL
    P4. GESTÃO DE TRANSAÇÕES
    4.1. Transações
    4.2. Controle de Concorrência
    4.3. Recuperação de Dados
    P5. INDEXING E HASHING
    P6. PROGRAMAÇÃO EM BASES DE DADOS
    6.1. Conceitos e construtores
    6.2. Implementação de código

2º ano | 1º semestre

  • 6 ECTS

    Desenvolvimento / Operação de Software

    ECTS
    6
    Período
    1º semestre
    Responsável
    José Felgueiras
    Teórica
    1 hora
    Prática laboratorial
    3 horas

    O objetivo geral desta UC é que os alunos sejam capazes de compreender e gerir o ciclo de vida de um produto de software. Assim, os principais conteúdos da UC estão relacionados com a integração contínua e a abordagem de entrega contínua de software.
    Esta UC tem como alvo o estudante com conhecimentos de programação Java / C#, e assume que o aluno tem conhecimentos básicos de Linux ao nível de utilização e operações via linha de comandos. A UC introduz vários aspetos relacionados com sistemas e infraestruturas de computação como Virtualização, Containers e Computação na Cloud, assim como utilização avançada de sistemas de controle de versões. Em termos de conteúdos, o foco da UC são ferramentas de construção, o servidor de integração contínua e os sistemas de gestão de configuração.
    Os estudantes aplicam estes conhecimentos para levar a cabo várias práticas de DevOps:
    (i) Infraestrutura como código;
    (ii) Automação de testes;
    (iii) Integração contínua;
    (iv) Implantação contínua.
    Estas práticas são introduzidas nas aulas e o estudante desenvolve os seus conhecimentos através de exercícios práticos, assim como no âmbito de um projeto de software (paralelo às aulas desta UC) no qual é esperado que os alunos apliquem práticas de DevOps.

    A UC apresenta os seguintes tópicos principais:
    - Controlo de versões (~10%);
    - Ferramentas e linguagens de construção de software (~15%);
    - Aspetos de sistemas e infraestrutura de computacional Virtualização, Container e computação na Cloud (~20%);
    - Integração e entrega continuas e ferramentas de suporte (~30%);
    - Técnicas de gestão de infraestrutura, na automação de gestão de configurações. (~25%);

  • 6 ECTS

    Desenvolvimento de Software Orientado a Serviços

    ECTS
    6
    Período
    1º semestre
    Responsável
    Nuno Fonseca
    Teórica
    1 hora
    Prática laboratorial
    4 horas

    No final desta UC, o estudante deverá ser capaz de:
    CO1. Analisar os conceitos e princípios associados a design de arquiteturas de sistemas de software distribuídos e descentralizados (DDSS)
    CO2. Analisar os requisitos e conceitos dum sistema de software
    CO3. Selecionar (de repositórios) o estilo e padrões de design e arquitetura para desenhar DDSS
    CO4. Desenhar (design) o DDSS pela adoção de estilos e padrões de design e arquitetura
    CO5. Implementar DDSS de acordo com os modelos de design
    CO6. Aplicar de boas práticas no desenvolvimento de sistemas de software

    CP1. Introdução a Arquitetura de Software
    CP2. Requisitos, Análise e Design de DDSS
    - Elicitação e modelação de requisitos funcionais e não funcionais
    - Análise e modelação de conceitos e processos de negócio
    - Design e modelação de DDSS
    - Vistas arquiteturais
    CP3. Estilos e Padrões de arquitetura de software para DDSS
    - Patterns of Enterprise Application
    - Processo de seleção de estilos e padrões
    - Combinação de padrões
    CP4. Plataformas de software para implementação de DDSS
    - HTML, JScript, AJAX
    - Web Services
    - .Net/PHP
    - NodeJS
    - JavaScript
    - Angular

  • 9 ECTS

    Laboratório Projeto III

    ECTS
    9
    Período
    1º semestre
    Responsável
    António Pedro Lucas
    Teórico-prática
    2 horas
    Orientação tutorial
    5 horas

    Esta UC tem dois componentes:
    Aplicar técnicas de desenvolvimento ágil de software em ambiente de projeto;
    Desenvolver em equipa um projeto de 3 meses, usando metodologias ágeis e aplicando os conceitos adquiridos nas UC's já completadas.
    O estudante deverá ser capaz de:
    i) Compreender e aplicar os papéis e processos presentes na metodologia SCRUM;
    ii) Analisar, modelar, implementar e testar um projeto, com base num conjunto de requisitos iniciais;
    iii) Desenvolver software de forma modular, preparado para receber incrementos e melhorias.

    I. Módulo de Gestão de Projetos
    I.1 - Gestão de projetos com SCRUM
    I.2 - Controlo de código com GIT FLOW
    II. Desenvolvimento de um projeto utilizando a metodologia Scrum em Sprints semanais
    III. Testes de integração e unitários

  • 4 ECTS

    Processos das Organizações

    ECTS
    4
    Período
    1º semestre
    Responsável
    Artur Sousa
    Teórica
    1 hora
    Teórico-prática
    2 horas

    OG1 - No final da uc o aluno deverá demonstrar ter adquirido um conhecimento genérico sobre a estrutura e o funcionamento de uma organização.
    OG2 - Deverá ainda demonstrar ser capaz de integrar os conhecimentos adquiridos nas tarefas de técnicas de da área informática (trabalho em equipa e compreensão dos processos de gestão das organizações) que frequentemente são requeridas no exercício da atividade profissional.
    No final da uc, o aluno deve ser capaz de demonstrar:
    OE1 - conhecer e compreender os conceitos apresentados nos vários capítulos do programa (BL 2)
    OE2 - reconhecer e caracterizar as várias vertentes em causa num problema de gestão operacional (relação com o cliente, relação com os restantes departamentos, gestão de pessoas, etc.) (BL3)
    OE3 - avaliar a importância e o impacto de cada uma destas vertentes, criticar as ações dos vários agentes da situação em causa e propor soluções que integrem toda as vertentes do problema em causa (BL4)

    S1: Princípios da gestão
    S2: Tomada de decisão
    S3: Liderança
    S4: Gestão de pessoas
    S5: Gestão financeira
    S6: Planeamento
    S7: Organização e estrutura organizacional
    S8: Controlo
    S9: Marketing
    S10: Gestão da qualidade
    S11: Motivação e comunicação
    S12: Gestão Produção e Stocks
    S13: Produtividade e gestão de carreira

  • 5 ECTS

    Segurança de Aplicações e Dados

    ECTS
    5
    Período
    1º semestre
    Responsável
    Horácio Macedo
    Teórica
    2 horas
    Prática laboratorial
    2 horas

    Esta unidade curricular visa incutir uma atitude de "desconfiança construtiva" na
    conceção, desenho, desenvolvimento e operação de sistemas que incorporem
    tecnologias informáticas, atitude essa que será muito útil nas restantes unidades
    e na vida pessoal e profissional. Espera-se que o estudante saiba aplicar os
    instrumentos da engenharia da segurança informática de modo efetivo,
    respeitando os aspetos profissionais e éticos na utilização das soluções
    existentes. Tendo em conta a sensibilidade e relevância dos temas abordados, o
    estudante deverá manter-se ao corrente dos desenvolvimentos desta área.
    Após completarem com sucesso esta unidade curricular, os estudantes serão
    capazes de:
    C01:
    Aplicar/usar configurações de redes e software de comunicação - B3
    Avaliar/testar a presença web de uma organização - B4
    CO2:
    Aplicar/usar conceitos e métodos de segurança de informação - B3
    CO3:
    Analisar/escolher programação segura de software - B3
    C04:
    Aplicar/usar criptografia - B2
    CO5:
    Avaliar/testar redes seguras com técnicas de ataque/defesa - B4
    C06:
    Classificar/explicar controlos de acesso, registo e monitorização - B1
    C07:
    Explicar/resumir planos de segurança ou contingência - B1
    C08:
    Descrever o estado da arte e discutir o impacto dos desenvolvimentos ocorridos
    - B1

    O programa está dividido em módulos (16 semanas, T-50%, PL-50%)
    CP1. Visão geral da segurança informática (estado e tendências das tecnologias
    ligadas à segurança informática). 10%
    CP2. Criptografia aplicada (teoria; casos de aplicação; boas práticas). 24%
    CP3. Programação segura (segurança informática na programação e engenharia
    de software seguro; falhas de programação, consequências e relevância). 24%
    CP4. Comunicações seguras (vulnerabilidades das redes TCP/IP; tecnologias de
    segurança em rede; perímetros de confiança). 16%
    CP5. Controlo de acesso. 16%
    CP6. Monitorização de sistemas. 16%
    CP7. Planos de segurança e de contingência. 2%
    CP8. Privacidade e Proteção de Dados Pessoais (RGPD). 1%

2º ano | 2º semestre

  • 30 ECTS

    Estágio

    ECTS
    30
    Período
    2º semestre
    Responsável
    Luiz Faria
    Orientação tutorial
    3,3 horas
    Estágio
    40 horas

    Esta unidade curricular foi desenhada para a aplicação e verificação dos conhecimentos, capacidades e competências que o técnico superior profissional em Desenvolvimento Ágil de Software deve possuir.
    Esta UC tem por objetivo o desenvolvimento de um Estágio numa empresa ou organização, promovendo a recolha de informação pertinente, a seleção fundamentada dos métodos de abordagens, o desenho e implementação duma solução para o problema proposto, bem como a posterior análise crítica dos resultados.
    O estudante será capaz de conceber-desenhar-implementar-operar soluções informáticas com complexidade média em organizações modernas, gerando valor acrescentado e evidenciando uma atitude pessoal adequada, madura e racional.
    No final desta unidade curricular o aluno deve ser capaz de:
    CO1. Interpretar o problema em estudo, aplicando os conhecimentos adquiridos e adotando boas práticas de desenvolvimento ágil de software
    CO2. Sintetizar o conhecimento existente no âmbito do problema em estudo
    CO3. Identificar, analisar e avaliar diferentes abordagens para a resolução do problema. Reconhecer a importância das restrições não técnicas - sociais, de saúde e segurança, ambientais, económicas e industriais.
    CO4. Desenhar uma solução para o problema, adotando boas práticas de desenvolvimento ágil de software
    CO5. Construir a solução para o problema aplicando boas práticas de desenvolvimento ágil de software
    CO6. Avaliar a solução desenhada/implementada aplicando boas práticas de desenvolvimento ágil de software
    CO7. Descrever e apresentar de forma rigorosa os processos e resultados dos pontos anteriores.

    O trabalho a realizar durante o estágio é definido de forma individual para cada aluno, e será enquadrado no contexto da empresa em que o estágio for realizado.

1º ano | 1º semestre

  • 5 ECTS

    Álgebra Linear e Geometria Analítica

    ECTS
    5
    Período
    1º semestre
    Responsável
    MARIO PASCOAL
    Teórica
    1 hora
    Teórico-prática
    3 horas

    Ao completar esta unidade curricular, o estudante/formando deve assimilar e apropriar-se e revelar um domínio dos principais conceitos de Álgebra Linear e Geometria Analítica. Nomeadamente, deve compreender, ser capaz de trabalhar e usar as propriedades dos conceitos de matriz, determinante, espaço vetorial e transformações lineares

    1-Sistemas lineares e matrizes
    2-Matrizes
    3-Determinantes de matrizes quadradas
    4-Espaços vetoriais
    5-Funções (aplicações) lineares
    6-Vetores e valores próprios e diagonalização de matrizes

  • 7 ECTS

    Algoritmia e Programação Orientada a Objetos

    ECTS
    7
    Período
    1º semestre
    Responsável
    André Mendes
    Teórica
    1 hora
    Prática laboratorial
    4 horas

    O estudante deverá ser capaz de:
    O1 - Compreender e aplicar os conceitos fundamentais da programação;
    O2 - Identificar os requisitos de um problema, analisá-lo, criar um algoritmo para a sua solução computacional e conceber um plano de testes apropriados para a sua validação;
    O3 - Conhecer e entender linguagens de programação na perspetiva essencialmente processual e implementar algoritmos, utilizando testes apropriados;
    O4 - Analisar e projetar algoritmos como modelos de processos computacionais estruturados em módulos;
    O5 - Conhecer, compreender e utilizar estruturas de dados indexados, bem como manipular arquivos de texto;
    O6 - Descrever as características principais da programação orientada a objetos e das respetivas estratégias de projeto;
    O7 - Produzir programas baseados no paradigma orientado ao objeto;
    08 - Aplicar os princípios da programação gerida por eventos;
    O9 - Aplicar os conhecimentos adquiridos para resolver problemas reais, trabalhando cooperativamente no desenho de soluções e na análise critica.

    P1. Conceitos básicos de Programação
    1.1 Resolução de Problemas
    1.2 Programação Procedimental Estruturada
    1.3 Algoritmos e Programas
    1.4 Variáveis, Tipos de Dados, Expressões e Operadores
    1.5 Estruturas de Controlo de Fluxo
    1.6 Descrição de algoritmos: Pseudo-Código e Fluxogramas
    P2. Codificação de programas
    2.1 Linguagens de Programação
    2.2 Ambientes de desenvolvimento
    2.3 Estrutura de um programa
    2.4 Tipos de Dados e Variáveis
    2.5 Operadores e Expressões e Atribuições
    2.6 Codificação das Estruturas de Controlo de Fluxo
    P3. Tipos de Dados
    3.1 Classes e Objectos
    3.2 Herança e Polimorfismo
    3.3 Composição e dependências
    P4. Decomposição Modular
    4.1 Visibilidade
    P5. Estruturas de Dados
    5.1 Manipulação de Estruturas de Dados Indexadas
    P6. Manipulação de Ficheiros de texto
    P7. Desenvolvimento de aplicações

  • 4 ECTS

    Competências Pessoais e Métodos do Trabalho

    ECTS
    4
    Período
    1º semestre
    Responsável
    Valdemar Godinho
    Teórica
    1 hora
    Teórico-prática
    2 horas

    Esta unidade curricular visa preparar os estudantes para a integração no mercado de trabalho, desenvolvendo competências metodológicas essenciais ao bom desempenho académico e profissional, bem como competências transversais.
    Os principais propósitos desta UC são:
    - Desenvolvimento de soft skills (trabalho em equipa, comunicação interpessoal, gestão do tempo, responsabilidade e liderança). Desenvolvimento da capacidade de integração de conhecimentos de diferentes áreas e de uma visão integrada.
    -Aquisição de novos conhecimentos e sua aplicação em contexto real.
    No final desta UC esperamos que os estudantes sejam capazes de:
    Obj1- Elaborar relatórios e apresentações em público de qualidade;
    Obj2- Utilizar metodologias de gestão de trabalhos e projetos, nomeadamente: definição de objetivos, planeamento das tarefas, monitorização e controlo;
    Obj3- Trabalhar em equipas de alto rendimento;
    Obj4- Planear e propor métodos experimentais, formular e testar hipóteses, identificar e resolver problemas.
    Obj5- Aplicar o método científico à formulação de hipóteses sobre um modelo e avaliar e analisar soluções com base em resultados experimentais.
    Obj6- Desenvolver soluções para problemas comuns de Engenharia.

    1. Boas práticas para o desenvolvimento de relatórios e trabalhos académicos.
    2. Ferramentas colaborativas.
    3. Organização pessoal e atitude profissional.
    4. Gestão de trabalhos e projetos: regras de elaboração.
    5. Comunicação interpessoal e comunicação empresarial.
    6. Liderança e trabalho em equipa.
    7. Técnicas de apresentação em público.

  • 2 ECTS

    Inglês Técnico

    ECTS
    2
    Período
    1º semestre
    Responsável
    Ana Margarida Barata
    Teórico-prática
    2 horas

    Conduzir os alunos a:
    O1 - adquirir/desenvolver conhecimentos relativos à elaboração de documentos formais (CV, carta de apresentação a emprego, pedido de informação, reclamação, apresentação de propostas, relatórios);
    O2 - alargar e aplicar conteúdos vocabulares específicos de diversas áreas de engenharia, em particular da área da engenharia informática;
    O3 - ler, compreender e traduzir textos técnicos;
    O4 - apresentar em público produtos, técnicas, ...;
    O5 - consolidar conteúdos gramaticais fundamentais da língua inglesa (tempos verbais,preposições, pronomes, advérbios, conectores).

    CP1 - TEMAS
    -Terminologia de TI:
    - Sistemas e dispositivos de computação
    - Sistemas operativos
    - Interface gráfica do utilizador (GUI)
    - Aplicações Informáticas
    - Redes
    - Cibersegurança
    -Apoio técnico (helpdesk)
    -Escrita comercial e técnica:
    - Relatórios;
    - Pedidos de informação;
    - Reclamações.
    -Organização e preparação de apresentações
    -Candidatura a um emprego em TI:
    - Carreiras em TI e requisitos de trabalho
    - Curriculum vitae
    - Carta de apresentação
    - Entrevista de emprego
    -Impacto do desenvolvimento de software nos ODS
    CP2 - FUNÇÕES DA LINGUAGEM
    - Definir e classificar
    - Qualificar, comparar e contrastar
    - Expressar causa e efeito
    - Parafrasear e citar
    - Descrever processos técnicos e formular instruções
    CP3 - CONTEÚDOS GRAMATICAIS
    - Pronomes
    - Artigos
    - Tempos verbais
    - Adjetivos e advérbios
    - Preposições
    - Formação de palavras

  • 5 ECTS

    Laboratório Projeto I

    ECTS
    5
    Período
    1º semestre
    Responsável
    Pedro Vasconcelos
    Orientação tutorial
    4 horas

    O principal objetivo da unidade curricular é praticar o desenvolvimento de
    software em equipa, através da implementação, em grupo, de um projeto de
    computação de baixa complexidade que vai aplicando o conhecimento obtido em
    unidades do mesmo semestre.

    Desenvolvimento, em grupo, de um projeto de uma aplicação informática.
    a) Aprender a usar um sistema de controle de versão distribuído.
    b) Realização de projeto de desenvolvimento de software.

  • 7 ECTS

    Tecnologias, Sistemas e Redes Informáticas

    ECTS
    7
    Período
    1º semestre
    Responsável
    Pedro França
    Teórica
    1 hora
    Prática laboratorial
    4 horas

    O estudante deverá ser capaz de:
    1. Compreender a organização funcional de um computador
    2. Usar a representação de informação e as operações lógicas.
    3. Compreender a função, estrutura e serviços do sistema operativo.
    4. Utilizar shell scripts para resolver problemas de pequena escala
    5. Conhecer equipamentos e estruturas de redes de computadores
    6. Compreender aplicações, protocolos e sistemas de suporte em redes de computadores

    1.Organização de um computador
    - O sistema computacional como uma hierarquia de máquinas virtuais
    - Introdução à organização de Von Neumann: componentes da arquitetura Von Neumann
    2. Estrutura e operação de sistemas operativos
    - Funções, tipos e evolução histórica dos sistemas operativos;
    - Estrutura dos sistemas operativos: sistemas monolíticos, Sistemas por camadas
    - Interação com o Sistema Operativo; Abstrações fundamentais, processo e ficheiro; Escalonamento da UCP; Critérios de Escalonamento e algoritmos de escalonamento
    3. Programar e utilizar sistema operativos
    - Conceito de shell; redirecionamento, pipes e filtros, Meta caracteres e expressões regulares; Controle de Processos; Programação com Shell Scripts
    4. Redes de computadores: Comunicação em rede; Arquiteturas de redes; Tecnologias de rede; Pilha de protocolos TCP/IP; Protocolos de aplicação.

1º ano | 2º semestre

  • 5 ECTS

    Administração de Sistemas

    ECTS
    5
    Período
    2º semestre
    Responsável
    Pedro França
    Teórica
    1 hora
    Prática laboratorial
    3 horas

    1-Entender os requisitos operacionais para um datacenter. Planear, instalar e manter um centro de dados usando virtualização de servidores e de armazenamento;
    2-Instalar servidores Windows/linux com registo centralizado de utilizadores e grupos. Perceber a os diferentes tipos de servidores e sua integração;
    3 - instalar servidores de domínio do AD. Gerir utilizadores, grupos, discos (Mirror,
    Span). Gerir serviços de rede;
    4 - Criar scripts para tarefas automatizadas e agendar tarefas. Configurar o registo centralizado de eventos;
    5 - Integrar sistemas Linux e Windows;
    6 - Instalar e gerir sistemas centralizados de monitorização e alertas. Segurança, gestão de backups locais e na Cloud

    Teóricas
    1. Administração de Sistemas
    - Funções do administrador. Datacenters. virtualização de hardware e de
    armazenamento (SAN).
    2. Administração da Infra-estrutura - Continuidade de Negócio
    - Plano de Continuidade de Negócios (BCP).
    Recuperação de Desastres e Plano de Recuperação de Desastres (DRP).
    Norma Europeia NDIS2
    3. Técnicas de segurança e procedimentos
    - Segurança informática. Autenticação e autorização (sistemas AAA). Kerberos.
    GSS-API. SASL. TLS. Segurança de rede. Firewalls. IPSEC. Redes privadas
    virtuais.
    4. Qualidade de Serviço (QoS)
    5 - planeamento e projeto de um Sistema de Informação;
    Prática - laboratório
    1 Gestão de armazenamento/equipamentos datecenter
    2 Administração de servidores Windows - Gestão de utilizadores e grupos (AD-DC - LDAP), serviços de rede e ferramentas administrativas. Administração do domínio Windows, politicas de grupo, Powershell. Integração Linux / Windows.
    3. Segurança, DMZ-Firewall
    4. desenvolvimento de um projeto - servido

  • 6 ECTS

    Desenvolvimento Iterativo e Ágil de Software

    ECTS
    6
    Período
    2º semestre
    Responsável
    Nuno Fonseca
    Teórica
    1 hora
    Prática laboratorial
    4 horas

    Os objetivos que os alunos deverão atingir no final desta UC são:
    CO1. Compreender um processo de desenvolvimento de software
    CO2. Compreender e aplicar um processo de desenvolvimento de software iterativo e incremental, usando artefactos e notações apropriadas para descrever o problema, a análise, o projeto e a solução
    CO3. Compreender e aplicar metodologias de análise e projeto orientado a objetos, incluindo princípios e padrões de projeto simples
    CO4. Aplicar metodologias e ferramentas para passar do projeto para uma implementação

    CP1. Processo de desenvolvimento de software
    - Métodos Iterativos e Incrementais
    - Métodos Ágeis
    - Orientado por testes
    - trabalho colaborativo
    - revisão de código
    - programação em pares
    CP2. Design OO
    - Domain Driven Design
    - principios SOLID
    - Padrões GRASP + GoF
    - Aplicação de UML no design
    - Introdução aos padrões arquitecturais
    CP3. Implementação
    - Teste
    - Controlo de Versões
    - ORM

  • 4 ECTS

    Estatística

    ECTS
    4
    Período
    2º semestre
    Responsável
    MARIO PASCOAL
    Teórica
    1 hora
    Teórico-prática
    2 horas

    As aulas têm por propósito e objetivo desenvolver capacidades e competências no domínio e aplicação de conceitos relacionados com a distribuição e inferência estatística.
    1- calculo de probabilidade;
    2. analise da distribuição de probabilidade para variáveis discretas e contínuas;
    3. interpretar e aplicar modelos probabilísticos na resolução de problemas;
    4.analisar e justificar as decisões que resultam de inferências estatística.

    1 - Distribuições de probabilidade
    1.1 Distribuições discretas
    1.2 Distribuições contínuas
    2- Amostragem e distribuições amostrais
    3- Estimação de parâmetros: Intervalos de confiança

  • 10 ECTS

    Laboratório Projeto II

    ECTS
    10
    Período
    2º semestre
    Responsável
    Roberto Silva
    Teórico-prática
    2 horas
    Orientação tutorial
    6 horas

    Esta UC tem dois componentes:
    1. Introduzir aos estudantes a gestão de projetos de software, principalmente em abordagens ágeis;
    2. Introduzir aos estudantes um projeto de desenvolvimento de software em curso, em que vão necessitar de trabalhar numa grande equipa, utilizar abordagens ágeis e aplicar as melhores práticas e técnicas.
    O estudante deverá ser capaz de:
    1. Aplicar técnicas de "scoping" e gestão de tempo no contexto da gestão ágil de projetos;
    2. Desenhar e implementar novas funcionalidades numa aplicação existente;
    3. Aplicar princípios sólidos para a operação, evolução e implantação de um sistema de software;
    4. Preparar documentação técnica e comunicar eficazmente com os membros da equipa, clientes e supervisores.

    1. Gestão de projetos
    1.1 Gestão de projetos com Scrum e PMBOK
    1.2 Planeamento e controlo
    2. Desenvolvimento de Projeto de Software em equipa, utilizando abordagens ágeis e aplicando as melhores práticas e técnicas.

  • 5 ECTS

    Tópicos de Base de Dados

    ECTS
    5
    Período
    2º semestre
    Responsável
    André Mendes
    Teórica
    1 hora
    Prática laboratorial
    3 horas

    O estudante deverá ser capaz de :
    O1. Entender os conceitos relacionados com os Sistemas de Gestão de Bases de Dados (SGBD) em particular base de dados relacional e base de dados distribuídas;
    O2. Adquirir e consolidar os conhecimentos sobre modelação de dados;
    O3. Adquirir conhecimentos para resolver problemas através da construção de consultas de base de dados utilizando SQL (Structured Query Language);
    O4. Projetar uma base de dados para um projeto, tendo em conta os requisitos funcionais e suas restrições.

    P1. CONCEITOS GERAIS DE BASE DE DADOS
    1.1. SI nas organizações
    1.2. Base de Dados e Sistemas de Gestão de Base de Dados(SGBD)
    1.3. Concepção de Base de Dados
    P2. MODELAÇÃO DE DADOS
    2.1. Processo de Design
    2.2. Modelação de Dados
    2.3. Dependências funcionais e Normalização
    P3. MODELO RELACIONAL
    3.1. Caraterísticas Básicas
    3.2. Regras de Integridade
    3.3. Álgebra Relacional
    3.4. Linguagem SQL
    P4. GESTÃO DE TRANSAÇÕES
    4.1. Transações
    4.2. Controle de Concorrência
    4.3. Recuperação de Dados
    P5. INDEXING E HASHING
    P6. PROGRAMAÇÃO EM BASES DE DADOS
    6.1. Conceitos e construtores
    6.2. Implementação de código

2º ano | 1º semestre

  • 6 ECTS

    Desenvolvimento / Operação de Software

    ECTS
    6
    Período
    1º semestre
    Responsável
    Bruno Santos
    Teórica
    1 hora
    Prática laboratorial
    3 horas

    O objetivo geral desta UC é que os alunos sejam capazes de compreender e gerir o ciclo de vida de um produto de software. Assim, os principais conteúdos da UC estão relacionados com a integração contínua e a abordagem de entrega contínua de software.
    Esta UC tem como alvo o estudante com conhecimentos de programação Java / C#, e assume que o aluno tem conhecimentos básicos de Linux ao nível de utilização e operações via linha de comandos. A UC introduz vários aspetos relacionados com sistemas e infraestruturas de computação como Virtualização, Containers e Computação na Cloud, assim como utilização avançada de sistemas de controle de versões. Em termos de conteúdos, o foco da UC são ferramentas de construção, o servidor de integração contínua e os sistemas de gestão de configuração.
    Os estudantes aplicam estes conhecimentos para levar a cabo várias práticas de DevOps:
    (i) Infraestrutura como código;
    (ii) Automação de testes;
    (iii) Integração contínua;
    (iv) Implantação contínua.
    Estas práticas são introduzidas nas aulas e o estudante desenvolve os seus conhecimentos através de exercícios práticos, assim como no âmbito de um projeto de software (paralelo às aulas desta UC) no qual é esperado que os alunos apliquem práticas de DevOps.

    A UC apresenta os seguintes tópicos principais:
    - Controlo de versões (~10%);
    - Ferramentas e linguagens de construção de software (~15%);
    - Aspetos de sistemas e infraestrutura de computacional Virtualização, Container e computação na Cloud (~20%);
    - Integração e entrega continuas e ferramentas de suporte (~30%);
    - Técnicas de gestão de infraestrutura, na automação de gestão de configurações. (~25%);

  • 6 ECTS

    Desenvolvimento de Software Orientado a Serviços

    ECTS
    6
    Período
    1º semestre
    Responsável
    Nuno Fonseca
    Teórica
    1 hora
    Prática laboratorial
    4 horas

    No final desta UC, o estudante deverá ser capaz de:
    CO1. Analisar os conceitos e princípios associados a design de arquiteturas de sistemas de software distribuídos e descentralizados (DDSS)
    CO2. Analisar os requisitos e conceitos dum sistema de software
    CO3. Selecionar (de repositórios) o estilo e padrões de design e arquitetura para desenhar DDSS
    CO4. Desenhar (design) o DDSS pela adoção de estilos e padrões de design e arquitetura
    CO5. Implementar DDSS de acordo com os modelos de design
    CO6. Aplicar de boas práticas no desenvolvimento de sistemas de software

    CP1. Introdução a Arquitetura de Software
    CP2. Requisitos, Análise e Design de DDSS
    - Elicitação e modelação de requisitos funcionais e não funcionais
    - Análise e modelação de conceitos e processos de negócio
    - Design e modelação de DDSS
    - Vistas arquiteturais
    CP3. Estilos e Padrões de arquitetura de software para DDSS
    - Patterns of Enterprise Application
    - Processo de seleção de estilos e padrões
    - Combinação de padrões
    CP4. Plataformas de software para implementação de DDSS
    - HTML, JScript, AJAX
    - Web Services
    - .Net/PHP
    - NodeJS
    - JavaScript
    - Angular

  • 9 ECTS

    Laboratório Projeto III

    ECTS
    9
    Período
    1º semestre
    Responsável
    Roberto Silva
    Teórico-prática
    2 horas
    Orientação tutorial
    5 horas

    Esta UC tem dois componentes:
    Aplicar técnicas de desenvolvimento ágil de software em ambiente de projeto;
    Desenvolver em equipa um projeto de 3 meses, usando metodologias ágeis e aplicando os conceitos adquiridos nas UC's já completadas.
    O estudante deverá ser capaz de:
    i) Compreender e aplicar os papéis e processos presentes na metodologia SCRUM;
    ii) Analisar, modelar, implementar e testar um projeto, com base num conjunto de requisitos iniciais;
    iii) Desenvolver software de forma modular, preparado para receber incrementos e melhorias.

    I. Módulo de Gestão de Projetos
    I.1 - Gestão de projetos com SCRUM
    I.2 - Controlo de código com GIT FLOW
    II. Desenvolvimento de um projeto utilizando a metodologia Scrum em Sprints semanais
    III. Testes de integração e unitários

  • 4 ECTS

    Processos das Organizações

    ECTS
    4
    Período
    1º semestre
    Responsável
    Artur Sousa
    Teórica
    1 hora
    Teórico-prática
    2 horas

    OG1 - No final da uc o aluno deverá demonstrar ter adquirido um conhecimento genérico sobre a estrutura e o funcionamento de uma organização.
    OG2 - Deverá ainda demonstrar ser capaz de integrar os conhecimentos adquiridos nas tarefas de técnicas da área informática (trabalho em equipa e compreensão dos processos de gestão das organizações) que frequentemente são requeridas no exercício da atividade profissional.
    No final da uc, o aluno deve ser capaz de demonstrar:
    OE1 - conhecer e compreender os conceitos apresentados nos vários capítulos do programa (BL 2)
    OE2 - reconhecer e caracterizar as várias vertentes em causa num problema de gestão operacional (relação com o cliente, relação com os restantes departamentos, gestão de pessoas, etc.) (BL3)
    OE3 - avaliar a importância e o impacto de cada uma destas vertentes, criticar as ações dos vários agentes da situação em causa e propor soluções que integrem toda as vertentes do problema em causa (BL4)

    S1: Princípios da gestão
    S2: Tomada de decisão
    S3: Liderança
    S4: Gestão de pessoas
    S5: Gestão financeira
    S6: Planeamento
    S7: Organização e estrutura organizacional
    S8: Controlo
    S9: Marketing
    S10: Gestão da qualidade
    S11: Motivação e comunicação
    S12: Gestão Produção e Stocks
    S13: Produtividade e gestão de carreira

  • 5 ECTS

    Segurança de Aplicações e Dados

    ECTS
    5
    Período
    1º semestre
    Responsável
    Nuno Fonseca
    Teórica
    2 horas
    Prática laboratorial
    2 horas

    Esta unidade curricular visa incutir uma atitude de "desconfiança construtiva" na
    conceção, desenho, desenvolvimento e operação de sistemas que incorporem
    tecnologias informáticas, atitude essa que será muito útil nas restantes unidades
    e na vida pessoal e profissional. Espera-se que o estudante saiba aplicar os
    instrumentos da engenharia da segurança informática de modo efetivo,
    respeitando os aspetos profissionais e éticos na utilização das soluções
    existentes. Tendo em conta a sensibilidade e relevância dos temas abordados, o
    estudante deverá manter-se ao corrente dos desenvolvimentos desta área.
    Após completarem com sucesso esta unidade curricular, os estudantes serão
    capazes de:
    C01:
    Aplicar/usar configurações de redes e software de comunicação - B3
    Avaliar/testar a presença web de uma organização - B4
    CO2:
    Aplicar/usar conceitos e métodos de segurança de informação - B3
    CO3:
    Analisar/escolher programação segura de software - B3
    C04:
    Aplicar/usar criptografia - B2
    CO5:
    Avaliar/testar redes seguras com técnicas de ataque/defesa - B4
    C06:
    Classificar/explicar controlos de acesso, registo e monitorização - B1
    C07:
    Explicar/resumir planos de segurança ou contingência - B1
    C08:
    Descrever o estado da arte e discutir o impacto dos desenvolvimentos ocorridos
    - B1

    O prgorama está dividido em módulos (16 semanas, T-50%, PL-50%)
    CP1. Visão geral da segurança informática (estado e tendências das tecnologias
    ligadas à segurança informática). 10%
    CP2. Criptografia aplicada (teoria; casos de aplicação; boas práticas). 24%
    CP3. Programação segura (segurança informática na programação e engenharia
    de software seguro; falhas de programação, consequências e relevância). 24%
    CP4. Comunicações seguras (vulnerabilidades das redes TCP/IP; tecnologias de
    segurança em rede; perímetros de confiança). 16%
    CP5. Controlo de acesso. 16%
    CP6. Monitorização de sistemas. 16%
    CP7. Planos de segurança e de contingência. 2%
    CP8. Privacidade e Proteção de Dados Pessoais (RGPD). 1%

2º ano | 2º semestre

  • 30 ECTS

    Estágio

    ECTS
    30
    Período
    2º semestre
    Responsável
    Luiz Faria
    Orientação tutorial
    3,3 horas
    Estágio
    40 horas

    Esta unidade curricular foi desenhada para a aplicação e verificação dos conhecimentos, capacidades e competências que o técnico superior profissional em Desenvolvimento Ágil de Software deve possuir.
    Esta UC tem por objetivo o desenvolvimento de um Estágio numa empresa ou organização, promovendo a recolha de informação pertinente, a seleção fundamentada dos métodos de abordagens, o desenho e implementação duma solução para o problema proposto, bem como a posterior análise crítica dos resultados.
    O estudante será capaz de conceber-desenhar-implementar-operar soluções informáticas com complexidade média em organizações modernas, gerando valor acrescentado e evidenciando uma atitude pessoal adequada, madura e racional.
    No final desta unidade curricular o aluno deve ser capaz de:
    CO1. Interpretar o problema em estudo, aplicando os conhecimentos adquiridos e adotando boas práticas de desenvolvimento ágil de software
    CO2. Sintetizar o conhecimento existente no âmbito do problema em estudo
    CO3. Identificar, analisar e avaliar diferentes abordagens para a resolução do problema. Reconhecer a importância das restrições não técnicas - sociais, de saúde e segurança, ambientais, económicas e industriais.
    CO4. Desenhar uma solução para o problema, adotando boas práticas de desenvolvimento ágil de software
    CO5. Construir a solução para o problema aplicando boas práticas de desenvolvimento ágil de software
    CO6. Avaliar a solução desenhada/implementada aplicando boas práticas de desenvolvimento ágil de software
    CO7. Descrever e apresentar de forma rigorosa os processos e resultados dos pontos anteriores.

    O trabalho a realizar durante o estágio é definido de forma individual para cada aluno, e será enquadrado no contexto da empresa em que o estágio for realizado.

 

4 semestres letivos

120 unidades ETCS

Em Ermesinde, o curso é lecionado na Escola Secundária, em horário pós-laboral.

Em Santa Maria da Feira, o curso é lecionado na Escola Secundária, em horário pós-laboral.

 

Horário Pós-laboral

De segunda a sexta-feira, a partir das 18h10

 

Registo Legal

Despacho

Nº 6839/2021 pub. no DR 133 de 12-07-2021

Registo DGES

R/CR 3.2/2018

Saídas profissionais:

  • Elaboração de projetos de desenvolvimento de aplicacações informáticas segundo metodologias ágeis;
  • Análise de problemas e sistemas complexos e tradução para o contexto de desenvolvimento de aplicações informáticas;
  • Desenho arquiteturas de aplicações e de sistemas informáticos e estruturas de suporte a gestão de dados;
  • Desenvolvimento, teste, instalação de aplicações informáticas baseadas em servços;
  • Coordenação de equipas de desenvolvimento de aplicações informáticas, em contextos sujeitos a alterações imprevisiveis; 
  • Planeamento e gestão de ferramentas informáticas de suporte ao desenvolvimento de aplicações informáticas.

 

Destinatários:

  • Titulares de um curso de Ensino Secundário, Ensino Secundário Profissional de Nível 4 ou de habilitação legalmente equivalente;
  • Titulares de um diploma de especialização tecnológica (CET);
  • Titulares de um grau de Ensino Superior que pretendam a sua requalificação profissional;
  • Aprovados nas provas especialmente destinadas a avaliar a capacidade para frequência do Ensino Superior dos maiores de 23 anos.

 

Candidaturas (2026/2027)

1.ª Fase: 20 julho a 21 agosto 2026

2.ª Fase: 21 a 25 setembro 2026

 

Local de Formação e Vagas (1ª Fase):  Santa Maria da Feira: 20  |  Ermesinde: 20 

 

O Edital do Concurso de Acesso aos Cursos Técnicos Superiores Profissionais – Edição 2025/2026 está disponível em Documentos na página de candidaturas

 

Propinas (2026/27):

  • Estudantes nacionais e equiparados: 495€/ano
  • Estudantes internacionais: 2000€/ano (possibilidade de desconto para os nacionais de um estado membro da CPLP)

(Possibilidade de pagamento faseado)

 

Voltar ao topo