Pessoal,
Segue a lista de aulas que teremos com alguns comentários sobre cada uma delas! É possível que eu tenha patinado tentando simplificar algum conceito. Se for esse o caso, peço ajuda aos monitores da lista!
Algumas semanas terão mais de uma aula!
List of Lecture Topics
Lecture 1 – Introduction:
Comentário: A primeira aula dá um panorama sobre o funcionamento dos computadores e como podemos dar instruções para que eles executem tarefas. Aqui são apresentados alguns exemplos de código.
Lecture 2 – Core elements of programs:
Comentário: A segunda aula entra especificamente na questão dos programas de computador, que são um agrupamento de instruções dispostas de forma lógica. Apresenta quais são os elementos, os tipos de linguagem de programação e os tipos de programas que existem. Nessa aula há mais exemplos de código à medida que vamos nos familiarizando com a sintaxe de Python.
Lecture 3 – Simple algorithms:
Comentário: A terceira aula apresenta diversos tipos de algoritmos. Os algoritmos são estratégias lógicas para resolver problemas. Eles independem de linguagem de programação. No nosso caso, vamos aprender diversas estratégias para resolver problemas computacionais e matemáticos, como soluções aproximadas, o adivinhar e verificar, e os loops. Ao fim dessa aula você já será capaz de fazer programas simples.
Lecture 4 – Functions:
Comentário: A terceira aula apresenta um dos recursos mais poderosos da programação: as funções. Elas são pequenos pedaços de código que desempenham tarefas específicas, customizadas para a sua necessidade e que você pode reaproveitar em diversas partes do seu programa ou até outros programas.
Lecture 5 – Recursion:
Comentário:
A quinta aula apresenta o conceito de recursividade. Trata-se de uma técnica para divir um problema em pequenas partes "genéricas" e resolvê-lo de forma recursiva até não sobrar mais nenhum pedaço. É uma estratégia que, se bem feita, simplifica a execução do programa e é capaz de resolver problemas bastante complexos de forma muito simples.
Lecture 6 – Objects:
Comentário: A sexta aula apresenta "expressões", ou "objetos" da linguagem de programação que executam, ou representam, tipos e tarefas pré-determinadas. Os objetos nos ajudam a executar rotinas ainda mais complexas, mas de forma intuitiva.
Lecture 7 – Debugging:
Comentário: A gente vai se deparar com diversos erros no nosso código ao longo do curso. A sétima aula nos ensina algumas das melhores estratégias para "debugar", ou seja, encontrar e tirar os "bugs" dos nossos programas.
Lecture 8 – Assertions and Exceptions
Comentário:A oitava aula pega carona na sétima e introduz algumas técnicas que nos ajudam a previnir erros ou identificá-los de forma mais razoável.
Lecture 9 – Efficiency and orders of growth:
Comentário: A nona aula nos ensina como avaliar a complexidade dos programas que desenvolveremos. Isso é importante para que possamos tomar decisões acertadas na confecção dos nossos algoritmos. Como torná-los mais rápidos? Mais eficientes? Menos burocráticos? Essa aula não responderá essas perguntas, mas nos dará a base para chegar às respostas.
Lecture 10 – Memory and search:
Comentário: A décima aula ensina técnicas um pouco mais avançadas de armazenamento de informações, ordenamento de dados e tabulação. Essas técnicas são importantes para quando formos lidar com um grande número de elementos e precisarmos acessá-los rapidamente.
Lecture 11 – Classes:
Comentário: A décima primeira aula vai nos ensinar a criar os nossos próprios "objetos". São entidades customizadas que poderão desempenhar papeis específicos para as nossas necessidades. É como se fôssemos criar nossas próprias "expressões" em determinado idioma (e isso implica em descrever em detalhes os bastidores dessa "expressão") para dar significado ou ordenar coisas ou assuntos que nos interessam naquele contexto.
Lecture 12 – Object Oriented Programming and Inheritance:
Comentário: A décima segunda aula apresenta os fundamentos da programação orientada a objeto. Mais detalhes quando chegarmos lá.
Lecture 13 – Trees:
Comentário: A décima terceira aula nos ensina técnicas que podem ser usadas em redes neurais, para encontrar elementos da forma mais eficiente.
Lecture 14 – Summary
Comentário: Revisão do que foi trabalhado no curso.
Lecture 15 – Research videos
Comentário:Vídeos que apontam possibilidades e leituras em diferentes áreas do conhecimento para explorar os conceitos aprendidos em diversas aplicações: indústria farmacêutica, robótica, engenharia etc. Não sei exatamente se os assuntos serão esses!