How I would learn to code (If I could start over)
TLDRThe speaker shares their learning journey, advising to start with Python or JavaScript to learn coding fundamentals before tackling complex projects. They recommend building a simple personal website to apply coding to something useful yet achievable. After gaining competency, learn C/C++ for depth before exploring trendy languages. Seek motivation in creating your own solutions and joining hackathons, but be patient with the learning process.
Takeaways
- π Start with an easy coding language like Python or JavaScript
- π Learn coding basics like variables, functions, data structures first
- π οΈ Use coding basics to build simple but useful programs like a website
- π Focus on back-end, front-end and database when building a website
- π€ Use existing frameworks like Django, React instead of writing from scratch
- π‘ Build projects that solve problems you actually have
- π Move on to lower-level languages like C/C++ later to cement fundamentals
- π Attend hackathons to learn new things and complete projects
- π Expect your confidence to dip initially as you realize how much there is to learn
- π Persist through self-doubt - if others can code well, so can you
Q & A
What programming language does the narrator recommend starting with and why?
-The narrator recommends starting with Python because it looks like plain English and is easy to get started with. You can quickly learn basics like variables, functions, data structures, and control flow.
What are the key differences between coding and programming according to the narrator?
-Coding refers to writing code to solve computer science problems, while programming is using coding skills to create programs that solve real-world problems. You need coding fundamentals before you can effectively program.
What backend and frontend frameworks does the narrator suggest using?
-For Python backend, the narrator suggests Django or Flask. For JavaScript backend, Express.js. For the frontend, React.js. For the database, MongoDB.
What characteristics make for a good beginner programming project?
-A project that solves a real problem you have, is useful but not too complex, and is unique rather than copying tutorials. Following tutorials but building slightly different projects is a good approach.
Why does the narrator recommend learning C and C++ later on?
-Most modern languages derive from C and C++ concepts. Learning C and C++ fundamentals thoroughly will make picking up new languages much easier in the long run.
What are hackathons and why does the narrator recommend them?
-Hackathons are events where you build an entire project in 48 hours alongside others. They expose you to new concepts and let you build something substantial with help. The narrator sees them as great learning opportunities.
What is the Dunning-Kruger effect in learning programming?
-The Dunning-Kruger effect is when you are overconfident at first when starting to learn, then feel you know nothing as you realize how much there is to learn before confidence goes back up.
Should you start with advanced topics like machine learning?
-No, the narrator advises against starting with very advanced topics like machine learning. You won't have the coding fundamentals or math background needed to effectively learn it early on.
Is it okay to follow coding tutorials when starting out?
-Yes, following tutorials can be helpful, but the narrator recommends building projects that are similar but not identical to the tutorials, so you can't just copy solutions.
How important are fundamentals like C and C++ in the long run?
-Very important. Most languages derive from C/C++ concepts. Having strong fundamentals will make picking up new languages much easier down the road.
Outlines
π How I'd learn coding from scratch based on experience
The speaker started learning coding in grade 11 with Scratch. In university, they learned Racket, C, C++, HTML, CSS, Tcl, Python, Java, JavaScript, C# in that order. C and C++ are the most useful to learn fundamentals. Starting with something too advanced like machine learning won't work. Need to balance usefulness and difficulty when starting out. Python or JavaScript are good first languages. Build a simple web app to practice coding and programming. Make something useful for yourself as motivation. After basics, learn frameworks like Django, Flask, Express, React. Then circle back to strengthen C/C++ fundamentals long-term.
π How to build your first web app with Python or JavaScript
For a first web app, build a simple backend in Python/Django or JavaScript/Express. Then build the frontend with HTML, CSS, JavaScript, React. Use MongoDB for the database. Build something simple but useful for yourself as motivation. Can follow a tutorial but build something different than they do like a currency converter. After building skills, learn C/C++ fundamentals deeply. They underpin most other languages. Expect to experience the Dunning-Kruger effect but trust the process. Attend hackathons to learn new things and build projects.
Mindmap
Keywords
π‘coding
π‘programming
π‘website
π‘JavaScript
π‘C/C++
π‘useful
π‘motivation
π‘frameworks
π‘fundamentals
π‘Dunning-Kruger effect
Highlights
First significant research finding
Introduction of new theoretical model
Notable contribution to field
Transcripts
5.0 / 5 (0 votes)
Thanks for rating: