Unidades de aprendizado

Cada unidade da disciplina é acompanhada de um texto de apoio contendo a descrição do conteúdo discutido em uma ou mais aulas. Os conteúdos devem ser lidos antes e depois das aulas correspondentes. Cada texto contém indicações de leitura complementar e vários exercícios sugeridos, que devem ser realizados à medida em que se estuda.


Unidade 1 - Problemas e algoritmos

Vamos conversar um pouquinho sobre como os computadores modernos funcionam. Depois vamos discutir sobre do que se trata de fato em Computação, entender que tipo de problemas os computadores resolvem e o que são esses animais chamados algoritmos.

Unidade 2 - Escrevendo algoritmos

Agora que já sabemos o que são os algoritmos, temos que aprender a escrevê-los. Queremos descobrir quais são os blocos fundamentais que os compõem. Mais do que isso, como um computador não entende português, vamos ter que escrever nossos algoritmos em uma linguagem de programação.

Unidade 3 - Estruturas elementares em Python

Agora que já conhecemos os principais conceitos de algoritmos e linguagem de programação, vamos materializá-los em Python. Veremos tipos básicos de variáveis e a sintaxe de expressões aritméticas. Depois, veremos como escrever um programa com entrada e saída. Finalmente, vamos criar programas com estruturas condicionais.

Unidade 4 - Listas

Um dos motivos para se utilizar computadores é que queremos tratar grandes quantidades de dados. Além disso, queremos escrever algoritmos genéricos que atuem da mesma maneira em cada elemento desses conjuntos de dados. Para isso, utilizamos as chamadas listas em Python.

Unidade 5 - Funções

À medida em que os programas ficam mais complicados, mais difícil fica controlar e entender o conjunto das instruções. Por isso, é importante criar abstrações sobre um conjunto de instruções que tenham determinado significado; a essa abstração damos o nome de função.

Unidade 6 - Algoritmos iterativos

Vamos mergulhar um pouco mais fundo ao escrever algoritmos baseados em comandos iterativos. Vamos aplicar nosso aprendizado estudando e comparando vários algoritmos de ordenação iterativos.

Unidade 7 - Matrizes

Por enquanto, aprendemos apenas a manipular listas. Para muitas aplicações, essas listas contêm apenas elementos escalares, como números ou strings, mas elas podem conter estruturas mais elaboradas. Vamos aprender a manipular matrizes e aproveitar para falar um pouco de arquivos.

Unidade 8 - Coleções de dados

Até agora guardamos dados como variáveis ou listas de variáveis simples. Vamos aprender novos tipos de coleção de dados e estudar como representar dados na memória.

Unidade 9 - Eficiência de algoritmos

Muitas vezes não é suficiente escrever e implementar um algoritmo. Para de fato resolver um problema, precisamos estimar a quantidade de recursos que nossos algoritmos gastam e garantir que eles executam em um tempo razoável.

Unidade 10 - Recursão

Até agora vimos algoritmos iterativos, isso é, tudo que os eles fazem é executar um conjunto de instruções até que uma condição seja satisfeita. Aprenderemos uma nova maneira de pensar e escrever algoritmos. Vamos descobrir que podemos escrever algoritmos ora muito mais simples, ora muito mais sofisticados.