Click here to Skip to main content
15,569,644 members
Please Sign up or sign in to vote.
1.00/5 (2 votes)
See more: (untagged)
I'm looking for a book or an online resource to help me learn computer programming. After covering fundamental concepts and intermediate topics with examples and exercises, I expect it to include a project or two to work on and cement my understanding.
Please avoid suggestions/recommendations costing a lot of money which I'm short of. Thank you.

What I have tried:

Most books I've tried teach only basics.
Updated 2-Oct-16 20:05pm
[no name] 2-Oct-16 11:28am    
A google search is free.
Member 12771551 2-Oct-16 11:34am    
That's how my question landed here.
[no name] 2-Oct-16 11:35am    
I find it *very* hard to believe that google told you the CodeProject was some sort of a bookstore.
Member 12771551 2-Oct-16 11:46am    
Is this not a place to ask questions?
Richard MacCutchan 2-Oct-16 12:07pm    
What you have above is not a question. Ask a proper question and people will try to help you.

Sorry, but computer books are expensive - and the better the book, the more you generally have to pay for it.
First decide which language you want to learn (C# is a good start) then look at the Wrox, Addison-Wesley and Microsoft offerings - if you are lucky your local library may have them, or have access to them to lend you.

Whatever you do, read it cover to cover, and do all the exercises even if they seem trivial. "Doing" helps to "implant" the knowledge a lot better than reading does.
Share this answer
Member 12771551 2-Oct-16 11:41am    
> the better the book, the more you generally have to pay for it.

That's not always the case.

My question is not about a particular language or a publisher.
OriginalGriff 2-Oct-16 11:56am    
You can buy rubbish books for high prices - anything with multiple exclamation marks, "in xxx Days", or "for Dummies" qualifies - but generally speaking if you want a comprehensive book that actually covers all the material, then they are expensive. Plus all the "reliable" publishers generally charge about the same money.
And you can't have a specific book recommendation (or even a generally set of recommendations) without narrowing down to at the minimum a language, and preferably a particular environment / framework / OS. There is just too much variation otherwise: C++ Native code for Windows isn't even close to C# / Xamarin Forms for iOS and Android.
Not a book, rather a set of topics:

There is no shortcut to knowledge, there is no fast and easy way to learn programming, no one can learn for you, you are the only one that can do it and nothing can replace experience. 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 can get it or you don't. That state of mind is your ability to switch between customer level of thinking and computer level of thinking, said otherwise, it is your ability to translate customer fuzzy requirements into the requirements that the computer can handle and vice versa.

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 or 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 analyse methods, Dijkstra Top-Down method is a good start.[^][^][^][^]
- Learn SQL
- Learn Databases design and Administration
- Learn Regular Expressions

Remember the exercises and little projects are not here to make something useful, they are here to teach you programming.
Share this answer

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900