<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Lucas Resende</title>
    <description>The latest articles on DEV Community by Lucas Resende (lucasresende-br).</description>
    <link>https://dev.to/lucasresende-br</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F15320%2Ff7203ea6-8e05-4fd7-aded-b9df75b8d4c7.jpg</url>
      <title>DEV Community: Lucas Resende</title>
      <link>https://dev.to/lucasresende-br</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/lucasresende-br"/>
    <language>en</language>
    <item>
      <title>Do Scratch ao C: Como Foram Minhas Primeiras 3 Semanas no CS50 de Harvard</title>
      <dc:creator>Lucas Resende</dc:creator>
      <pubDate>Thu, 15 Oct 2026 12:24:52 +0000</pubDate>
      <link>https://dev.to/lucasresende-br/do-scratch-ao-c-como-foram-minhas-primeiras-3-semanas-no-cs50-de-harvard-3imj</link>
      <guid>https://dev.to/lucasresende-br/do-scratch-ao-c-como-foram-minhas-primeiras-3-semanas-no-cs50-de-harvard-3imj</guid>
      <description>&lt;p&gt;Quando comecei as primeiras aulas do &lt;strong&gt;CS50x&lt;/strong&gt; (o curso introdutório de Ciência da Computação de Harvard), o professor David J. Malan avisou logo de cara: &lt;em&gt;aprender programação pode parecer como tentar beber água diretamente de um hidrante&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;Três semanas depois, posso confirmar: o volume de informação é enorme. De início, confesso que bateu um leve receio pelo fato das aulas serem 100% em inglês, mas as explicações eram tão didáticas que, com uma ou outra pesquisa rápida, deu para acompanhar super bem.&lt;/p&gt;

&lt;p&gt;Para não me afogar, precisei de um ritmo próprio: dividi as sessões de estudo ao longo de 2 a 3 dias por aula, sempre parando o vídeo, entendendo a lógica, anotando e testando no código. No fim das contas, encarar as dificuldades e ver a solução funcionar por conta própria traz uma satisfação indescritível.&lt;/p&gt;

&lt;p&gt;Quero compartilhar como foi vivenciar essa maratona inicial, da lógica visual no Scratch até os primeiros desafios em C, com meus comentários de bastidor, erros e pequenas vitórias.&lt;/p&gt;




&lt;h2&gt;
  
  
  Week 0: Aprendendo a pensar como programador (e brincando no Scratch)
&lt;/h2&gt;

&lt;p&gt;A Semana 0 me fez virar uma chave importante: Ciência da Computação não é sobre memorizar sintaxe, mas sobre &lt;strong&gt;resolver problemas&lt;/strong&gt;. É o processo que acontece no espaço entre o &lt;em&gt;input&lt;/em&gt; (o problema) e o &lt;em&gt;output&lt;/em&gt; (a solução).&lt;/p&gt;

&lt;p&gt;Entender como os computadores funcionam por baixo dos panos, do binário até a forma como imagens e textos são guardados na memória, me deu uma perspectiva totalmente nova. Mas o momento em que a chave virou de verdade foi na prática.&lt;/p&gt;

&lt;p&gt;Para treinar a lógica sem as barreiras do código em texto, o curso usa o &lt;strong&gt;Scratch&lt;/strong&gt;, uma ferramenta desenvolvida pelo MIT em que programamos juntando blocos visuais coloridos, quase como montar um quebra-cabeça. Nele, criei meu primeiro projeto interativo (&lt;em&gt;Starting from Scratch&lt;/em&gt;). Montei blocos customizados com parâmetros, criei variáveis e condicionais. Parecia um jogo simples de início, mas me forçou a pensar em estrutura e abstração antes de encostar em uma linha de código textual.&lt;/p&gt;




&lt;h2&gt;
  
  
  Week 1: O choque com a linguagem C e o amor pelo terminal
&lt;/h2&gt;

&lt;p&gt;Se no Scratch tudo era visual e amigável, a Semana 1 nos joga direto na linguagem &lt;strong&gt;C&lt;/strong&gt;. De repente, um simples ponto e vírgula esquecido paralisa o programa inteiro.&lt;/p&gt;

&lt;p&gt;Conforme fui avançando nos vídeos, me peguei me desafiando a ir além do que o professor mostrava na tela. Tiveram pequenos tropeços, como descobrir na prática que para declarar um &lt;code&gt;char&lt;/code&gt; eu precisava usar aspas simples (&lt;code&gt;'a'&lt;/code&gt;), mas cada erro virava um aprendizado imediato.&lt;/p&gt;

