Computação 1 (21-2)

Funcionamento da disciplina

O meio primário de comunicação entre os alunos, monitores e professores será pelo Discord, no grupo acima.

As aulas serão realizadas em modo síncrono, com aulas às terças e quintas de 10:00 às 12:00. Esses encontros serão gravados e disponibilizados para todos os alunos que queiram acompanhar em modo assíncrono. A escolha entre modo síncrono e/ou assíncrono é completamente livre para cada aluno, mas recomendamos que os alunos participem das aulas ao vivo sempre que possível.

Bibliografia

Faremos nossas próprias notas de aula, mas o material será principalmente baseado em:

Listas de Exercícios e Trabalho Final

ListaData Limite de Entrega
Lista 13/12 às 18:00
Lista 214/12 às 18:00
Lista 321/12 às 18:00
Lista 47/1 às 18:00
Lista 518/1 às 18:00
Lista 628/1 às 18:00
Lista 74/2 às 18:00
Lista 811/2 às 18:00
Trabalho Final11/3 às 18:00

Cronograma planejado/registro de atividades

DataAulaConteúdoLinks
ter 16 novsem aula
qui 18 novAula 0Parte 1: Apresentação da disciplina; Parte 2: Filosofia da disciplina; abstração; instalação do PythonQuadro, Vídeo 1, Chat 1, Vídeo 2, Chat 2
ter 23 novAula 01 TeóricaParte 1: Calculando expressões aritméticas simples; variáveis; Parte 2: FunçõesQuadro, Vídeo 1, Chat 1, Vídeo 2, Chat 2, Código
qui 25 novAula 01 PráticaParte 1: Definições de funções; Expressões; Avaliação de expressõesQuadro, Vídeo, Chat, Código
ter 30 novAula 02 TeóricaParte 1: Dúvidas da Lista 01; Parte 2: Mais sobre definições de nomes (variáveis e funções); atribuições simultâneas; Parte 3: Escopos de nomes (globais/locais)Quadro, Vídeo 1, Chat 1, Vídeo 2, Chat 2, Vídeo 3, Chat 3, Código
qui 2 dezAula 02 PráticaParte 1: Discussão sobre a Questão 7 da Lista 1; Parte 2: Módulos (import); dados booleanos; comandos condicionais (if/else)Quadro, Vídeo 1, Chat 1, Vídeo 2, Chat 2, Código
ter 7 dezAula 03 TeóricaParte 1: Comandos condicionais if/elif/else; Parte 2: Exemplos de funções com condicionais; ’else implícito'Quadro, Vídeo 1, Chat 1, Vídeo 2, Chat 2, Código
qui 9 dezAula 03 PráticaParte 1: Laço de repetição condicional (while); exemplo com sorteios aleatórios; Parte 2: Sequência de Fibonacci; primeiro Fibonacci maior que um número dadoQuadro, Vídeo 1, Chat 1, Vídeo 2, Chat 2, Código
ter 14 dezAula 04 TeóricaParte 1: Controlando a execução de um laço (continue e break); exemplo com médias; Parte 2: Mais do exemplo com médias, máximos e mínimos; abstraindo para função de alta ordemQuadro, Vídeo 1, Chat 1, Vídeo 2, Chat 2, Código
qui 16 dezAula 04 PráticaParte 1: Dúvidas da lista 3; Parte 2: Strings (concatenação, repetição); função print; Parte 3: Exemplo (simulador de jogo de vôlei)Quadro, Vídeo 1, Chat 1, Vídeo 2, Chat 2, Vídeo 3, Chat 3, Código
ter 21 dezAula 05 TeóricaParte 1: Dúvidas da lista 03; Parte 2: Comando de repetição sequencial (for); sequências (strings e ranges); Parte 3: Mais sobre sequências (len, in, indexação, fatiamento)Quadro, Vídeo 1, Vídeo 2, Chat 2, Vídeo 3, Chat 3, Código
qui 23 dezsem aulaRecesso de fim de ano
ter 28 dezsem aulaRecesso de fim de ano
qui 30 dezsem aulaRecesso de fim de ano
ter 4 janAula 06 TeóricaParte 1: Recapitulação de for, strings, range; Parte 2: Imutabilidade de strings; tuplas; Parte 3: Listas; mutabilidade de listasQuadro, Vídeo 1, Chat 1, Vídeo 2, Chat 2, Vídeo 3, Chat 3, Código
qui 6 janAula 06 PráticaParte 1: Recap de mutabilidade; funções de listas; Parte 2: Exercícios usando listas; list comprehensions (definição de lista por compreensão)Quadro, Vídeo 1, Chat 1, Vídeo 2, Chat 2, Código
ter 11 janAula 07 TeóricaParte 1: Mais sobre mutabilidade (listas dentro de tuplas); Parte 2: Exercícios de listas (mediana); Parte 3: Funções entre strings e listas; formatação de strings (f-strings)Quadro, Vídeo 1, Chat 1, Vídeo 2, Chat 2, Vídeo 3, Chat 3, Código
qui 13 janAula 07 PráticaParte 1: Dúvidas da Lista 05; Parte 2: Mais detalhes sobre f-strings e exemplos; Parte 3: Exemplos de listas e f-strings: imprimindo matrizes na telaQuadro, Vídeo 1, Chat 1, Vídeo 2, Chat 2, Vídeo 3, Chat 3, Código
ter 18 janAula 08 TeóricaParte 1: Recebendo dados do usuário (input); exemplo (jogo de dados); Parte 2: Exemplo de input (receber matriz); Parte 3: Exemplo de input (jogo da forca)Quadro, Vídeo 1, Chat 1, Vídeo 2, Chat 2, Vídeo 3, Chat 3, Código
qui 20 jansem aulaFeriado
ter 25 janAula 09 TeóricaParte 1: Dúvidas da Lista 06; Dicionários em python; exemplo (contador de frequências); Parte 2: Definição de hasheabilidade; conjuntos em python (introdução); exemplo (sorteios até repetido)Quadro, Vídeo 1, Chat 1, Vídeo 2, Chat 2, Código
qui 27 janAula 09 PráticaParte 1: Definições de dicionários e conjuntos por compreensão; funções de conjuntos; Parte 2: Exemplo: crivo de Eratóstenes (gerar o conjunto de primos de 2 até n)Quadro, Vídeo 1, Chat, Vídeo 2, Código
ter 1 fevAula 10 TeóricaParte 1: Definições recursivas ’legais’ e ‘ilegais’; exemplos (Fibonacci recursivo); Memoização do Fibonacci recursivo; Parte 2: Exemplo de algoritmo recursivo: quicksort; quicksort aleatório; Parte 3: Exemplo de algoritmo recursivo: torres de HanóiQuadro, Vídeo 1, Chat 1, Vídeo 2, Chat 2, Vídeo 3, Chat 3, Código
qui 3 fevAula 10 PráticaParte 1: Analisando a execução de algoritmos recursivos; Parte 2: Definição recursiva de hasheabilidade; algoritmo recursivo para cópias profundas de listasQuadro, Vídeo 1, Chat, Vídeo 2, Código
ter 8 fevsem aulaAula cancelada
qui 10 fevAula 11 TeóricaParte 1: Funções de Alta Ordem (HOF); exemplos; notação lambda; Parte 2: Usando HOF para ordenar sequências; encontrando elemento mais frequente em uma lista; análise de Dom CasmurroQuadro, Vídeo 1, Chat 1, Vídeo 2, Chat 2, Código
ter 15 fevaula assíncrona
qui 17 fevsem aulaSIAc
ter 22 fev(apenas caso haja demanda)
qui 24 fev(apenas caso haja demanda)
ter 1 marsem aulaCarnaval
qui 3 marsem aulaCarnaval
ter 8 marAula DúvidasDúvidas sobre o trabalho finalQuadro, Vídeo
qui 10 marsem aula

Método de avaliação

Diversas listas de exercícios e (pelo menos) um trabalho de maior porte. As listas contarão 70% da nota final. A monitoria fará a correção das listas, sob supervisão e responsabilidade do professor.