Computação 1 (2019.2)

Curso introdutório de Python versão 3.7.

  • Professor: Hugo Nobrega

  • Monitora: Grace Passos Freitas (gr***pa****fr*****@poli.ufrj.br – os asteriscos estão escondendo o nome completo da monitora!)

  • Grupo de Whatsapp: https://bit.ly/2ko1Lv9

Bibliografia

  • PythonUFRJ (Python 3.7), material desenvolvidos por professores do DCC/UFRJ.

Listas de exercícios

Até a Lista 3, o funcionamento é o seguinte:

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 a monitora. Indique no email os nomes dos componentes do seu grupo e respeite o prazo limite de cada lista!

A partir da Lista 4, o funcionamento é o seguinte:

As listas serão feitas e enviadas pelo site MachineTeaching, desenvolvido pela Laura Moraes (pesquisadora de doutorado da COPPE em Inteligência Artificial – email lm***es@cos.ufrj.br [substitua os asteriscos pelo nome correto!]). Para se cadastrar, acesse o menu na parte superior da tela e escolha a opção "Sign up". No formulário, escolha "Hugo" como Professor e "Comp 1 - BCMT 2 - 2019/2" como Class. Caso encontre problemas no sistema, por favor informe a Laura pelo email ou pelo chat no canto da tela no site!

ListaExercíciosData limite para entrega
Lista 11, 2, 7, 11, 1214 de agosto às 23:59
Lista 23, 4, 5, 821 de agosto às 23:59
Lista 32, 4, 6, 728 de agosto às 23:59
Lista 42, 4, 5, 9, 114 de setembro às 23:59
Lista 5toda12 de setembro às 9:59
Lista 6toda19 de setembro às 9:59
Lista 7toda (exceto a Questão 3)17 de outubro às 9:59
Lista 8toda31 de outubro às 9:59
Lista 9toda7 de novembro às 9:59
Lista 10toda. Atenção! Se a sua questão 6 está sendo rejeitada pelo MachineTeaching apenas por uma questão de ordenação do resultado, sua solução está correta e será aceita!14 de novembro às 9:59
Lista 11toda. Atenção! A lista deve ser enviada por email para a monitora (não está no MachineTeaching)

Observação: para a Lista 2, você pode usar a função max, que recebe uma quantidade qualquer de números como parâmetros e retorna o maior deles:

>>> max(1,2,6,3)
6
>>> max(100,1000,5,-55,6,23)
1000

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).

  • repl.it: para escrever e executar programas de Python no navegador (usando a internet), sem precisar instalar o Python no computador (em inglês).

Cronograma planejado

DataAtividade planejadaLocal
8 de agostoAula 0: IntroduçãoLEP 2
8 de agostoAula Teórica 1: Introdução (cont.); Código visto em salaF3-002
15 de agostoAula Prática 1: Código visto em salaLEP 2
15 de agostoAula Teórica 2: Função; Código visto em salaF3-002
22 de agostoAula Prática 2: Código visto em salaLEP 2
22 de agostoAula Teórica 3: Tipos de dados, Strings, Estrutura Condicional; Código visto em salaF3-002
29 de agostoAula Prática 3: Código visto em salaLEP 2
29 de agostoAula Teórica 4: Variáveis e Atribuição, StringsF3-002
5 de setembroAula Prática 4: Código visto em salaLEP 2
5 de setembroAula Teórica 5: Manipulação de Strings, Tuplas e Listas; Código visto em salaF3-002
12 de setembroAula Prática 5: Código visto em salaLEP 2
12 de setembroAula Teórica 6: Listas; Código visto em salaF3-002
19 de setembroAula Prática 6: Código visto em salaLEP 2
19 de setembroRevisão para P1F3-002
26 de setembro?LEP 2
26 de setembroPROVA 1; Glossário de FunçõesF3-002
3 de outubroSEM AULA
3 de outubroSEM AULA
10 de outubroDiscussão da P1LEP 2
10 de outubroAula Teórica 7: Estrutura de Repetição com Teste de Parada: while; Código visto em salaF3-002
17 de outubroAula Prática 7: Código visto em salaLEP 2
17 de outubroAula Teórica 8: Estrutura de Repetição: for; Código visto em salaF3-002
24 de outubroSEM AULA (Semana de Integração Acadêmica)
24 de outubroSEM AULA (Semana de Integração Acadêmica)
31 de outubroAula Prática 8; Código visto em salaLEP 2
31 de outubroAula Teórica 9: Laços Aninhados e Matrizes; Código visto em salaF3-002
7 de novembroAula Prática 9; Código visto em salaLEP 2
7 de novembroAula Teórica 10: Estrutura de Dados: Dicionário; Código visto em salaF3-002
14 de novembroAula Prática 10; Código visto em salaLEP 2
14 de novembroAula Teórica 11: Entrada e Saı́da e Programa Principal; Código visto em sala: 1 2 3 4F3-002
21 de novembroAula Prática 11; Código visto em sala: Jogo da Memória & Aproximação de piLEP 2
21 de novembroRevisão para P2 e P3; Código visto em sala: Revisão (geral) da P2/P3 e Resolução do Modelo de P2F3-002
28 de novembro?LEP 2
28 de novembroPROVA 2F3-002
5 de dezembroDiscussão da P2LEP 2
5 de dezembroPROVA 3F3-002
12 de dezembro?LEP 2
12 de dezembro?F3-002

Método de avaliação

3 provas 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 à monitora até o prazo combinado. A monitora é responsável pela correção das listas.

A média teórica $M_T$ é a média aritmética simples das melhores notas das provas, descartando a pior nota das provas. A média prática $M_P$ é a média aritmética simples das melhores listas de exercícios, descartando as duas piores notas das listas. A média final $M$ é a média ponderada entre $M_T$ (peso 4) e $M_P$ (peso 1). Se $M ≥ 5$, então aprovado. Se $M < 5$, então reprovado.

A segunda chamada só é direito para casos devidamente justificados dentro do prazo de 48 horas.