Learning path(s)

Hi everyone! I’m new to Exercism and I’m very impressed with the people and the platform. For 20 years I hadn’t dared getting back to coding and now, within 10 days, I have completed 20 exercises with the support of personal mentors. Wow. That feels amazing. I thank you all for making it work. And I’m looking forward to giving back.

While I came here to learn C I decided to start with Python given its syllabus (awesome!) so I can build a strong foundation. Looking forward, my idea is to finish the syllabus and when done, start looking at another language. Maybe C, to get a feel for the bone marrow. Or Type-/ JavaScript, for web and mobile. Currently I don’t have any requirements to choose a specific language and I don’t have a project (yet).

Do you think my approach makes sense? How did you go about learning how to think and dream in code?

5 Likes

Welcome back to coding and congratulations on achieving 20 exercises already!

I personally use various languages through work so love using Exercism to try out different languages and learning a lot from the various conceptual ideas/approaches that each language brings.

Python is definitely a great track to get back into coding. It can be applied to almost every use-case and has a wealth of libraries. It’s also multi-paradigm so you can approach from your preferred view - object oriented or functional.

The Python track also has a great curriculum so good choice!

1 Like

Practice, practice, practice. It takes time to really absorb the idioms of the language you want to learn.

I was thinking about “it takes 10,000 hours to master a skill”, googled it and found this which seems apropos: 10,000-Hour Rule: A Simple Rule for Mastering a Skill

This is a “cranky old man” essay that I love from Peter Norvig: Teach Yourself Programming in Ten Years.

This assumes that some people already have the qualities necessary for being a great designer; the job is to properly coax them along. Alan Perlis put it more succinctly: “Everyone can be taught to sculpt: Michelangelo would have had to be taught how not to. So it is with the great programmers”. Perlis is saying that the greats have some internal quality that transcends their training. But where does the quality come from? Is it innate? Or do they develop it through diligence? As Auguste Gusteau (the fictional chef in Ratatouille ) puts it, “anyone can cook, but only the fearless can be great.” I think of it more as willingness to devote a large portion of one’s life to deliberative practice. But maybe fearless is a way to summarize that. Or, as Gusteau’s critic, Anton Ego, says: “Not everyone can become a great artist, but a great artist can come from anywhere.”

1 Like

Thanks Glenn for this perspective. 10.000 hours would realistically mean 8 years give or take. BUT the other point of view in the article points out finding a mentor and mentoring - which thankfully are core concepts here. Now, I understand that having a long term goal, like the dog food calculator app on my phone, would give me great direction. I’m working on finding something. Meanwhile I continue building the base and try figure out how to learn most effectively.

Thanks Bethany for the inspiration. I’ve come to realize that thinking about the problem and then trying to figure out what code to write to solve it takes a lot of time. But if undisturbed, I discovered it to be a new quality time, where I can zoom out of the noise around…:pray:

1 Like

Top of the day to you.

I am a novice. I studied chemistry. I wish to learn to code, looking forward to working on embedded systems in the nearest future. I came across exercism by chance while on a reel. I have been here for three days but couldnt find my way to learning. All I have been doing were reading from the forum. Pls, I need a guide

Hi @Abdulazeezoder

Welcome to Exercism. Exercism is a place to learn new languages. It’s not particularly well suited for learning to code. You might want to start with the free courses at CodeAcademy and them come back here for more practice exercises.

1 Like

Ooh! Thanks a lot for your prompt response. I will try CodeAcademy as you suggested. I am appreciative

1 Like

Welcome! Thank you for your kind words and we’re really glad you’re here :smile: If you need anything, please don’t hesitate to reach out!

1 Like

Hi!

It would be easiest if you knew what you are thinking and dreaming about.

For me it was a mix of every possible approach.

  1. What’s available. Before broadband internet, all I had were 3.5" floppies from my uncle, and I found Basic and Pascal there.
  2. School. I had to learn Pascal and HTML/CSS/JS in high school, and then C, C++, Assembler and Java at university.
  3. Work. My friend was doing projects in PHP, so I joined him and learned the language in few weeks.
  4. Curiosity. Somehow I stumbled upon Rebol in the abyss of internet, this led me to Red.
  5. Volunteering. I needed Rust to contribute to a open-source distributed network project I love.
  6. What’s trendy. When I had an opportunity to lead a blockchain project, I immediately agreed and this exposed me to new set of tech like Solidity.

You have to investigate what you want to do with these embedded systems, then search for info what tools you need. Then start learning these tools (platform, language, framework, etc.).

Exercism is ok for learning, it has a learning section in docs for every language, and a curriculum in some of more popular ones.