IPLUSO 22254
Programação Estruturada
Cibersegurança (T) (IPLUSO)
-
ApresentaçãoPresentationOs ciberataques podem assumir muitas formas, usando técnicas que variam desde a engenharia social até à utilização de programas concebidos especificamente para esse efeito. Para um profissional de cibersegurança, os conhecimentos na área da programação são fundamentais para identificar vulnerabilidades nas aplicações, compreender de que forma estas podem ser exploradas, compreender os objetivos dos programas, e mesmo perceber se são, ou não, maliciosos. É nesse contexto que esta UC se debruça sobre o tema da programação de computadores, abordando os conceitos básicos da programação estruturada presentes na generalidade das linguagens de programação. A UC usa a linguagem C. Criada em 1972, e usada para desenvolver os Sistemas Operativos mais populares, continua a ser a linguagem de eleição na área da programação de sistemas. Dado o seu sucesso, influenciou ainda um número significativo de linguagens mais recentes, cuja aprendizagem pode ser potenciada pelos conhecimentos aqui adquiridos.
-
ProgramaProgrammeConceitos Básicos Arquitetura computacional básica Algoritmos Linguagens de programação como forma de expressar algoritmos Programas Desenvolvimento de programas Etapas do desenvolvimento Ferramentas de desenvolvimento Ambientes de desenvolvimento integrados A linguagem de programação C Estrutura dos programas Elementos da linguagem Tipos, constantes e variáveis Expressões e atribuições Entradas e saídas na consola Programação estruturada Instruções de seleção Instruções de repetição Instrução composta Funções Visibilidade e tempo de vida das variáveis Vetores e Matrizes Cadeias de caracteres Apontadores Argumentos de funções passados por valor e por referência Entradas/saídas com ficheiros Estruturas Biblioteca de funções standard do C Programas em C Implementação de algoritmos simples Estrutura procedimental de um programa Metodologias de desenvolvimento
-
ObjectivosObjectivesApós concluir esta UC os alunos deverão: Compreender o conceito de algoritmo, nomeadamente quando aplicado à programação de computadores. Ter adquirido competências no domínio da conceção de algoritmos para a resolução de problemas de pequena e média complexidade. Ter aprendido os conceitos básicos associados à programação de computadores. Estar familiarizados com a utilização de uma linguagem de programação, e ter adquirido experiência prática na leitura e escrita de programas. Estar familiarizados com as ferramentas de desenvolvimento de software mais comuns e ter experiência de utilização de um ambiente de desenvolvimento integrado para a escrita, teste e depuração de programas. Entender a importância da documentação, estilo de escrita e, em geral, da adoção de convenções que garantam a legibilidade dos programas. Ter adquirido capacidades para a utilização duma linguagem de programação para a resolução de problemas específicos com recurso a um computador.
-
BibliografiaBibliographyKernighan, B. and Ritchie, D. - The C Programming Language. 2nd Edition. Prentice Hall, 1988.ISBN: 9780131103627. Marques de Sá, J. P. - Fundamentos de Programação Usando C. FCA, 2004. ISBN:9789727224753.
-
MetodologiaMethodologyUtilização da metodologia de aprendizagem baseada em projetos, através da qual os alunos são estimulados a desenvolver autonomamente soluções para problemas que lhes são colocados e que abordam a generalidade dos tópicos lecionados. Esta metodologia prevê a realização de um "produto", que representa uma solução para o problema proposto.
-
LínguaLanguagePortuguês
-
TipoTypeSemestral
-
ECTS6
-
NaturezaNatureObrigatório
-
EstágioInternshipNão