skills to Learn Coding [SOLVED]

Thread Starter

Pushkar1

Joined Apr 5, 2021
416
I think, not every person can learn everything, some people already have some learning skills. Which skill do you think is necessary to learn coding?
 

Yaakov

Joined Jan 27, 2019
4,022
When I use the word “skill” I mean something learned and practiced, not a native talent or way of thinking.

To develop a good program, a person needs to think logically and systematically. They need to be able to see a big picture representing the system they are building and divide that up into optimal subsystems.

But I know many programmers who make a living writing code for others who do the design and specification. The code they write is for subsystems or parts of them. They do things at a small scale and succeed at it.

A good programmer, no matter their level of work, needs to be able to think algorithmically that is, they need to be able to break down a process into essential steps that achieve the ultimate goal. Partly, this is native, a way of thinking some are better at than others. But, given a person of at least avarage intelligence, and an interest in learning, a good instructor can teach them to program successfully by giving them heuristic tools to derive algorithms.

The rest is learning about the computer languages in general and the one being used in particular; as well as the general aspects of operacting system and computer architectures,

Programming is a skill, it is learned by instruction and practice. Those autodidacts who learn to program well demonstrate the native mode of thought necessary to understand and do this without help, others need instruction. With motivation and practice almost anyone who wants to program can learn to be competent.

[EDIT: Typo correction]
 
Last edited:

Delta Prime

Joined Nov 15, 2019
1,213
Hello there. :)I think speaking & writing in two different languages is a good skill to have. Computer programming languages, is like writing in any human spoken language but a lot more formal. When constructing a sentence in a human language, we need to follow its grammar. Programming languages also have syntax or rules of the language and they have to be followed strictly.
 

ericgibbs

Joined Jan 29, 2010
14,712
hi P,
In which region's context are you using the word 'skills'.?
E

skill.
the ability to do something well; expertise.
"difficult work, taking great skill"

South Asian
train (a worker) to do a particular task.
"training firms are already seeing a boost from companies looking to skill employees in cloud technologies"
 

panic mode

Joined Oct 10, 2011
1,995
before you get there, did you think of actual goal, what kind of programming you are interested in?

learning programming takes time so you should decide what the key objectives are.
while the underlying principles are the same, actual application and language can make the difference.
if the goal is to program PLCS, learning ladder is straight forward and quick even without formal training in programming.
but programming ladder logic will be limiting too. it will not prepare you for 3D or database programming.
required match skills also vary. is this learning supposed to lead into a job or career or it is just for hobby such as having fun with microcontrollers?
 

Thread Starter

Pushkar1

Joined Apr 5, 2021
416
before you get there, did you think of actual goal, what kind of programming you are interested in?
I write C code for microcontrollers

is this learning supposed to lead into a job or career or it is just for hobby such as having fun with microcontrollers?
I know it takes a lot of practice and patience to be a good programmer. I want to make my career in embedded software developer.
 

panic mode

Joined Oct 10, 2011
1,995
then you narrowed it down substantially. i would suggest to simply build bunch of projects and let them grow in complexity. there are tons of good books, tutorials and other resources. it will be good a preparation for the university and give you a leg up.

note that programming means understanding hardware, at least to some degree. interfacing peripherals to MCU requires some hardware skill but this can largely be circumvented by looking up example of projects others have done. don't take on too complex things, work your way up incrementally. you want to maintain motivation and not end up frustrated (it is a long process)
 

Thread Starter

Pushkar1

Joined Apr 5, 2021
416
then you narrowed it down substantially. i would suggest to simply build bunch of projects and let them grow in complexity. there are tons of good books, tutorials and other resources. it will be good a preparation for the university and give you a leg up.
I agree with you but there is a problem in this that if you have to make bunch of projects then you have to buy hardware for that. we can use the same microcontroller for any project but we have to buy a new sensor and required hardware part for each project which leads to more cost of money.
 

nsaspook

Joined Aug 27, 2009
9,097
How systematically logically and Abstract thinking can be developed before to start coding ?
What is coding? If coding means the creation of computer program then you don't need much logical and abstract thinking to actually program. You need structured (in your mind or on 'paper') specifications of a problem and structured solutions. The first step is to actually understand the root problem or goal in a logical manner and then to abstract the physical/computing requirements into an embedded framework. The ability to turn embedded complexity into complicated but structured embedded programming specifications depends on having a solid foundation in the basics of computer, electrical sciences and practical experience. Practical experience takes time, effort and money. There are no shortcuts.
 

djsfantasi

Joined Apr 11, 2010
8,078
In addition to learning how to write code, develop your skills in reading code.

You’ll see a lot of common techniques. And add them to your skills.

To assist in reading code, research common algorithms. While I can’t recommend one, there are books on common algorithms.

Which reminded me, learn how to read more than one language. Most techniques are used in all languages. By learning a second, third or more languages (at least at the reading level), you’ll start to generalize how to approach coding.
 

SamR

Joined Mar 19, 2019
3,843
Also, the ability to correct your mistakes and survive to be able to do so. Unlike what our Plant Manager expected there are few programmers who get a complex program 100% correct on first pass. Something our IT manager spent quite some time convincing our Plant Manager was how it really went.
 

Thread Starter

Pushkar1

Joined Apr 5, 2021
416
You make a mental picture in your mind and you operate the picture in your mind step by step. That is the basis of all algorithms. After a while you start to see recurrent patterns in the operation of the mental picture.
It is easy for small projects, but it becomes very difficult for big projects. For example, if matrix keypad and LCD are connected to 16*2 microcontroller then writing program is not so difficult but when USB keypad and monitor are connected to microcontroller and it requires writing program then it is difficult
 
Top