Programming is a craft, first of all have to learn programming purposes, w3cschool to take you to find what they need to learn it!
0, learn a language
In fact, what language can learn, because languages are interoperable, C language or, for starters, Python is also very suitable.
But there is a misunderstanding, disabled access and that is the difference between programming languages and programming! -
A lot of people learn a language ignored the nature of the problem is that language can be disassembled !!!
"Language = Text + syntax"
Or, more abstract point:
"Language = torso + Soul"
1, learn some algorithm.
NOI / NOIP was pondering in order to satisfy their curiosity. Before you start understanding, you will finally open a different entrance!
2, do a project done
Each time to write a main method, and then a few functions / methods to get a Diudiu algorithm, seems to have acquired a sense of accomplishment can not be met, this time to do a project for training in hand.
Learning 3, multi-mode
In fact, this step should step. 2 operate together.
Learning never the best, you need to know at least two ways, one is the demand for learning, it is a systematic study. What are the needs of just want to go to school to learn, a little knowledge is a systematic step on left out to finish school.
Two ways blended learning, in order to ensure that does not lose momentum.
4, first learn C language or Python?
Non-computer professional people, learning to program the most important thing is to hold interest, rather than the tangled question of the skill tree.
As first learn C language is Python, recommended more senior programmer given is:
Python is simple to use (of course, the language itself is not so simple), there is strong interaction development environment, there are many third-party libraries, will have fun learning it much more fun than the C / C ++.
Every professional programmer should learn, or more or less understand C.
But the underlying C too strong in memory operations, but it is very complicated to implement functions, is not suitable to use as a language.
In addition, Python there like Numpy, Scipy such a scientific computing library, as well as such data Matplotlib rendering library, from doing research perspective, Python has the potential to become one of your powerful tool.