Guia de estudo
Por que Python nesta disciplina
O curso começa do zero. Na abertura, a professora apresentou a turma e situou o que vem pela frente: seis meses de aula, zero slides e um ritmo prático, sempre mostrando código. Python entra nesse cenário por três motivos concretos. Primeiro, é visto como uma linguagem fácil de aprender, o que ajuda quem nunca programou. Segundo, está na área de dados e virou febre com dados e inteligência artificial. Terceiro, é multiparadigmática: serve para várias finalidades, embora muita gente a associe só a dados.
No ecossistema de dados foram citadas bibliotecas como NumPy e Matplotlib, parte da infraestrutura que tornou Python tão presente. Elas não são o assunto desta aula; servem só para explicar o contexto. A mensagem para quem está começando é simples: não é preciso dominar o mapa inteiro da linguagem para dar o primeiro passo. Esse passo é entender o que é um algoritmo e como ele vira um programa.
Algoritmo, programa e a necessidade de não haver ambiguidade
Três definições se encadeiam e não devem ser misturadas. Algoritmo é uma sequência de passos bem definidos e sem ambiguidade que, seguida, sempre chega ao mesmo resultado. Essa ideia não depende de computador: uma lista de instruções clara já é um algoritmo. Programa de computador é o algoritmo escrito com uma linguagem de programação, ou seja, uma série de instruções que o computador interpreta e executa.
Ambiguidade é o ponto crítico. Uma instrução ou uma sequência não pode ter dois significados. Cada passo deve ter um único sentido. A língua natural, como o português, está cheia de ambiguidades e por isso não serve para escrever algoritmos. A linguagem de programação existe para resolver esse problema: é uma criação sintética, estruturada e sem ambiguidade, feita para humanos se comunicarem com o computador. Nela, a mesma instrução sempre produz o mesmo resultado.
Fora da sala, a palavra algoritmo também nomeia sistemas de recomendação, como os do YouTube e das redes sociais, que decidem o que mostrar. Esses algoritmos têm relevância pública: impactam a vida das pessoas e influenciam decisões, por isso entram na ética em dados. Se um algoritmo carrega preconceitos, como racismo, pode difundir esses preconceitos em escala. Aprender a programar, então, não é só emitir comandos: é treinar o pensamento computacional, a capacidade de pensar em termos de sequência de passos. Esse é o que mais dá trabalho no começo.
Linguagens como ferramentas e o caminho até o computador
Linguagens de programação são ferramentas. Cada uma resolve bem um tipo de problema. Usar a ferramenta errada até funciona, mas é ineficiente. Front-end é a parte das telas dos sistemas e tem o próprio conjunto de tecnologias. Java é multiparadigmática e estruturada, competente para grandes sistemas. JavaScript é a linguagem da web, voltada para as telas dos sites, também multiparadigmática. Swift foi feita para aplicativos iOS; Kotlin, para aplicativos Android. SQL serve para trabalhar com seleções no banco de dados. Bash Script é voltada para administração de sistemas; usá-la para um sistema completo é escolher a ferramenta errada.
O computador realmente entende código binário. Por isso as linguagens feitas para humanos precisam ser traduzidas. Compilar é transformar a linguagem de programação em linguagem de máquina antes da execução. Interpretador traduz no momento da execução. Python é uma linguagem interpretada. Alguns módulos escritos em C passam por uma etapa de compilação, mas isso não muda o modo como você escreve o primeiro programa: você escreve em Python e um interpretador traduz na hora de rodar.
IDE, Deep Note e o ambiente da disciplina
IDE é o ambiente de desenvolvimento integrado. Ela reúne, em um único programa, o editor de código, a execução e a depuração. O editor é a parte em que se escreve o código. Depuração, ou debug, reúne as ferramentas usadas para testar o software e descobrir onde está o problema.
Para evitar dor de cabeça com instalação e configuração, a disciplina usa uma IDE online: um site que já traz as ferramentas. O Deep Note é essa IDE. Não é apresentada como a melhor do mercado, mas funciona igual para todo mundo. Cada programa é um projeto; dá para criar quantos projetos forem necessários. Dentro do projeto, o código fica em blocos. Cada bloco é uma unidade em que se escreve um pedaço de código e que pode ser rodado separadamente. Também é possível rodar os blocos todos juntos e incluir textos de anotação. O projeto pode ser compartilhado publicamente, gerando um link. Os links dos códigos das aulas serão sempre enviados.
No início, code completion e sugestões de IA foram desativados porque, para quem está começando, atrapalham mais do que ajudam. Há opção de tema escuro nas configurações da conta. Surgiu ainda o Linux como sistema aberto, muito usado em servidores e por desenvolvedores, que permite mexer no sistema de um jeito diferente do Windows. Distro é uma versão do Linux; para começar foi citado LinuxMint, com apt-get, e Debian como opção usada pela professora. Isso descreve o ambiente, não um comando desta aula.
O comando print e as regras da mensagem
Comando é uma instrução que faz alguma coisa na linguagem. Cada comando tem um efeito, como mostrar uma mensagem. O primeiro comando visto é print. Ele é uma função que mostra uma mensagem na tela e recebe essa mensagem entre os parênteses. A informação passada para a função dentro dos parênteses é o argumento. No print, o argumento é a mensagem a mostrar.
Sintaxe é o conjunto de regras e a estrutura da linguagem. Sem a sintaxe certa, o código não é reconhecido. Os parênteses fazem parte dessa estrutura. O texto da mensagem vai entre aspas. As aspas marcam que o conteúdo é texto e indicam onde ele começa e termina. Sem aspas, o Python não sabe o que fazer com aquele trecho. Não é obrigatório usar aspas duplas: aspas simples também funcionam. Não se pode, porém, abrir com um tipo e fechar com o outro. Cedilha funciona normalmente no Python; se houver problema com caracteres, a questão é de codificação ou de configuração do sistema operacional, não da linguagem em si.
Mensagem com aspas duplas
print("Farmar Aura")
print é a função; os parênteses recebem o argumento; as aspas duplas marcam o início e o fim do texto que deve aparecer na tela.
A mesma mensagem com aspas simples
print('Farmar Aura')
Aspas simples também delimitam texto. O importante é abrir e fechar com o mesmo tipo de aspas.
Ordem de execução, erros e o que fazer depois desta aula
Python é case sensitive: diferencia maiúsculas de minúsculas. Por isso Print e print são coisas diferentes, e Print gera erro. Não é verdade que toda linguagem de programação use só letras minúsculas, nem que todo o Python funcione assim. Há funções diferentes e boas práticas de nomenclatura, mas o que importa agora é escrever print exatamente assim.
Cada instrução ocupa uma linha. O segundo print fica na linha seguinte e roda depois do primeiro. O código é lido e executado de cima para baixo. Se houver erro, o programa não executa. Mais: o programa para no primeiro erro que encontra e por isso não chega a apontar os erros seguintes de uma vez. Erro de sintaxe ocorre quando a estrutura do código não segue as regras da linguagem, por exemplo ao escrever um texto sem aspas.
Essas regras se conectam com o começo da aula. Algoritmo pede passos sem ambiguidade. A linguagem impõe sintaxe para garantir um único significado. print torna um desses passos visível na tela. Aspas, parênteses e o nome da função em minúsculas são o que deixa o passo inequívoco. A leitura de cima para baixo é a ordem desses passos.
Não há exercício formal desta aula. A recomendação é explorar o Deep Note. A primeira trilha já pode ser iniciada. Existe o site Roadmap.sh, que mostra caminhos de estudo e linguagens por área; serve para ter noção, mas pode gerar ansiedade e não deve ser levado tão a sério.
Duas instruções, uma em cada linha
print("Farmar Aura")
print("Farmar Aura")
Cada print ocupa uma linha. O interpretador lê de cima para baixo e mostra primeiro o resultado da linha de cima e depois o da linha de baixo.
Avisos administrativos — 5 recados sobre prazos, regras e funcionamento do curso
01:35:08A primeira trilha já pode ser iniciada.01:35:24Não há exercício para esta aula; recomenda-se explorar o Deep Note.01:34:53Os links dos códigos das aulas serão sempre enviados.01:26:45Na aula de sexta-feira serão vistas variáveis.00:42:57A disciplina terá seis meses de aula e a professora usará zero slides; aulas serão práticas, mostrando código.
Perguntas de aluno — 10 perguntas respondidas na gravação
Francisco perguntou se o Python é interpretado ou compilado. 00:41:59
Python é interpretado; alguns módulos em C passam por etapa de compilação.
Rua perguntou por que o texto do print sempre precisa ficar entre aspas. 01:16:47
As aspas sinalizam que aquilo é um texto e delimitam onde ele começa e termina; sem elas o Python não sabe o que fazer.
Leandro perguntou se existe um catálogo de linguagens. 01:17:27
Existe o Roadmap.sh, que mostra os caminhos por área; é útil para noção, mas não deve ser levado tão a sério.
Regis perguntou sobre o Cedilha no Python. 01:19:21
O Cedilha funciona normalmente no Python; a questão é codificação de caracteres/configuração do sistema operacional, não a linguagem.
Toda linguagem de programação segue com letras minúsculas? 01:26:10 · chat 01:22:27
Não; nem todo o Python funciona assim. Há funções diferentes e boas práticas de nomenclatura, que serão vistas mais adiante.
Professora, então eu poderia usar o Print com letra maiuscula para nomear uma variavel, ou não seria adequado? 01:26:41 · chat 01:22:39
Teoricamente pode, mas não é recomendado porque gera ambiguidade; variáveis serão vistas na aula de sexta-feira.
Por que os dois erros não foram detectados? só foi detectado o erro na primeira linha, porem a sintaxe também continha erro na segunda linha mas não detectou. 01:27:14 · chat 01:25:10
O programa é lido de cima para baixo e para no primeiro erro; por isso não chega a detectar os erros seguintes.
Aluno perguntou se precisa ser aspas duplas no print. 01:24:48 · chat 01:19:47
Aspas transforma em String, que é um tipo;
Aspas duplas ou únicas funcionam do mesmo jeito, mas o problem é se vc tiver uma palavra que já está com aspas.
Por exemplo:
print (“Batata “doce” é bom”)
Isso n vai funcionar direito pq tem quatro aspas duplas.
Nesse caso vc teria que colocar uma dupla e uma unica.
print (“Batata ‘doce’ é bom”) ou
print (‘Batata “doce” é bom’)
Não; aspas simples também funcionam, mas não se pode abrir com um tipo e fechar com o outro.
tem vezes que o programa executa mesmo com erros no código? 01:35:00 · chat 01:34:56
Isso; se houver erro, o programa não executa.
Ana perguntou se os links dos códigos sempre serão enviados. 01:34:53
Sim, sempre serão enviados.
Trechos que valem reouvir — 4 momentos que mais rendem uma segunda escuta
01:23:07— Erro ao colocar o texto sem aspas: é a explicação visual do motivo de o texto precisar de aspas.01:21:26— Erro com Print maiúsculo: fixa a ideia de que Python é case sensitive e como o erro aparece.01:10:18— Passo a passo para desativar sugestões de IA e code completion antes de começar a escrever código.01:32:20— Demonstração de compartilhamento do projeto; mostra como os links das aulas são gerados.