DEV Community

Guia Definitivo para estudantes de Ciencias da Computação

Tudo bem? Eu sempre tive como finalidade criar um post blog definitivo sobre esse assunto. Já havia feito dois, sendo eles Estudos Para desenvolvedores, dicas para aprender em Cientista da Computação Autodidata. Mas, dessa vez, vou criar o definitivo: uma estratégia pessoal que estou utilizando há alguns meses e vou demonstrar suas vantagens a partir de agora.

Como funciona o aprendizado?

A neurociência nunca foi muito legal no quesito de bater o martelo sobre isso, vide a velha frase que todo mundo fala: "Aprenda do seu jeito". Mimimi... bullshit, meus caros. Aprender é caro, dói pra c****** e ainda causa muita insegurança com seu próprio conhecimento. Mas eu curto as coisas que parecem fazer sentido, então venho trazer algumas verdades que eu não tive paciência de buscar na internet, mas tem artigos que comprovam!

Você só aprende quando está aplicando: Ou seja, sempre busque um jeito de codar ou explicar algo, mesmo que esteja errado. Funciona.

Se você falha, indica que você está aprendendo: Sinceramente, eu sempre sinto que minha resposta é insuficiente, mas percebi lendo vários livros (principalmente na computação) que nem mesmo os professores entendem tudo (explico isso melhor na parte de árvore de conhecimento).

Não mude de conteúdo (mesmo sendo uma bosta), vá até o fim: Se a aula está chata, continue. Não entendeu o contexto? Anota o que não entendeu e continue. O professor está com sono ou viaja? Continue, mas também não viaja. Às vezes a aula é um saco mesmo e está tudo bem, cada um com sua didática. Mas se você para no meio, não vai absorver nada. Às vezes é melhor você consertar uma parte do que deixar todo o projeto de lado.

E agora, a parte que eu quero deixar claro:

Siga uma estratégia e confie nela: Os programadores e pesquisadores não são perfeitos; eles erram, e muito. Você e eu também, e está tudo bem. Eu sempre tenho blefes nos meus estudos e crio deduções quando não entendo algo. Por exemplo: "Metodologias Ágeis". Uma vez me falaram sobre isso e eu não fazia ideia, mas pelo nome dá para deduzir que são métodos de estrutura organizacional dado o contexto da conversa, e "ágeis" indica que provavelmente são de resposta rápida e estratégica com a finalidade de consertar algo. Fui procurar depois e, com essa ideia na cabeça, eu quase acertei. Mas isso tudo só porque estudei bastante para entender os termos de tech e conseguir deduzir algo assim. Isso leva à resposta do início: "aprendizagem autodirigida". Lembre-se de assumir o controle de seus erros e acertos. Tenta e tenta, simples e direto. Com o tempo você acerta 70 e erra 30, conserta 15 e acerta 85. É matemática.

Enfim, aprender é o ato de você tentar, aplicar e consertar caso haja erro. É um hábito, como inglês, e você pode reaproveitar isso para novas situações. Em programação, chamamos isso de resolução de problemas.

Como devo estudar?

Essa é a segunda parte e inclusive pedi uma ajuda para a amiga IA (e sim, recomendo vocês usarem, DA FORMA CERTA).

Árvore de conteúdo: A área tecnológica sempre funcionou como uma árvore, de teorias matemáticas como base a circuitos elétricos. Eu chamo isso de Nexus (obs: não liguem).

Se você, meu caro mestre, estudou ou está estudando algo como arquitetura de computadores, sabe que tudo se baseia nessa ideia. O que podemos considerar é que tudo se constrói em cima de algo anterior. Você pode ver isso facilmente em programação: todas as linguagens são derivadas de C ou mais antigas que isso, como Assembly ou ainda mais... Assim como quando desenvolvemos placas integradas criamos SO para controlá-las. Eu afirmo com facilidade: Toda a área de tecnologia é baseada em árvore. Os programadores de 90 usavam livros porque não existiam sites; os de 2010 usavam blogs porque já não necessitavam tanto de livros; e finalmente estamos no mesmo barco. Nós não precisamos só de livros ou blogs, pois temos algo mais "roubado", que hoje chamamos de IA.

Use IA nos seus estudos: Hoje estamos em uma era em que podemos pedir para a IA analisar, buscar documentações e explicar. Isso é algo que não existia antigamente. Temos que nos readaptar à aprendizagem. Vocês veem a IA como se ela fosse dominar o mundo; eu a vejo como uma extensão analítica. Por exemplo: "Não lembro X coisa de comando, vou buscar na doc". NÃO FAÇA ISSO. Ao invés disso: "IA, verifique os comandos da doc X" e pronto, você recebeu. Não entendeu? Pede para explicar melhor. Na realidade estamos em uma nova era, mas antes disso, vou colocar uma estratégia resumida de como estudar sem IA e com IA. Recomendo as duas:

  • Sem IA
  • O Dilema das Anotações: Papel vs. Digital vs. Apenas Ouvir A pesquisa científica (ex: Mueller & Oppenheimer, 2014) sugere que anotar à mão gera maior retenção conceitual porque obriga o cérebro a sintetizar a informação, enquanto digitar tende a virar uma transcrição passiva.

