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.