IPL 2021 Piazza Gradescope Zoom Recursos Contato Memes

IPL 2021: Introdução à Linguagem Python

Datas Importantes

datas importantes do curso
  • Prazo para entregar os problemas no Gradescope é às 23 h (horário de Brasília) do dia marcado na tabela
  • O teste final será no final de semana 13-14 de fevereiro
    • Alunos terão uma janela de 2 h para completar o teste
    • Todas as submissões devem ser completadas até 22 h de 14/02: para ter tempo completo, alunos devem começar até 20 h.

Slides + Recordings

  1. Encontro 00 (01/02):
  2. Encontro 01 (02/02):
  3. Encontro 02 (03/02):
  4. Encontro 03 (04/02):
  5. Encontro 04 (05/02):
  6. Encontro 05 (08/02):
  7. Encontro 06 (09/02):
  8. Encontro 07 (10/02):
  9. Encontro 08 (11/02):
  10. Encontro 09 (12/02):

Modelo do Curso: flipped classroom

Educação online complica muitos aspectos da experiência de aprendizado tradicional. Tendo aulas online, você provavelmente sabe como é difícil realmente prestar atenção nesse modelo. A pessoa do outro lado da tela mal se mexe! Eles não conseguem te ver. Você pode jogar Fall Guys! Ler as notícias! As distrações são infinitas. Por essa razão, decidi usar um modelo para o curso que é mais adequado ao modelo online – uma certa adaptação do modelo de sala de aula invertida.

Contudo, esse modelo exige mais de todos nós, então precisamos fazer um comprometimento um ao outro para que o curso funcione bem. Nesse curso, pedirei que você faça um esforço sério de aprender partes do material sozinho. Não espero que você vire um mestre (mas se você virar, ótimo!), mas sim dedicação séria e honesta. Aprender sozinho é difícil – é uma habilidade que pode demorar anos para dominar em um ensino universitário padrão. Os sets (descritos abaixo) foram projetados para serem acessíveis individualmente (independentemente de experiência) e ajudarem você a desenvolver suas habilidades de aprendizado.

É essencial que você faça as leituras e tente resolver os exercícios e problemas propostos. Você deve fazer suas próprias anotações enquanto for estudando os materiais! A prática de escrever é essencial para o aprendizado. Também é essencial que você aprenda ativamente: tente identificar os conceitos mais importantes e se perguntar "por que" e "como" conforme aprende.

Conforme você avança pelo material, é bastante provável que você tenha dúvidas e perguntas (quando você aprende algo muito rápido, muito cuidado!). Para suportar seu aprendizado, estarei disponível para responder suas perguntas, ajudar se você "empacar" em algum ponto, ou apenas dar palavras de encorajamento. Você vai ter acesso a ajuda por três plataformas principais:

  • Discussões/Encontros: mediados pelo Zoom (veja abaixo).
  • Piazza: usado para perguntar e responder perguntas relacionadas ao material (veja abaixo).
  • Office Hours: sessões em que estarei disponível para responder perguntas e/ou resolver problemas de forma mais individualizada. Basicamente um período de tempo em que estarei disponível em uma sala no Zoom e ajudando alunos conforme aparecem com qualquer problema ou discussão que acharem relevante. Ocorrerá pelo Zoom, link e horários serão postados em uma data posterior.

Participação e Colaboração

Participação é essencial. É importante admitir quando não entendemos algo; peça ajuda, tanto do instrutor quanto de outros alunos, sem vergonha! Estar confuso é uma parte importante de aprender. Se um colega pedir ajuda, seja educado e empático ao colaborar ou responder perguntas. Todos temos dificuldades com conceitos novos às vezes.

Se você acha que consegue responder a pergunta de um colega (por exemplo, no Piazza) ou tem uma dica para a solução a um problema, compartilhe-a! Você vai ou responder a pergunta do seu colega, ou descobrir falhas no seu próprio entendimento. Ambos são ótimos resultados! Podemos aprender muito tentando explicar ideias a outros. Aprender é difícil e há um grande benefício em passar tempo sozinho estudando um material. Mas colaboração e discussão aberta são igualmente importantes. Devemos fazer de tudo para criar um ambiente que encoraja esse tipo de interação!

Sets

O curso foi dividido em seis seções (sets) encontradas no menu acima. Para cada set, há um conjunto de leituras que introduzem o material em teoria e com alguns exemplos. Exercícios são problemas mais rápidos/objetivos voltados a checar conceitos básicos introduzidos nas leituras e criar uma certa familiaridade com os conceitos. Problemas são geralmente mais longos/complexos e involvem escrever e submeter código Python, o qual deve ser submetido ao Gradescope para checagem automática.

Piazza

Vamos usar o Piazza como fórum de discussão. Nessa plataforma, alunos podem postar questões (anonimamente se preferirem) a serem respondidas pelo instrutor ou mesmo por outros alunos. Aqui é um bom lugar para tentar conseguir ajuda e/ou respostas para suas perguntas.

O link para nossa classe no Piazza é: https://piazza.com/class/kjg1jlxr3nj117

Aqui você pode encontrar um resumo de como o site funciona e algumas diretrizes sobre como aproveitar os recursos oferecidos pelo site (em inglês).

