How to teach yourself programming for the long term?

In summary: To become good in a field you first learn from books/lectures/tutorials/examples etc. and then you go and play around with that new knowledge. Modify/combine the things you learned and in the process come up with ideas of your own. And of course you then repeat those two steps over and over again over many years.
  • #1
Aichuk
29
1
No, I'm not asking what language to learn, etc. I started learning python last year and i was wrapping my head around the basic concepts and even making some nifty programs.

However, one day I just got frustrated and gave up. I know frustration is common but I felt very stupid while programming because I had to look for a lot of help online and couldn't come up with the logic myself. I also couldn't properly install certain files.

But now I'm looking to start over again. I'm thinking of using Java and the Stanford School of Comp. Sci. as a resource. But I'm looking for the steps to follow. I'll start off by learning the syntax but then what? Should I do problems online? Is it alright to see the answers of these problems if I can do them? What are the proper steps?
 
Technology news on Phys.org
  • #2
(1) Write the simplest program you can think of ("hello world").

(2) write a just slightly more complex program.

Repeat step 2 over and over.

Learning programming is exactly like learning to ride a bike. You do NOT learn it by reading about it, you learn it by doing it.
 
  • Like
Likes elusiveshame and DrClaude
  • #3
Aichuk said:
...
However, one day I just got frustrated and gave up. I know frustration is common but I felt very stupid while programming because I had to look for a lot of help online and couldn't come up with the logic myself. I also couldn't properly install certain files.
...
Should I do problems online? Is it alright to see the answers of these problems if I can do them? What are the proper steps?
:D
I suggest you read a book of the language you like, learn the basic syntax to code simple programs first then the data structures (list, stack, queue, tree).
My way to learn stuff is like this. I spend only 1-2 hours a day reading a book, then I observe my surroundings for similar things I just read, then continue to imagine what the rest of the book is about by reading chapter items and link what I see with them. I never finish the whole academic book myself. If my method interests you, go with it. Life is full of colors. But remember it doesn't always work. :D
Anyway I think my method works best for those who want to learn about feature engineering.
 
  • #4
Imagine anyone trying to become a physicist would never look at other people's work but instead tried to come up with everything himself. There wouldn't be a single good physicist in the world. You have to learn from other people to get anywhere.
To become good in a field you first learn from books/lectures/tutorials/examples etc. and then you go and play around with that new knowledge. Modify/combine the things you learned and in the process come up with ideas of your own. And of course you then repeat those two steps over and over again over many years.

Of course it takes a long time to become a good programmer. And it is impossible to learn everything. Every professional programmer has to look up stuff online all the time because there is just so much information out there. You can't memorize it all.
And looking at other peoples source code is of course perfectly fine. You can learn a lot by looking at code examples. But you should try and understand these examples and then modify and play around with them.

Maybe the most important thing for you is to get motivated.
For that it might make sense to start with a simple language that gives you fast feedback. Having to spent a lot of time learning before you can make anything interesting can be frustrating.
You could look e.g. at App Inventor http://appinventor.mit.edu/
With that you can create an android app within 5 minutes.

One other thing that could be helpful is this lecture series from 1986.

It really helps you to look at programming with a new perspective.
 
  • #5
phinds said:
(1) Write the simplest program you can think of ("hello world").

(2) write a just slightly more complex program.

Repeat step 2 over and over.

Learning programming is exactly like learning to ride a bike. You do NOT learn it by reading about it, you learn it by doing it.

Agreed. Also, after you write your beginner programs, and your code becomes more complex, looking for ways to improve and optimize code will help you learn new methods to writing code, as well enhancing your knowledge.

Beginning to learn to code can be very frustrating, to the point of devastation that will make a lot of people quit before they even start. The trick is to slow down and read up on what is tripping you up and hands on experience to apply your knowledge.
 

FAQ: How to teach yourself programming for the long term?

1. What are the essential skills needed to teach yourself programming for the long term?

The essential skills needed to teach yourself programming for the long term include strong problem-solving skills, the ability to think logically and analytically, attention to detail, and a willingness to continuously learn and adapt to new technologies and languages.

2. How do I choose the right programming language to learn for long-term success?

The best way to choose the right programming language for long-term success is to consider your goals and interests. Research the demand for different languages in the job market and choose one that aligns with your career aspirations. It's also important to consider the resources and support available for learning a particular language.

3. What are some effective strategies for teaching yourself programming for the long term?

Some effective strategies for teaching yourself programming for the long term include setting achievable goals, breaking down complex concepts into smaller parts, practicing regularly, seeking out online resources and communities for support and guidance, and working on real-world projects to apply your skills.

4. How can I stay motivated and avoid burnout while teaching myself programming?

To stay motivated and avoid burnout while teaching yourself programming for the long term, it's important to take breaks and not push yourself too hard. Celebrate your progress and successes, and don't be too hard on yourself when you encounter challenges. Surround yourself with a supportive community of fellow learners and seek out mentors for guidance and motivation.

5. How can I ensure long-term retention of programming knowledge and skills?

To ensure long-term retention of programming knowledge and skills, it's important to continuously practice and review concepts, as well as to apply what you've learned in real projects. Consistently learning and challenging yourself to solve new problems will help reinforce your understanding and retention of programming principles and techniques.

Similar threads

Replies
14
Views
2K
Replies
56
Views
8K
Replies
58
Views
4K
Replies
8
Views
2K
Replies
8
Views
1K
Replies
13
Views
2K
Replies
3
Views
1K
Back
Top