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 |
Atenção!
- Para resolver a lista 1, você precisa saber como uma função pode retornar vários valores. Isso é feito simplesmente separando os valores com vírgula. Veja o exemplo abaixo.
- Para resolver a questão 5 da lista 3, você não pode usar as funções min e max do Python.
- 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
Para os alunos que se inscreveram na disciplina recentemente, há listas 1 e 2 diferentes.
- Lista 1: Exercícios 1, 5, 6, 9 e 13 da Aula prática 1.
- Lista 2: Exercícios 1, 3, 4, 7 e 8 da Aula prática 2.
A data limite para entrega é 5 de abril às 23:59 por email para o professor.
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 ≤ 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.