Alunos registrados serão automaticamente adicionados e receberão um email para completar o registro no site para poder usar a plataforma. Alunos que desejam ter acesso às discussões mas não estão oficialmente registrados devem enviar um email ao instrutor (armelin@mit.edu) explicando a situação.

Gradescope

Gradescope será utilizado para checagem automática de programas escritos por alunos respondendo os problemas propostos em cada set.

O link para nossa classe no Gradescope é: https://www.gradescope.com/courses/215350

Para submeter seu arquivo, garanta que as instruções de nomes para o arquivo e variáveis foram seguidas. Procure o problema que você resolveu (nomeado "Problema X.Y.Z" no site) e acesse-o. Haverá uma caixa para submeter um arquivo; clicá-la levará ao gerenciador de arquivos do seu computador onde você consegue encontrar seu arquivo e selecioná-lo. Confirmando a escolha, a submissão estará completa e você verá quão correto seu programa é de acordo com nossos testes.

Alunos registrados serão automaticamente adicionados e receberão um email para completar o registro no site para poder usar a plataforma. Alunos que desejam ter acesso à checagem mas não estão oficialmente registrados devem enviar um email ao instrutor (armelin@mit.edu) explicando a situação.

Zoom

Discussões ao vivo ocorrerão por Zoom, diariamente de segunda a sexta 14h-16h durante as duas primeiras semanas de fevereiro (01/02 – 12/02).

O link para o Zoom é: https://mit.zoom.us/j/95979903704

O foco desses encontros será desenvolver uma discussão em maior profundidade do material, bem como trabalhar em alguns exemplos passo-a-passo e em novos problemas de forma mais interativa (por exemplo, em grupos). É esperado que os alunos já tenham completado as leituras relevantes antes do encontro, já que as discussões construirão sobre os conceitos base discutidos nas leituras.

Naturalmente, dúvidas sobre as leituras podem surgir, então tempo será dedicado a resolver dúvidas e/ou problemas comuns levantados pelos alunos. Não se espera que os alunos entendam tudo perfeitamente antes das discussões, mas é importante que se esforcem para estarem tão preparados quanto possível para garantir um bom andamento das discussões.

Alunos registrados serão automaticamente adicionados e receberão um email com a senha para poder usar a plataforma. Alunos que desejam ter acesso às reuniões mas não estão oficialmente registrados devem enviar um email ao instrutor (armelin@mit.edu) explicando a situação.

Grading

Certificados serão distribuídos aos alunos que comprovarem aprendizado ao longo do curso. Para tal, o curso contará com vários fatores que contribuirão para a nota:

  • Presença (30%): comparecer (e participar onde apropriado) nas sessões síncronas no Zoom.
  • Problemas (45%): resolver problemas checados automaticamente no Gradescope corretamente. Sem limite de tentativas, mas é necessário submeter uma resposta correta para obter os pontos correspondentes. Cada problema deve ser entregue até a data indicada no site, e soluções serão liberadas no dia seguinte.
  • Teste Final (25%): um teste que abrange todo o material coberto, com uma mistura de questões teóricas e algumas de escrever código. Será administrado pelo Gradescope, com tempo determinado.

Para completar o curso com sucesso e receber o certificado, alunos precisam obter 80% da nota total do curso.

Recursos

DOCUMENTAÇÃO

  • Official Python 3 Documentation - explicação "oficial"/técnica do funcionamento de um operador/função, exemplos de sintaxe correta, detalhes sobre as várias libraries, etc.

TEXTOS/TUTORIAIS

DEBUGGING

  • Python Tutor - um ótimo jeito de visualizar como o interpretador lê e executa seu código.
  • DiffChecker - compara dois conjuntos de texto e mostra quais linhas são diferentes.
  • Debugging in Python - passos que você pode tentar para depurar seu código.

SOFTWARE

OUTROS Q&A

  • Stack Overflow - fórum de Q&A para conceitos de programação (não apenas Python). Tente procurar aqui se tiver problemas; talvez você descubra que alguém já respondeu sua pergunta.

MAIS PROBLEMAS DE PRÁTICA

  • Python Challenge - uma série de enigmas para testar suas habilidades Python.
  • Project Euler - desafios de programação adicionais que você pode tentar quando estiver mais confiante usando Python. Problemas estão em ordem de dificuldade crescente.
  • Coding Bat - problemas que você resolve em um interpretador online, especificamente loops e listas.
  • Codewars - melhore suas habilidades treinando com desafios reais.
  • Dictionaries - exercícios relacionados a dicionários Python.
  • Classes and Object Oriented Programming - exercícios relacionados a classes Python.

Contato

Tudo é um trabalho em constante andamento! Eu não tinha nenhuma experiência com HTML/CSS (ou construção de site em geral) antes de começar esse projeto. Se você encontrar qualquer erro no site (por exemplo, em um dos exercícios), mande um email para armelin@mit.edu para que eu possa consertar o problema!

Em geral, é melhor que você esclareça suas dúvidas no Piazza de modo que seus colegas (alguns dos quais podem ter exatamente as mesmas questões!) possam ver as respostas e também aprender com suas perguntas. Se houver algum tópico mais sensível ou algo em que você esteja interessado/a que não seja diretamente relactionado ao conteúdo, fique à vontade para mandar um email para discutir o assunto a armelin@mit.edu.