Porém, para programação, o papel é ineficiente (não dá para copiar, colar, rodar ou indexar código).

A Estratégia Híbrida:

Para Teoria Pesada (Cálculo, Lógica, Algoritmos, Teoria dos Grafos): Use Papel e Caneta. Desenhar estruturas de dados e resolver integrais à mão cria caminhos neurais mais fortes para a lógica. Não transcreva o livro; resolva problemas no papel.

Para Programação e Sintaxe: Use Notas Digitais (Obsidian ou Notion). Você precisa criar um "Segundo Cérebro". O objetivo é criar uma base de conhecimento pesquisável.

Regra: Nunca copie código de slides. Digite você mesmo e comente o que cada bloco faz.

Sobre "Apenas prestar atenção": Isso é uma armadilha. A "Curva do Esquecimento" de Ebbinghaus mostra que você perderá cerca de 70% do conteúdo em 24h se não houver revisão ou interação ativa. Ouvir passivamente é ineficaz para matérias complexas.

  1. Teoria vs. Prática: A Regra 30/70 Na computação, existe o conceito de Constructionism (aprender construindo). Você não aprende a nadar lendo um livro sobre hidrodinâmica; você não aprende a codar lendo slides.

A Estratégia de Alocação:

30% do tempo (Consumo): Assistir aulas, ler a documentação (fundamental, conforme suas diretrizes) e entender o "porquê".

70% do tempo (Produção): Escrever código, resolver bugs e fazer exercícios.

Importante: Se você travou em um problema, não volte para a videoaula imediatamente. Vá para a documentação oficial da linguagem/tecnologia. Aprender a ler a documentação é a habilidade nº 1 que separa juniores de seniores.

  1. A Metodologia de Estudo: Active Recall & Spaced Repetition Ler e reler resumos é a forma de estudo com menor utilidade comprovada (Dunlosky et al.). Para "absorver e manter", você precisa forçar o cérebro a buscar a informação.

O Protocolo de Estudo:

A Técnica Feynman: Ao fim de um tópico (ex: Ponteiros em C), tente explicar o conceito em voz alta, de forma simples, como se estivesse ensinando uma criança. Se gaguejar, você não entendeu. Volte à teoria.

Flashcards para Conceitos (Anki): Use o Anki para memorizar sintaxe obscura, comandos de terminal ou definições teóricas.

Codar sem "Rodinhas": Tente resolver o exercício sem olhar a solução. A frustração de "não saber" é onde o aprendizado real acontece (neuroplasticidade).

  1. Estrutura de Horários: Deep Work Programação exige um estado de fluxo (Flow). Estudar picado (15 min aqui, 20 ali) funciona para vocabulário de idiomas, mas é péssimo para lógica de programação.

A Estratégia de Agendamento:

Blocos de Deep Work: Reserve blocos de no mínimo 1h30 a 2h sem interrupções (celular longe). Leva cerca de 20 minutos para o cérebro carregar o contexto de um problema complexo.

Horário Nobre: Identifique se você é diurno ou noturno. Coloque a matéria mais difícil (geralmente a que envolve codar algo novo) no seu horário de pico cognitivo. Deixe tarefas burocráticas (formatar trabalhos, responder e-mails) para quando estiver cansado.

O Roteiro Definitivo (Passo a Passo)
Aqui está o algoritmo que você deve rodar na sua rotina:

Na Aula (Teórica):

Foco total em entender a lógica.

Anote à mão apenas diagramas e "sacadas" chave. Não copie o quadro todo.

Pós-Aula (Imediato/Mesmo dia):

Passe o conceito para o seu sistema digital (Notion/Obsidian) usando suas próprias palavras.

Crie um pequeno pedaço de código que prove que aquele conceito é real (ex: aprendeu loop for? Crie um programa que conta de 1 a 100).

Estudo Independente (Fim de semana/Tempo livre):

Abra a Documentação Oficial: Se aprendeu Java, abra a doc da Oracle. Se aprendeu Python, a doc do Python. Leia a definição técnica do que você aprendeu. Isso vai te dar a profundidade que a aula muitas vezes não dá.

Projeto Prático: Crie algo levemente acima da sua capacidade atual. O erro vai te obrigar a pesquisar.

  • Com IA
  • O Dilema das Anotações 2.0: O Bibliotecário Digital A premissa mantém-se: digitar é passivo, escrever à mão retém. Mas a IA resolve o problema de indexação das anotações manuais e potencializa o "Segundo Cérebro".

A Estratégia Híbrida com IA:

