Programação I / Introdução à Programação
João Pedro Pedroso
2024/2025
João Pedro Pedroso Programação I / Introdução à Programação 2024/2025 1 / 24
Programação I / Introdução à Programação
Primeiro curso de programação em diversas licenciaturas da Faculdade de
Ciências
João Pedro Pedroso Programação I / Introdução à Programação 2024/2025 2 / 24
Objetivos
Pretende-se que os estudantes:
1 Se familiarizem com a utilização de computadores pessoais com
sistema operativo da família GNU/Linux;
2 Aprendam a programar na linguagem Python e a executar os
programas num terminal;
3 Adquiram competência para codificar algoritmos elementares;
4 Adquiram bons hábitos de programação e de estruturação dos
programas;
5 Apreendam algumas estruturas de dados e algoritmos fundamentais;
6 Adquiram competências para testar e corrigir erros dos seus programas.
João Pedro Pedroso Programação I / Introdução à Programação 2024/2025 3 / 24
Resultados
1 Perceção do papel da programação na resolução de problemas na
licenciatura.
2 Domínio dos componentes básicos de uma linguagem de programação
recente.
3 Capacidade de escrever programas que permitam realizar objetivos
úteis.
4 Confiança no uso da linguagem Python e da biblioteca padrão.
João Pedro Pedroso Programação I / Introdução à Programação 2024/2025 4 / 24
Programa
1 Breve introdução aos computadores
2 Variáveis, expressões, instruções
3 Fluxo de um programa
4 Funções
5 Tipos de dados
6 O módulo numpy
7 Ficheiros
8 Módulos Python
9 Mais tipos de dados
10 Recursão
11 Classes e objetos
12 Exceções
João Pedro Pedroso Programação I / Introdução à Programação 2024/2025 5 / 24
Programação: O que é um programa?
Um programa é uma sequência de instruções que determina como efetuar
um cálculo
matemático
simbólico
...
Instruções básicas, presentes em praticamente todas as linguagens:
input → obter dados do teclado ou de outro dispositivo
output → escrever dados no ecrã ou noutro dispositivo
cálculo matemático → operações como adição e multiplicação
execução condicional → testar uma condição e decidir quais as
instruções a executar de acordo com o resultado
repetição → executar um conjunto de instruções repetidamente,
geralmente com pequenas variantes
Lingugem que iremos utilizar neste curso: Python
João Pedro Pedroso Programação I / Introdução à Programação 2024/2025 6 / 24
A linguagem de programação Python
Python: porquê?
1 fácil de programar
rapidez de programação
programas curtos e fáceis de ler
menos erros
2 portabilidade
podem ser executadas em computadores diferentes
3 atualmente, a linguagem mais utilizada em cálculo científico
4 biblioteca de apoio muito completa
João Pedro Pedroso Programação I / Introdução à Programação 2024/2025 7 / 24
João Pedro Pedroso Programação I / Introdução à Programação 2024/2025 8 / 24
Avaliação
Ver página no sistema de informação da Universidade:
https://sigarra.up.pt/fcup/pt/UCURR_GERAL.FICHA_UC_VIEW?
pv_ocorrencia_id=487782
Notar:
Condições de Obtenção de frequência:
Cálculo da nota / forma de avaliação
Docentes
Horário
João Pedro Pedroso Programação I / Introdução à Programação 2024/2025 9 / 24
Avaliação contínua:
Aulas práticas:
exercícios com correção automática, disponíveis apenas nos laboratórios
sistema funciona por níveis
só é corrigido o nível n + 1 depois de se ultrapassar o nível n
no total, haverá 10 níveis; é necessário ultrapassar pelo menos 5 para
obter frequência
Aulas teóricas:
exercícios com correção automática, disponíveis:
no final da aula (últimos 10 minutos)
no final do dia, para quem não pode ir à aula (das 20:00 às 20:15)
quizzes (questões de escolha múltipla em cada uma das aulas)
é necessário ter pelo menos 50% da cotação total para obter frequência
João Pedro Pedroso Programação I / Introdução à Programação 2024/2025 10 / 24
Exame
Feito no computador, com correção automática
Salas com a mesma configuração das práticas
Revisão pelo docente → pontuação pela elegância dos programas
João Pedro Pedroso Programação I / Introdução à Programação 2024/2025 11 / 24
Recursos para esta unidade curricular
SIGARRA: sistema de informação da Universidade
Páginas no Moodle (devem ter recebido convite)
links para textos de aulas teóricas e práticas
onde estudantes devem colocar perguntas
Página web cc1008 + cc1015 + ccinf1001
slides de aulas, folhas de exercícios
http://www.dcc.fc.up.pt/~jpp/P1
Codex: Página com exercícios das aulas teóricas
https://codex.dcc.fc.up.pt/cc1015t/
João Pedro Pedroso Programação I / Introdução à Programação 2024/2025 12 / 24
Aulas
Teóricas:
exposição da matéria
momentos para esclarecimento de dúvidas
"quizzes", perguntas simples sobre a matéria dada
exemplo: https://codex.dcc.fc.up.pt/cc1015t/
Práticas:
Início: esta semana
avaliação contínua: exercícios com correção automática
no máximo, 3 tentativas ("submissões") por cada exercício
cada semana tem vários exercícios de um nível
têm de se fazer para "passar" o nível
se não passar, repete na semana seguinte
como nos jogos
João Pedro Pedroso Programação I / Introdução à Programação 2024/2025 13 / 24
Laboratórios (aulas práticas)
Acesso:
Utilizar credenciais de acesso ao SIGARRA
aula prática desta semana: verificar acesso
Codex nos labs: só a partir da próxima semana
As credenciais serão as mesmas para o Codex
João Pedro Pedroso Programação I / Introdução à Programação 2024/2025 14 / 24
Bibliografia
Obrigatória
Peter Wentworth, Jeffrey Elkner, Allen B. Downey and Chris Meyers
How to Think Like a Computer Scientist: Learning with Python 3
download
Peter Wentworth, Jeffrey Elkner, Allen B. Downey, and Chris Meyers
How to Think Like a Computer Scientist, 2012 link
Complementar
Versão interativa desse livro (recomendada): link
Allen B. Downey Think Python link
João Pedro Pedroso Programação I / Introdução à Programação 2024/2025 15 / 24
TPC
Até à próxima semana:
responder ao quiz da aula 1 em
https://codex.dcc.fc.up.pt/cc1015t/
instalar Python no vosso computador
escolher e instalar um editor de texto
João Pedro Pedroso Programação I / Introdução à Programação 2024/2025 16 / 24
Instalação do Python:
Página de referência: https://www.python.org
seguir link Download
disponível para Linux, macOS, Windows, . . .
Outra possibilidade: anaconda
https://www.anaconda.com/download
por omissão, coloca todos os ficheiros em ‘home‘
não é necessário permissões de administrador
não interfere com outras versões de Python que possam estar instaladas
vem com muitas bibliotecas científicas pré-instaladas
João Pedro Pedroso Programação I / Introdução à Programação 2024/2025 17 / 24
Python
João Pedro Pedroso Programação I / Introdução à Programação 2024/2025 18 / 24
Instalação de um editor
Editor recomendado: Pyzo
https://pyzo.org
instruções para instalação: https://pyzo.org/start.html
Outras possibilidades:
idle (editor simples, distribuído com o Python)
atom: https://atom.io
emacs (utilização mais avançada)
PyCharm (IDE completo, incluindo debugger)
João Pedro Pedroso Programação I / Introdução à Programação 2024/2025 19 / 24
Instalação e utilização do Pyzo
Windows
Download + Install
MacOS
Download + Install
Para executar pela primeira vez:
João Pedro Pedroso Programação I / Introdução à Programação 2024/2025 20 / 24
João Pedro Pedroso Programação I / Introdução à Programação 2024/2025 21 / 24
João Pedro Pedroso Programação I / Introdução à Programação 2024/2025 22 / 24
João Pedro Pedroso Programação I / Introdução à Programação 2024/2025 23 / 24
Próxima aula
Introdução aos computadores
Iniciação à programação em Python
João Pedro Pedroso Programação I / Introdução à Programação 2024/2025 24 / 24