Lista das aulas (com comentários)

58 views
Skip to first unread message

Marco Túlio Pires

unread,
Feb 19, 2014, 11:53:19 AM2/19/14
to programaded...@googlegroups.com

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:

  • What a computer does
  • Computational thinking
  • Aspects of programming languages
  • Basic machine architecture

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:

  • Kinds of languages
  • Objects, expressions, operators
  • Abstraction by naming
  • Strings
  • Scripts
  • Straightline programs
  • Branching 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:

  • Simple programs
  • Iteration
  • Input
  • Exhaustive enumeration
  • Guess and check
  • For and while loops
  • Approximate solutions
  • Bisection search
  • Newton-Raphson

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:

  • Function syntax
  • Abstraction by specification
  • Functions and scoping
  • Floating point numbers
  • Specifications
  • Modules

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:

  • Recursion
  • Inductive reasoning
  • Divide and conquer

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:

  • Structured types and mutability
  • Tuples
  • Lists and mutability
  • Functions as objects
  • Dictionaries

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:

  • Testing and debugging
  • Black box testing
  • Glass box testing
  • Integration testing and unit testing
  • Debugging with binary search

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

  • Assertions
  • 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:

  • Complexity
  • How to measure complexity
  • Asymptotic notation

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:

  • Memory storage
  • Indirection
  • Searching and sorting methods
  • Hashing

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:

  • Definition of classes
  • Classes versus instances
  • Methods
  • Bindings of values
  • Exceptions

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:

  • Inheritance
  • Object oriented programming

Comentário: A décima segunda aula apresenta os fundamentos da programação orientada a objeto. Mais detalhes quando chegarmos lá.


Lecture 13 – Trees:

  • Decision trees
  • Depth-first search
  • Breadth-first search

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!

Reply all
Reply to author
Forward
0 new messages