Licenciatura | Engenharia de Redes e Segurança Informática
Introdução à Programação
Área Científica
Ciências Informáticas
Duração
Semestral
ECTS
6
Horas de Contacto Teórico Práticas
48h
Objetivos de aprendizagem e a sua compatibilidade com o método de ensino
O1 – Compreender conceitos básicos de programação, como algoritmo e abstração;
O2 – Conhecer paradigmas de programação;
O3 – Desenvolver capacidades de abstração;
O4 – Mobilizar conceitos abstratos para a sua aplicação em situações concretas;
O5 – Conhecer os principais mecanismos da linguagem de programação Python;
O6 – Desenvolver programas em Python.
Conteúdos programáticos
1.Programação
1.1 Programa
1.2 Algoritmo
1.3 Sintaxe e Semântica
1.4 Linguagens de Programação; Linguagens de alto nível e de baixo nível
1.5 Python
2.Tipos de Dados Elementares e Operadores
2.1. Tipos numéricos
2.2. Booleanos
2.3. Operadores Lógicos e Aritméticos
3.Estruturas e Funções
3.1. Definição e motivação
3.2. Abstração procedimental
3.3. Programas e instruções
3.4. Input e output
3.5. Controlo de Fluxo: Estruturas de Seleção e Repetição
3.6. Âmbito: Variáveis Globais; Variáveis Locais
3.7. Funções
3.8. Passagem de parâmetros
3.9. Módulos
4.Funções avançadas
4.1. Função Recursiva: definição e aplicações
4.2. Função Iterativa: definição e aplicações
4.3. Recursividade e Iteratividade: exemplos
4.4. Funções de Ordem Superior
4.5. Programação Funcional
5.Tipos de Dados Complexos
5.1. Arrays
5.2. Tuplos
5.3. Listas
5.4. Dicionários
6. Introdução à Programação Orientada a Objetos
Demonstração da coerência dos conteúdos programáticos com os objetivos de aprendizagem da unidade curricular.
Os conteúdos programáticos de Introdução à Programação têm em conta os resultados esperados relativamente às competências e capacidades adquiridas pelos estudantes no que diz respeito a um potencial primeiro contacto com conceitos de programação. Estes conteúdos iniciam-se com a introdução à programação de um ponto de vista conceptual e a motivação para a necessidade de recorrer à programação como uma ferramenta para a criação de soluções para problemas do mundo real. Os estudantes terão contacto com os principais conceitos relativos a tipos de dados, suas estruturas, agrupamentos e abstrações que permitem a criação de programas. Para que seja possível concretizar estes conceitos e mecanismos, será utilizada a linguagem de programação Python que, sendo uma linguagem de alto nível, orientada a objetos, de tipificação dinâmica e multi-paradigma, é adequada a fins académicos e, simultaneamente, amplamente utilizada em meio empresarial e, portanto, a escolha lógica para o contexto desta UC
Metodologias de ensino e de aprendizagem específicas da unidade curricular articuladas com o modelo pedagógico.
Esta unidade curricular tem uma natureza teórico-prática. Estão previstas 48 horas de contacto. A componente teórica desenvolve-se através de apresentações feitas pelo docente em sala de aula, complementada quando apropriado com outros elementos pedagógicos, que estimulem o interesse e participação dos alunos e a interação docente/discentes. A componente prática concretiza-se através de exercícios de aplicação a desenvolver na aula com a supervisão do docente e utilização de métodos interativos que fomentem a discussão de uma solução base e de possíveis alternativas.
Em suma, a metodologia de ensino e aprendizagem encontra-se consubstanciada nos princípios enumerados no modelo pegadógico de ensino do ISTEC (Aprendizagem Significativa, Motivação, Orientação, Interação, inclusão e Aprendizagem Centrada no Estudante).
Demonstração da coerência das metodologias de ensino e avaliação com os objetivos de aprendizagem da unidade curricular.
A metodologia centrar-se-á na interatividade entre os vários agentes educativos, começando pelo docente e estendendo-se a todos os estudantes, envolvendo os estudantes no processo de ensino aprendizagem de forma crítica e ativa. Com uma abordagem de debate e utilizando os documentos de apoio inerentes às temáticas abordadas, espera-se que exista uma forte motivação e participação por parte dos estudantes nas atividades a desenvolver. Assim, utilizando metodologias ativas em que o estudante controla a sua aprendizagem e participa diretamente nela, estamos em crer que poderemos atingir os objetivos propostos de uma forma mais eficiente e aprofundada.
Dada a especificidade da unidade curricular serão utilizados exemplos reais e atuais que contextualizem os conteúdos programáticos.
Deste modo procura-se estimular o trabalho autónomo dos estudantes e desenvolver os seus sentidos e pensamentos críticos sobre as questões que o envolvem, direta ou indiretamente.
Com estas metodologias crê-se uma boa execução dos conteúdos programáticos e como consequência a consecução com sucesso dos objetivos da unidade curricular.
Bibliografia
I. Dominte, “Web API Development for the Absolute Beginner: A Step-by-step Approach to Learning the Fundamentals of Web API Development with .NET 7”, Apress, 2023.
M. Price, “Modern Cross-Platform Development Fundamentals: Start building websites and services with ASP.NET Core 7, Blazor, and EF Core 7”, Packt, 2022.
J. Chan, “Python API Development Fundamentals: Develop a full-stack web application with Python and Flask”, Packt, 2019
J. Albahari, “C# 10 in a Nutshell: The Definitive Reference”, O’Reilly, 2022
A. Stellman, “Head First C#, 4e: A Learner’s Guide to Real-World Programming with C# and .NET Core”, O’Reilly, 2021
INTERNET:
Acesso a publicações da especialidade, gratuitamente, através da rede SPRINGER:
https://link.springer.com/