Meu primeiro contato com programação foi usando linguagem C. De fato, foi quando desenvolvi paixão pela área.

Segue o link do CS50, a melhor introdução à ciência da computação que alguém pode ter, e o lugar onde tive meu primeiro contato com C e também passei a entender melhor sobre esses tópicos que você mencionou de memória e como o computador funciona. E mais a frente no curso, até mesmo como que a internet funciona.

Eu vou ser puxa saco desse curso a vida toda. Sou fãzasso.

Pra mim o CS50 é um patrimônio da nossa área haha. Meu primeiro emprego consegui depois de fazer o web50 (sobre python e django).

Foi lá que aprendi sobre banco de dados, mvc, git e coloquei meu primeiro site em produção. Foi a base que eu precisava para entrar na área.

Concordo plenamente. E que maneiro, parabéns. Sobre o CS50W, de fato, é uma maravilha. Ele aborda tópicos muito interessantes e que somam muito para quem quer ser programador web. É uma pena que eu não tenha finalizado. Parei no problem set do leilão. No momento é meio apertado devido à rotina, mas tenho vontade de continuar algum dia.

Eu comecei o CS50 mas parei na semana 4, infelizmente tive muita dificuldade com os exercícios, teria alguma dica, como foi que ultrapassou os obstáculos?

Mano, de fato o começo pode ser complicado. Eu diria que a week 3 foi a mais desafiadora pra mim. Eu comecei o CS50 em Agosto/Setembro de 2020. Fui progredindo pouco a pouco, mas comecei a ter dificuldade com exercícios também e acabei desanimando. Então parei, nessa semana 3. Só que um tempo depois, em Novembro, eu pensei comigo mesmo que poderia me esforçar mais. Raciocinei no grande ganho que aquilo proporcionaria mais à frente, e no quanto eu estava gostando do que estava aprendendo, e que não valia a pena desistir. Sendo assim, recomecei o curso e fui vendo cada tópico com calma, praticando bastante, inclusive procurando fazer mais exercícios do que apenas os Problem Sets. Percebi que no fundo eu não tinha absorvido plenamente alguns conceitos, e isso me ajudou. Além disso, quando enfrentei o Problem Set 3 denovo, me forcei a não desistir. Eu fazia algumas pausas, e depois voltava. Depois que consegui resolver aquilo, senti que conseguiria resolver qualquer outro problema. Aprendi que muitas vezes só é preciso ter paciência, e que nesse mundo da programação, todos os problemas podem ser resolvidos, de uma forma ou de outra, alguns apenas levam mais tempo. Depois de finalizar as semanas que falam sobre linguagem C, recomendo fazer um projeto pessoal usando essa ferramenta. Tente implementar os algoritmos e estruturas de dados apresentados nas aulas, por conta própria, isso faz toda a diferença. Vale lembrar que você pode se juntar à comunidade do CS50 em vários canais de comunicação. Eu gostava de usar o Discord. Você pode tanto responder a dúvida de outros como também colocar suas próprias. Tem tanta gente lá, passando pelos mesmos problemas (e também que já passaram), que dentro de pouco tempo você é respondido. ## E sobre começar em 2022 e continuar em 2023, isso é de boa, no próprio site eles te orientam como fazer isso, na página dos problem sets. No meu caso eu fui até a semana 4 em 2020, e continuei a partir da semana 5 em 2021.