Curso introdutório de Python versão 3.7.
- Professor: Hugo Nobrega
- Monitor: Derick Ribeiro. Email: d*****r****** “arroba” poli.ufrj.br (os asteriscos estão escondendo exatamente o nome do monitor).
Bibliografia
- PythonUFRJ (Python 3.7), material desenvolvidos por professores do DCC/UFRJ.
Listas de exercícios
As listas de exercícios contarão como 20% da média final. Serão 11 listas, em média 1 por semana, e haverá o descarte das 2 ou 3 (a definir) piores notas; a nota prática será a média aritmética das notas não descartadas. As listas podem ser feitas em grupos de até três alunos cada, e a solução deve ser enviada como um arquivo em formato .py por email para o monitor. Indique no email os nomes dos componentes do seu grupo e respeite o prazo limite de cada lista!
Lista | Exercícios | Data limite para entrega |
---|---|---|
Lista 1 | 2, 3, 4, 11, 12 | 18 de março às 8:00 da manhã |
Lista 2 | 2, 4, 5, 6 | 25 de março às 8:00 da manhã |
Lista 3 | 2, 4, 5 (veja aviso abaixo), 8 | 1o de abril às 8:00 da manhã |
Lista 4 | 4, 6, 7, 10 | 8 de abril às 8:00 da manhã |
Lista 5 | 1, 3, 5, 6 | 24 de abril às 23:59 |
Lista 6 | 3, 7, 9, 10 | 29 de abril às 8:00 da manhã |
Lista 7 | 1, 3, 5, 7 | 13 de maio às 8:00 da manhã |
Lista 8 | 1, 4, 6, 10 | 3 de junho às 8:00 da manhã |
Lista 9 | 2, 5, 6 | 7 de junho às 23:59 |
Lista 10 | 2, 4, 6 | 12 de junho às 23:59 |
Lista 11 | 1, 2, 3, 4 (veja aviso abaixo) | 25 de junho às 23:59 |
- | - | - |
Lista 12 (extra!) | Exercício único | 5 de julho às 23:59 |
- Para resolver a questão 4 da lista 11, você deve receber a matriz do usuário elemento por elemento.
def soma_e_diferenca(n,m):
"""exemplo de função que retorna mais de um valor"""
return n+m, n-m
Links recomendados
- Python Tutor: ferramenta muito útil para praticar Python, com execução de código passo-a-passo e diagramas mostrando a evolução das variáveis.
- Python Brasil: tutoriais e listas de exercício em português. Contém diversos links para material extra em português e inglês.
- Documentação do Python: documentação oficial do Python (em inglês).
Cronograma planejado
Data | Local | Atividade planejada |
---|---|---|
11 de março | A–204 | Aula teórica 1a: Introdução ao Python 3 |
12 de março | H–228 | Aula teórica 1b: Primeiras definições |
18 de março | A–204 | Aula prática 1 |
19 de março | H–228 | Aula teórica 2: Função |
25 de março | A–204 | Aula prática 2 |
26 de março | H–228 | Aula teórica 3: Tipos de dados, strings, estrutura condicional |
1o. de abril | A–204 | Aula prática 3 |
2 de abril | H–228 | Aula teórica 4: Variáveis e atribuição, strings |
8 de abril | A–204 | Aula prática 4 |
9 de abril | H–228 | aula cancelada devido às chuvas |
15 de abril | A–204 | Aula teórica 5: Manipulação de strings, tuplas e listas |
16 de abril | H–228 | Aula teórica 6: Listas |
22 de abril | A–204 | sem aula |
23 de abril | H–228 | sem aula |
29 de abril | A–204 | Aula prática 5 e Aula prática 6 |
30 de abril | H–228 | Aula teórica 7: Estrutura de repetição while |
6 de maio | A–204 | Aula prática 7 |
7 de maio | H–228 | Revisão para P1 |
13 de maio | CCMN/F2-021 | Prova 1 (primeira parte) |
14 de maio | H–228 | Prova 1 (segunda parte) |
20 de maio | A–204 | Discussão da P1 |
21 de maio | H–228 | sem aula |
27 de maio | A–204 | Aula teórica 8: Estrutura de repetição for |
28 de maio | H–228 | Aula teórica 9: Laços aninhados e matrizes; Programa para copiar matrizes (visto em sala) |
3 de junho | A–204 | Aula prática 8 e Aula prática 9 |
4 de junho | H–228 | Aula teórica 10: Dicionário |
10 de junho | A–204 | Aula prática 10 |
11 de junho | H–228 | Aula teórica 11: Entrada e saída e programa principal |
17 de junho | A–204 | Aula prática 11 |
18 de junho | H–228 | sem aula |
24 de junho | A–204 | Aula teórica 12: Modularização Código |
25 de junho | H–228 | Revisão para P2 |
1o de julho | CCMN/F2-022 | Prova 2 (primeira parte) |
2 de julho | H–228 | Prova 2 (segunda parte) |
8 de julho | CCMN/F2-022 | Prova final/segunda chamada (parte única) |
9 de julho | H–228 | Prova final para segunda chamada (parte única) |
Método de avaliação
Duas provas, $P1$ e $P2$, e diversas listas de exercícios. As listas de exercícios podem ser feitas em grupo de até 3 pessoas; não serão aceitas soluções iguais ou muito semelhantes entre grupos diferentes! Cada grupo enviará cada lista por e-mail ao monitor até o prazo combinado. O monitor é responsável pela correção das listas.
A média teórica $M_T$ é a média aritmética simples das notas das duas provas. A média prática $M_P$ é a média aritmética simples das $n$ melhores listas de exercícios (a definir). A média parcial $M$ é a média ponderada entre $M_T$ (peso 4) e $M_P$ (peso 1). Se $7 \leq M $, então aprovado. Se $M < 3$, então reprovado. Se $3 \leq M < 7$, então o aluno vai para a prova final, $PF$. Neste caso, se a média aritmética simples entre $M$ e $PF$ for $\geq 5$, aprovado; caso contrário, reprovado.
Segunda chamada
Caso o aluno precise fazer segunda chamada da $P1$ ou da $P2$, a $PF$ servirá como segunda chamada; neste caso, se a média $M$ obtida satisfizer $3 \leq M < 7$, o aluno faz a prova $PF_2$. Caso o aluno faça $P1$ e $P2$ mas precise faltar a $PF$, então a sua prova final será a prova $PF_2$.
Se a média aritmética simples entre $M$ e $PF_2$ for $\geq 5$, aprovado; caso contrário, reprovado.