Having projects is nice, but first, you need to properly learn how to do programs.
There is no shortcut to knowledge, no one can learn for you, you are the only one that can do it. The way to become a good programmer is long and not everybody can achieve that goal. Good programmer need a special state of mind, either you have it or you don't.
In order to become a good developer. You need to master a set of techniques that are the basis of the job and are not linked to a language.
My short list:
- Start with an easy/safe language: VB, Java, C#, not C
- Read documentation / Follow tutorials (a lot of them)
- Start with tiny/useless projects, the purpose is to learn programming, not doing something useful.
- Start with console mode programs (no fancy graphics, no mouse)
- Learn debugger
Mastering Debugging in Visual Studio 2010 - A Beginner's Guide[
^]
Debugger - Wikipedia, the free encyclopedia[
^]
- A problem ? Google is your friend.
- Learn
Boole algebra
- Master some analyze methods,
Dijkstra Top-Down method is a good start.
https://en.wikipedia.org/wiki/Top-down_and_bottom-up_design[
^]
https://en.wikipedia.org/wiki/Structured_programming[
^]
https://en.wikipedia.org/wiki/Edsger_W._Dijkstra[
^]
https://www.cs.utexas.edu/users/EWD/ewd03xx/EWD316.PDF[
^]
Remember the exercises and little projects are not here to make something useful, they are here to teach you programming.