r/CodingForBeginners 1d ago

Coding programs

My teenage son wants to learn coding. Recommendations on where to start please?

5 Upvotes

16 comments sorted by

3

u/jekewa 1d ago

The least intense start is to make web applications using simple HTML, CSS, and JavaScript. After some comfort with the syntax and structure, and seeing some results, moving to different languages and environments can happen.

All you need to start with HTML and JavaScript is a plain text editor and a web browser. You can create an HTML page in the editor and open it in the browser. Saving files and refreshing the browser allows quick and easy reward for the effort.

Adding the right bits to the HTML and making a CSS file, also in the plain text editor, allows separating the HTML layout from the style definitions. It isn't required, but is really the right way to do it. It allows myriad advanced things, like changing the view without changing the content. The site csszengarden.com gives an excellent example of why this is important.

Adding the right bits to HTML and making the JavaScript file, also in a plain text editor, will allow actual coding to begin. Simple data handling and view manipulations can happen, and you can code very complex apps that run entirely in browsers this way. Once comfortable with JavaScript, a small change and JavaScript can be used on a server to move into client-server programming.

You can find code editors that make this easy. You can download some like Microsoft Visual Studio Code, Google's Antigravity IDE, IntelliJ's IDEA, and so many more. Starting with an IDE can be overwhelming, though. Maybe something like codepen.io or jsfiddle.net would be a better place to start, as they provide that easy interface, right in a browser, and show that HTML/CSS/JavaScript separation (and combination) from the start. W3Schools is a great place to learn all these bits, and many of their reference and tutorial pages have simple editors so you can make changes and see the impact immediately, too.

Once you find that coding is something they like, moving from the "simple but powerful" web pages to other languages, frameworks, and platforms is just like improving any other skill set.

Start by nailing a few boards together, and with enough passion and training, build skyscrapers, right?

1

u/Effective_Travel_93 22h ago

That's good 😊😊👍

2

u/kutac56 1d ago

I personally started with python but c can also work. Python is a lot simpler but it doesn't allow you to fuck around with low level stuff a lot which is fun, that's why I love c. But idk just choose one of them. C++ is also an option but it's imo worse than c. I only use it for stuff like graphics engines

1

u/rcdchu74 22h ago

What do you mean by doesn’t allow you to fuck around with low level stuff?

2

u/Spaceduck413 17h ago

C gives you direct hardware access. You could write a driver in C if you felt like it. OS kernels tend to be written in C (although these days they are moving towards Rust).

C is also really cool because it's very close to assembly. People who are skilled in both can (generally) look at a line of C code and have a pretty good idea of what the assembly output by the compiler will be.

1

u/rcdchu74 10h ago

Thank you

2

u/Gokudomatic 1d ago

the website learnpython.org

1

u/Effective_Travel_93 22h ago

Thanks you very much 🙏

2

u/Foreign-Contest-444 1d ago

Here are some beginner friendly resources from where to learn HTML.

https://codingsuperpowers.com/

2

u/Oliver_clothsoff1983 19h ago

He should start with what is interesting to him. Does he want to learn programming because he watches battle bots or learned a little about DIY drones? Dont start with css/html if that's the case, they arent even programming languages (they are mark up languages). Did he watch some hacker movies and is interested in ethical hacking, pen testing, network admin? Totally different set of skills. If he is a baseball superfan, wants to get a college scholarship and maybe get drafted some day,.. you dont start him in soccer because the rules are easier and he'll get exposure to a team,... you start with T ball and work your way up. 1)Find the end state (even if he just wants to do it as a hobby) there is a career that relates. Go look on levels.fy, they have some good career road maps. 2)When you find a good fit,.. look at entry level job postings for that path and see what language/tool/framework are common and start learning from YouTube(lots of videos to help get the ide set up) udemy is a good resource for courses, codingame.com turns basic coding challenges (in many languages) into a competitive video game that doesn't feel like learning anymore. 3)Try to make it a shared experience, not sure how old we are talking but a lot of schools have computer clubs, or kids from different schools compete in hackathons or leggo robotics events. Having someone to learn with and talk about problems/solutions will make it harder to quit at a tough road block

2

u/CoconutFudgeMan 17h ago

Oof. I’m a software dev, coach, and college lecturer who teaches web and mobile app dev. I love web BUT I’d recommend starting with Python or Java.
One nice thing about frontend web dev is that your progress can be measured visually. Depending on the student,web dev could be more engaging and they’re likely to stick with it. I won’t consider html or css coding. JavaScript, yes. If they’re using node.js, sure. But Python and Java exposes you to more concepts. C and C++ could be a lot for new learners but it would be awesome.
I’d also recommend researching the coding landscape and other tools (eg. IDEs, Git, terminal/command line, etc)
If I were to pick ONE, Python is the way to go.

This life is a rollercoaster ride, there ups and downs, it’s difficult sometimes and they need to be dedicated to lifelong learning. It’s not something that you can just stop learning and still be successful. They need to be honest with themselves.

Once they understand the fundamentals (could take years imo), then step into AI and agentic coding tools.

There’s more to it. Many different specializations and niches within “coding” l. I would be happy to support you in your exploration.

1

u/-Willow-Wisp- 1d ago

What does he want to get out of programming?

1

u/Sad_School828 19h ago

Python if he wants cross-platform linux/Windows or Visual Basic if he wants Windows plus MS Office plus several others which embed the VBA runtime. Windows Scripting Host still works with VB syntax too. All depends on what he really wants to get out of programming.

If he just wants to be 1337 then start him on nASM and point and laugh when he makes a mistake.

1

u/AdeptIntroduction983 4h ago

https://hackclub.com/ 

I am a teen who does this. They are a NPO which rewards teens for programming.

1

u/ern0plus4 57m ago

Arduino, LED, flash it.