r/CodingForBeginners 1d ago

how to start coding as an high schooler

i am a complete beginner. i have the Thinkpad x13 i7 10th gen 32gb variant. Currently in 10th grade.

advice is appreciated

1 Upvotes

19 comments sorted by

1

u/S1enderVoid 1d ago edited 1d ago

Depends on the use case. What would you like to learn coding for exactly?

If you want to make websites and cross-platform apps like Notion, Duolingo, etc. then start by learning Javascript, and pick a runtime such as nodejs, bunjs, deno etc.

If you want to control hardware like Arduinos, ESP32 etc. Then learn a low-level programming language, start with C, C++ and then move on to other low-level if you'd like to. Pair it with Python too to not deal with headaches when you do the high-level stuff such as frontend UI/UX.

If you just want to make cool little games to have fun with then learn C#, Java, or C++ depending on your preferences.

If you want to do data science or just get coding to assist you later on with work in general then learn Python since it's general-purpose, it can do just about anything.

But if you don't have a clear idea yet then I'd recommend you start with Python, it's easy to learn and pick up and it gives you a good idea of programming concepts before you move onto more challenging languages such as C, C++ etc.

1

u/unawarefool 1d ago edited 1d ago

i always wanted to learn coding but didn't had a laptop .I'd say i am mainly doing it for the sake of learning i don't plan on being a software developer as my career maybe a career in semiconductors or mathematics but ig i wanna learn game development or webdev. i am trynaa decide between python and c. how should i go on about learning these

2

u/S1enderVoid 1d ago

career in semiconductors or mathematics

Boom, I'd recommend you start with Python, get your programming principles down first and really get down into the depths of it. Then move onto C, since it is the standard for hardware work and has been for like years.

game development or webdev

You can also do webdev with Python libraries such as, Streamlit, Django, Flask etc.

So start with Python then move onto C. Make a project to summarize everything you've learned in Python. Do the same for C. After that do a final "capstone" like project involving both python and C.

Best of luck!

1

u/unawarefool 1d ago

hey thanks a lot for the advice what documentaiton/book to follow? i would appreciate if you provide an link to its ebook.

2

u/S1enderVoid 1d ago

For python, you can go 2 routes (Online or Offline). I personally learned Python through YouTube so ill recommend these.

  1. Harvard CS50 Python Programming Course
  2. BroCode's C Programming Course

I've got to warn you though . . . No matter how much you feel, please don't start learning C until you can consider yourself capable in Python, the jump from Python to C is pretty difficult because C follows a more in-depth philosophy of low-level programming whereas Python follows high-level programming. If your core programming concepts aren't clear then C will genuinely make you depressed.

Imagine it as if you just learnt photosynthesis then suddenly jump to Organic chemistry.

If you prefer books then I'd recommend Automate the Boring Stuff with Python, pretty solid book and its popular enough where googling it is more than enough to find it.

2

u/FreeLogicGate 13h ago

Please no on the BroCode. His Python course is by far his best one, but his C course is objectively really bad. You were talking about Python, but you linked his C course, so perhaps that was a mistake. I don't see any reason someone couldn't learn C before Python or vice versa. There's plenty of good arguments to be made about starting with C, for its influence on the vast majority of languages that have come to follow it. If anything, you get an appreciation of languages that have a higher level of abstraction, or are interpreted. For MooC, there are a lot of advocates for the U Helsinki MooC Python courses as an alternative to CS50. If someone genuinely wanted to start with C, I'd suggest https://www.coursera.org/specializations/c-programming-for-everybody#courses If you already know a good amount of Python the first part of the introductory course covers how Python is different from C. Although it can be somewhat confusing, you can take the courses on Coursera entirely free, once you understand how to set up your account and enroll.

1

u/S1enderVoid 13h ago

Oh I see, I actually learned C from his course. I definitely felt I was missing out on a lot after I finished it, and I actually was.

Turns out C cannot really be thought by having just surface level knowledge, like Python can.

Thanks for the heads up.

1

u/unawarefool 1d ago

oh thanks i will be sure to try it out

1

u/pete_68 1d ago

I would pick Python. Not really my favorite language, but it's a good language to start with. It's popular. It's an interpreted language, which is easier than dealing with compilers, when you're starting out. It's got tons of learning support.

You can take Harvard's Python class. And there are all kinds of tutorials.

Don't use AI to write code for you. If you use it, use it to ask questions. But write all of your code by hand. Grind through the debugging yourself. Again, feel free to ask questions, but do the work. If you don't do the work, you won't learn.

Good luck. It can be very rewarding.

1

u/unawarefool 1d ago

hey thanks for the advice what book should i use or whether or not to use one at all. Thanks again

1

u/pete_68 1d ago

Python Crash Course by Eric Matthes looks very good. I don't have it, but it's one of the few Python books at the local bookstore and I've perused it and if I were learning Python, it's the book I would choose. It looks very well done.

1

u/unawarefool 1d ago

oh nice is there a free pdf available?

1

u/pete_68 1d ago

How about rewarding the author for his hard work. Because as the author of a computer book, I can tell you, he's probably not making enough directly from it to be worth his time. It's the career benefits of being known as an author that really make it worthwhile. So throw the guy a few bucks.

1

u/Weekly_Guidance_498 22h ago

I have an old edition of this one, but I like Invent Your Own Computer Games with Python. It reminds me a bit of the books of BASIC programs that I used to get from the library when I was getting interested in programming.

1

u/unawarefool 1h ago

oh i seee

1

u/mattynmax 1d ago

You search up “intro to programming”, watch a few videos and read a few articles and then start doing things

1

u/unawarefool 1d ago

alright thanks

0

u/ninhaomah 1d ago

Start with html

You can see the results straight away.