CS50x(Intro to Computer Science) is a free course offered by Harvard which focuses on the Programming Aspect of Computer Science.
Its 2021 session is currently on-going and you might want to check it out because its pretty decent for a free resource and you can use it as a chance to learn about other Languages. I know this because I am currently in it and I'm just about to move to Week 5 which focuses on Data Structures.
Each Week(0 - 10) focuses on a different topic :
- Scratch(Basically just a smooth intro into Programming for beginners)
- C (C Programming Language)
- Data Structures
Like I said, It's a free course and anyone can register and start immediately and it also awards you with a certificate if you manage to get over 70% total score at the end of the course(There is also a paid certificate).
Each Week has a 'Problem Set' where you are tasked to solve a problem based on what you learned the following week, my most recent problem set which I just completed today was where you had to write a program using C which recovers JPEGs from a forensic image(not as complex as it sounds). The problems can get pretty complex FAST, a particular problem set for Week 3 called Tideman(Implement a Program that runs a Tideman election) is regarded as one of the hardest problems in the entire course even though it's just in Week 3 probably because that week focuses on Algorithms(Sorting algorithms and Recursion), Luckily it's not mandatory to do it so i did everything except it and moved on.
The main thing about the entire course that excites me is the Final Project of the course where you develop your very own software or something similar drawing on what you've learned in the course:
If you're interested in CS50, you can enroll here
Also there are other CS50 Programs(PAID) you can take -
Note : You don't necessarily have to take each lecture weekly, you can take them daily if you want to(assuming you complete all problem sets daily which is unlikely except in the beginning)