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: