Algoritmos e Lógica de Programação¶
Bem-vindo(a). Esta é a disciplina em que você aprende a programar — do zero, sem que nada seja dado por sabido.
Ela é do 1º período do CST em Sistemas de Telecomunicações, e tem duas tarefas. A primeira é te ensinar a pensar um problema em passos e a escrevê-lo de um jeito que o computador execute. A segunda é te deixar pronto para Python para Telecomunicações, no período seguinte, onde essa habilidade vira ferramenta de trabalho: ler o log de um equipamento, consolidar dados de tráfego, gerar o relatório do mês.
Para quem é¶
Para quem nunca escreveu um programa. Não se supõe nenhum conhecimento anterior de programação, nem de telecomunicações, nem de matemática além da que você já usa.
A disciplina é noturna, e o material foi desenhado para isso: os capítulos são curtos, cada lista cabe em pedaços, e nada aqui exige que você tenha duas horas tranquilas em casa. O trabalho pesado acontece em aula.
Como funciona¶
Duas noites por semana, com papéis diferentes:
- Primeira noite — a ideia. O conceito novo, com exemplo resolvido e prática guiada. Começa com um mini-teste de dez minutos sobre a semana anterior.
- Segunda noite — o problema. Nenhum assunto novo: a noite inteira é laboratório, construindo um programa completo em passos pequenos. Termina com o primeiro exercício da lista resolvido junto.
Se você faltar a uma das duas, a outra ainda te pega: as duas noites tratam do mesmo assunto, de ângulos diferentes.
O caminho do semestre¶
| Unidade | Semanas | Assunto |
|---|---|---|
| 1 · Lógica, variáveis e dados | 1–4 | algoritmo, variáveis, entrada e saída, operadores |
| 2 · Decisão | 5–6 | if, elif, else, condições combinadas |
| — | 7 | revisão para a Avaliação 1 |
| — | 8 | Avaliação 1 (manuscrita) |
| 3 · Repetição | 9–10 | while, for e range |
| 4 · Listas | 11–12 | listas e os cinco padrões de laço |
| 5 · Texto | 13 | strings — e a migração para o Colab |
| 6 · Funções | 14–15 | def, return, decompor e testar |
| — | 16 | revisão na primeira noite, Avaliação 2 na segunda (no laboratório) |
| — | 17 | projeto final |
As duas ferramentas¶
Você vai usar o OnlineGDB até a semana 12 e o Google Colab da 13 em diante. O motivo da ordem — e por que ela torna o primeiro mês mais fácil — está em por que começamos com script.
"Mas a IA não escreve isso tudo por mim?"¶
Escreve. E é por isso que você precisa saber fazer sem ela.
O código que não roda se denuncia sozinho: dá erro, você conserta e segue. O perigoso é o que roda, não dá erro nenhum e entrega o número errado — e é exatamente esse o modo de falha de um assistente que não conhece o seu problema. Você vai encontrar o primeiro exemplo disso já na Lista 01, num programa de cinco linhas que calcula a média errada sem reclamar.
Para perceber um erro desses é preciso conhecer a ferramenta a ponto de desconfiar dela. A pergunta que a sua profissão faz mudou: não é mais "você consegue escrever este laço?", é "você consegue olhar este laço e dizer se ele está certo?". As duas exigem o mesmo conhecimento — a segunda exige, além dele, que você já tenha errado o suficiente para reconhecer o erro quando o vê.
É para isso que servem estas dezessete semanas. Veja IA nesta disciplina para o que é permitido, o que é recomendado e por que as avaliações são do jeito que são.
Avaliação¶
| O quê | Quando | Como |
|---|---|---|
| Mini-testes | toda semana, 10 min | à mão, sobre a semana anterior |
| Avaliação 1 | semana 8 | manuscrita, sem computador |
| Avaliação 2 | semana 16 | no laboratório, com consulta ao site, sem assistente |
| Projeto | semana 17 | em dupla, apresentado em aula |
| Listas | toda semana | bônus, corrigidas automaticamente |
As listas valem bônus. Mas o que elas de fato valem é outra coisa: é impossível aprender a programar lendo. Erre nas listas, onde errar não custa nada.