Na Teoria (Papel + OCR): Continue usando papel para diagramas e lógica pesada.

O Upgrade: Tire uma foto das suas anotações manuais e peça para a IA: "Transcreva estes garranchos para Markdown formatado, corrigindo erros ortográficos e criando uma lista de tópicos chave." Copie o resultado para o Obsidian/Notion.

No "Segundo Cérebro" (Sintetizador): Em vez de apenas anotar o que o professor disse, jogue suas notas brutas na IA e peça: "Atue como um Engenheiro Sênior. Refatore minhas anotações sobre [Tópico] para serem mais claras. Adicione analogias do mundo real e sugira onde isso se encaixa na documentação oficial."

  1. Teoria vs. Prática: O "Constructionism" Assistido A regra 30/70 permanece, mas a IA atua como um "Dungeon Master" infinito para a parte prática (os 70%).

A Estratégia de Alocação:

Gerador de Desafios (Nível Infinito): Acabou os exercícios do livro? Prompt: "Eu acabei de aprender [Array Methods] em Javascript. Crie 3 exercícios práticos: um fácil, um médio e um difícil (que envolva um caso de borda). Não me dê a solução, apenas o enunciado."

O Mentor de Documentação (Crucial): Conforme sua diretriz salva, a documentação é a base. Prompt: "Estou lendo a documentação do Python sobre 'Decorators' e não entendi o segundo parágrafo. Explique-me este parágrafo específico com um exemplo prático, mas mantenha a terminologia técnica oficial."

Regra de Ouro: Use a IA para navegar na documentação, não para substituí-la. Peça sempre o link da fonte se o modelo permitir.

3.** Metodologia: Active Recall & O Tutor Socrático**
A IA é a melhor ferramenta já criada para a Técnica Feynman e Repetição Espaçada.

O Protocolo de Estudo com IA:

A Técnica Feynman Reversa (O Tutor Socrático): Em vez de explicar para o "nada", explique para a IA. Prompt: "Vou te explicar o que entendi sobre Ponteiros em C. Quero que você aja como um professor rigoroso. Aponte onde minha lógica está falha, onde estou usando termos errados e me faça perguntas difíceis para testar meu conhecimento. Não me dê a resposta, force-me a pensar."

Fábrica de Flashcards (Anki): Automatize a burocracia. Cole um trecho da documentação ou suas notas e peça: "Crie 5 flashcards para o Anki baseados neste texto. Formato: Pergunta na frente, Resposta e um snippet de código no verso. Saída em formato CSV."

Code Review Pessoal: Terminou o exercício? Não basta "rodar". Prompt: "Aqui está meu código. Ele funciona, mas quero que você faça um Code Review. O que pode ser otimizado em termos de Big O (complexidade)? Onde violei boas práticas (Clean Code)? Seja crítico."

  1. Deep Work & Flow: O "Rubber Duck" Turbinado O bloqueio lógico mata o Flow. A IA serve para desbloquear sem te dar a resposta de bandeja (o que estragaria o aprendizado).

Estratégia Anti-Bloqueio:

Depuração Inteligente: Quando travar em um bug, não peça "conserte isso". Prompt Correto: "Estou recebendo o erro X na linha Y. Explique a causa raiz desse tipo de erro e me dê uma dica de onde olhar no meu código, mas não escreva o código corrigido para mim."

Boilerplate Instantâneo: Vai começar um projeto e precisa configurar Webpack, React, ESLint? Não perca 1h nisso. Peça para a IA gerar a estrutura de pastas e arquivos de configuração (tarefa repetitiva/burocrática) para que você gaste sua energia cognitiva na lógica de negócio (tarefa de aprendizado).

O Algoritmo Definitivo (Versão IA)
Pré-Aula (O "Primer"):

Peça à IA um resumo de 5 bullet points sobre o tema da próxima aula apenas para criar "ganchos mentais" prévios.

Pós-Aula (Validação):

Escreva seu código de teste.

Verificação na Base (Saved Info): Abra a Documentação Oficial. Compare o que você fez com o que a doc diz.

Use a IA para explicar apenas as partes da documentação que ficaram obscuras (ex: "O que a doc da MDN quer dizer com 'mutating method' neste contexto?").

Fim de Semana (Projeto Capstone):

Peça à IA: "Sugira um mini-projeto que combine [Tópico A da semana passada] com [Tópico B dessa semana]. O projeto deve ser pequeno o suficiente para fazer em 4 horas."

Codifique sozinho. Use a IA apenas como "Pato de Borracha" se travar.

Finalizando
Curtiu as dicas, né? Pois é, foram feitas com IA. Eu venho aqui espalhar essa palavra: use IA como extensão, mas como um suporte para inverter a curva do esquecimento. Tente sempre adaptar essas estratégias "à la carte" e lembre-se: aprendizagem é um hábito que deve ser construído.

Top comments (0)