&lt;p&gt;Dois momentos se destacaram muito para mim:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Adeus mouse, olá Terminal:&lt;/strong&gt; Aprendi a interagir direto com a linha de comando (&lt;code&gt;ls&lt;/code&gt;, &lt;code&gt;cd&lt;/code&gt;, &lt;code&gt;make&lt;/code&gt;, &lt;code&gt;./hello&lt;/code&gt;). No começo é estranho não usar a interface gráfica, mas você percebe rapidamente como o teclado torna a navegação muito mais fluida.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;A lógica na lousa digital:&lt;/strong&gt; Nos exercícios da pirâmide do &lt;em&gt;Mario&lt;/em&gt; e do cálculo de troco (&lt;em&gt;Cash&lt;/em&gt;), a cabeça deu um nó. A saída foi abrir uma lousa digital, desconstruir a lógica linha por linha e desenhar como os loops se comportavam. Me desafiei até a criar funções próprias para renderizar os blocos, e ver o código rodar sem iterações desnecessárias foi recompensador.&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  Week 2: Arrays, strings e a resiliência nos problemas
&lt;/h2&gt;

&lt;p&gt;Na Semana 2, entramos em conceitos mais profundos: como a memória RAM organiza dados em blocos (&lt;em&gt;arrays&lt;/em&gt;), como &lt;em&gt;strings&lt;/em&gt; são apenas sequências de letras terminadas por um caractere invisível (&lt;code&gt;\0&lt;/code&gt;), e como funciona a criptografia.&lt;/p&gt;

&lt;p&gt;Organizei meus estudos em blocos de foco de 25 minutos e passei por uma verdadeira montanha-russa de sentimentos. Anotei no meu diário de estudos, por exemplo: &lt;em&gt;"Aprendi o que são Arrays, achei muito legal!"&lt;/em&gt; e, 25 minutos depois: &lt;em&gt;"Tá, arrays não são tão fáceis assim kkk, começou a ficar complexo"&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;Nos exercícios da semana, o bicho pegou:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;No &lt;strong&gt;Scrabble&lt;/strong&gt;, penei para mapear as pontuações das letras na tabela ASCII. Cheguei a anotar frustrado: &lt;em&gt;"Minha nossa senhora, esse negócio é MUITO difícil kk. Vou continuar amanhã de cabeça fresca"&lt;/em&gt;. E foi a melhor decisão. Voltei no dia seguinte, desenhei a lógica na lousa e o código finalmente fluiu.&lt;/li&gt;
&lt;li&gt;No &lt;strong&gt;Readability&lt;/strong&gt; e no &lt;strong&gt;Caesar&lt;/strong&gt;, a satisfação foi ver que desconstruir o problema em etapas menores fazia tudo se encaixar, desde a rotação de caracteres da criptografia até os ajustes de arredondamento da fórmula de leitura.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  O que tiro dessas 3 primeiras semanas
&lt;/h2&gt;

&lt;p&gt;Se eu pudesse resumir meu principal aprendizado até aqui em três pontos, seriam estes:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Desenhar antes de codificar:&lt;/strong&gt; Tentar resolver um problema digitando direto no editor gera frustração. Escrever o raciocínio no papel ou numa lousa digital economiza horas.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Aprender a gostar dos erros:&lt;/strong&gt; O compilador reclamando não é um puxão de orelha, é um guia. Ver o &lt;code&gt;check50&lt;/code&gt; mudar de vermelho para verde depois de tanto testar e ajustar é a melhor recompensa.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Paciência e processo:&lt;/strong&gt; Como anotei após terminar uma das aulas: &lt;em&gt;parar, entender, anotar e voltar&lt;/em&gt;. Fazer os exercícios, enfrentar dificuldades e conseguir achar a solução conectando conceitos de múltiplas aulas dá uma sensação boa demais.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Sinto que a base que estou construindo aqui vai sustentar muito do que vou aplicar na FATEC e nos meus projetos futuros. A decisão do reset de carreira faz cada vez mais sentido.&lt;/p&gt;

</description>
      <category>cs50</category>
      <category>careertransition</category>
      <category>computerscience</category>
      <category>c</category>
    </item>
  </channel>
</rss>
