para Dispositivos
Móveis
Curso Técnico Superior Profissional
Desenvolvimento para Dispositivos Móveis
Área Científica
481 – Ciências Informáticas
Duração
Semestral
Unidade Curricular
Introdução à Programação
ECTS
3
Horas de Contacto Teórico Práticas
50h
Objetivos da Aprendizagem
1. Desenvolver programas Python simples e eficientes;
2. Utilizar estruturas de dados e algoritmos adequados para otimizar o desempenho das aplicações;
3. Desenvolver código modular e reutilizável seguindo boas práticas de programação;
4. Implementar técnicas avançadas de programação em Python.
Conteúdos Programáticos
1. Introdução à Programação e Python.
1.1. Conceitos básicos de programação;
1.2. O que é programação?;
1.3. Paradigmas de programação;
1.4. Variáveis e tipos de dados;
1.5. Operadores e expressões;
1.6. Controlo de fluxo (if, else, for, while).
2. Introdução à linguagem Python.
2.1. Sintaxe básica da linguagem Python;
2.2. Características e vantagens do Python;
2.3. Ambiente de desenvolvimento para Python (IDLE, PyCharm).
3. Primeiros programas em Python.
3.1. Entrada e saída de dados;
3.2. Manipulação de strings;
3.3. Operações matemáticas e lógicas.
4. Estruturas de Dados e Algoritmos em Python.
4.1. Estruturas de dados básicas:
4.1.1. Listas;
4.1.2. Tuplas;
4.1.3. Dicionários;
4.1.4. Conjuntos.
5. Algoritmos e complexidade computacional.
5.1. Conceitos de algoritmo e eficiência;
5.2. Análise de tempo e espaço de algoritmos;
5.3. Técnicas de busca e ordenação.
6. Aplicações de estruturas de dados e algoritmos.
6.1. Simulação de problemas reais;
6.2. Resolução de problemas computacionais;
6.3. Otimização de código.
7. Funções e Programação Modular em Python.
7.1. Funções em Python;
7.2. Definição e uso de funções;
7.3. Argumentos e parâmetros;
7.4. Funções recursivas;
7.5. Programação modular em Python;
7.6. Modularização e organização de código;
7.7. Reutilização de código e princípios DRY;
7.8. Importação de módulos e bibliotecas;
7.9. Programação Orientada a Objetos em Python.
8. Conceitos de Programação Orientada a Objetos (POO).
8.1. Classes e objetos;
8.2. Atributos e métodos;
8.3. Herança e polimorfismo.
9. Aplicações de POO em Python.
9.1. Modelagem de problemas com classes e objetos;
9.2. Encapsulamento e abstração;
9.3. Reutilização de código e design orientado a objetos.
Bibliografia e recursos didáticos recomendados
Eric Matthes, Python Crash Course, 3rd Edition: A Hands-On, Project-Based Introduction to Programming, No Starch Press; 3rd edition (12 Jan. 2023).
CGP Books, Python Programming Guide for GCSE Computer Science, Coordination Group Publications Ltd (CGP) (13 April 2022).
Luciano Ramalho, Fluent Python: Clear, Concise, and Effective Programming, O’Reilly Media; 2nd edition (29 April 2022).
Philip Robbins, Python Programming for Beginners: The Complete Guide, Independently published (4 Feb. 2023).
Michal Jaworski, Expert Python Programming – Fourth Edition: Master Python by learning the best coding practices and advanced programming concepts, Packt Publishing; Fourth edition (28 May 2021).
Fabrizio Romano, Learn Python Programming: An in-depth introduction to the fundamentals of Python, Packt Publishing; Third edition (29 Oct. 2021).
INTERNET:
Acesso a publicações da especialidade, gratuitamente, através da rede SPRINGER: