@Andrew Zen - learn algorithms - with this you will be able to do anything. Do not bother to focus on syntax beyond the extent which is required to practice algorithms in a language you choose. I absolutely hate programming tests which focus on syntax - that’s what makes “FizzBuzz” such a great question, especially when asked to write pseudo-code. Learn the popular algorithms, such as QuickSort and Binary Search - but don’t just learn what they do, learn why they work, and how they are derived - so, start with the basic algorithms like Bubble Sort and Linear Search, and learn how and why the improvements exist. Learn to find similar improvements in your own algorithms - if you take a shower every day, figure out how to make that more efficient, or prove that it’s as efficient as possible - learn to recognize why.
In 25 years of programming, I have used maybe 20 languages, most of which aren’t used any more - knowing the syntax of those dead languages is useless today, and knowing C# and the .Net Framework will be useless tomorrow. Knowing how to find an algorithm to solve a problem will serve me well a long time into the future. This is the basic skill that is lacking in a lot of programmers today - they have no ability to think up an algorithm for anything. Colleges are teaching syntax, HR is testing syntax, even certification exams are testing syntax - and they are all missing the target.
Learn how code works, in general, and don’t get bogged down in the format and syntax of a particular language. BTW - there is a book called “Programming for Dummies” - from the popular series of bright yellow “dummies” books. It is one of my most treasured possessions, but I loan it out on occasion - in fact I didn’t buy it for myself, I bought it for a friend who wasn’t learning coding in his college classes. I highly suggest you pick up this book - it is straight to the point about what you need to do to write code, and it’s not “academic” like Code Complete and some of the others on Jeff’s list.