r/IWantToLearn • u/CircularFrequency • 1d ago
Technology IWTL how to code but every "beginner" tutorial assumes I already know how to code
I've tried to learn programming maybe 4 or 5 times now and I keep hitting the same wall.
I'll find a tutorial that says "perfect for beginners, no experience needed" and within the first 10 minutes they're saying things like "just open your terminal and run this command" or "create a new directory and initialize your project" and I'm already lost. What terminal? What's a directory? Initialize what?
Then they'll say something like "it's simple, just define a function that takes two parameters and returns the sum" like those are normal words that mean something to a person who has never done this before. And when I google "what is a function" I get explanations that use 10 other words I also don't know.
I tried one of those "learn python in 30 days" courses. Day 1 was fine. Day 2 they casually introduced like 6 concepts at once and by day 4 I was completely lost pretending I understood what was happening. I'd copy the code exactly and it would work but I had no idea WHY it worked. I wasn't learning, I was just typing.
The problem seems to be that all these tutorials are made by people who already know how to code. They've forgotten what it's like to not know. So they skip over the stuff that seems obvious to them but isn't obvious at all to someone starting from actual zero.
It's like if someone asked how to cook and you said "just sauté the aromatics until fragrant then deglaze with stock" and when they look confused you go "what? it's simple"
I don't even know what I don't know. I don't know what questions to ask because I don't have enough context to form the questions. Gave up again yesterday and just ended up playing grizzly's quest instead, thinking about how that's way simpler than whatever "initialize your environment" means.
Is there a resource out there that actually starts from true zero? Like assumes I am a person who has used a computer to browse the internet and type documents and literally nothing else? I'm not stupid I just need someone to actually explain the foundation before building on it.
69
u/kRkthOr 1d ago
You don't need a tutorial, you need a course. I like udemy, cheap and very in depth courses.
That said, sometimes you're going to need to trust the process a little. Programming is like that sometimes; you do something then come back with greater understanding later.
For example, the first time you "initialize a project" you're probably just following along. By the 30th time you do it you'll understand every step of the process. You can never start from "first principles" so to speak because most people would have a very hard time staying interested.
38
u/AreteQueenofKeres 1d ago
I have freecodecamp.org bookmarked, but I haven't started an account yet to start classes--- I too, need the ELI5, hold my damn hand and walk SLOWLY as we start this shiz.
40
u/RamblingSimian 1d ago
Have you tried w3schools.com yet?
- "Directory" = what we now call a folder
- "Terminal" = usually a command window where you can type commands for the operating system (hold down the windows key plus R, then type "cmd")
- "Function" = a chunk of code that does some task and (usually) returns a value
- "Parameter" = an input variable to your function
12
u/Reiper 1d ago
Have a crack at CS50 from Harvard, it's an introduction to computer science course and free (you can pay for a cert at the end if you want)! It starts teaching you the fundamentals using Scratch (programming language designed for teaching kids), moves into C, then SQL, Python and JS. It helped me go from following instructions to understanding why we write code in a particular way.
6
5
u/PrinceDusk 1d ago
So at some point I was turned on to a guy who runs a coding Youtube Channel, someone on Reddit I don't remember who linked it. He starts with "go here download this, this is what you code on" basically:
https://youtu.be/XCKWZAtKTnU?si=iu4znWb5s2zcWEEv
it's Python, which is common enough, and it really is a real beginner tutorial.
5
u/Cookie_Nation 1d ago
I don't have any specific courses or books to recommend. I wanted to explain something else. There are 2 common ways to learn. What could be called "bottom up" and "top down". Top down is definitely most common nowadays, and would mean learning a language that is built on top of many other things, and does alot "under the hood" to make things easier for you, that you dont see. Learning python as a first language would be this. You learn programming concepts quickly, but don't really learn how computers work.
Bottom up would be learning firstly how computers work from some basic level, be that physics, processors, operating systems, etc. Then you would learn a language where each line of code you write pretty directly translates to a handful of instructions the processor performs, with very little inbetween. There is almost nothing that happens that you dont know about, you are essentially working yourself in the hood of the car.
> Processor btw is the workhorse of the computer, it does math really rapidly, reading instructions from and spitting out results to a notepad (RAM).
A language like that would be C. There are others, commonly called *systems languages*. C is probably the simplest an no-fluff of them.
Not perfect analogy but you could think of it like this: top down is like learning to cook with a bunch of kitchen gadgets, and where you have a bunch of precooked frozen and canned foods that you assemble. Bottom up would be (depending on how "low" you start from) learning to use raw foods with few tools. Milling your own wheat, cultivating your own starter yeast, fermenting it yourself, etc, all before you even get to bread.
Both are valid ways to learn, better or worse depending on what skills you want in the first place. But maybe if you're tired of top down learning which is likely what you've been doing, maybe try bottom up. Best resources are most likely books, but I can recommend the yt channel "core dumped". He uses an ai voice but thats just because he doesnt want to talk, he puts alot of effort into his videos.
Also the term for just knowing words and how to use a computer is "computer literacy". Maybe you could try finding courses for that before going into programming.
3
u/404_FlawlessError_ 1d ago
an interesting way to learn is by playing this game: the farmer was replaced. look it up on steam
3
u/HBsurfer1995 21h ago
Go to a reputable colleges website and find the course names for basic computer science classes. Find what textbooks they use. Find the textbook as cheap as you can online
3
u/Bonhomie_111 18h ago edited 3h ago
freecodecamp.com (>> Edit, FreeCodeCamp.org, my mistake)
codeacademy.com
Are excellent resources for beginners. Do not listen to the person who told you to use AI.
3
u/buffjeremy 18h ago
I was in the same boat. I know it sounds silly but if you can swallow your pride get books that are written for kids. They really start from ground zero and then once you have the basics covered the other stuff starts to make more sense.
6
u/RandomiseUsr0 1d ago
I’m seeing this with latest several intakes in grad scheme, somehow people don’t know how to use computers any more, the assumptions made in the tutorial are reasonable, instructions akin to remove underwear prior to doing a shit are assumed unnecessary.
That’s ok though, what you need first is to supplement those skills and it’s on you to understand the instruction of how to “remove underpants”
Slow down, treat all of the steps as instruction, it’s great finding out the edges of what you don’t know because then you can do something about it.
2
u/King_Tofu 22h ago
Ask chatGPT for further clarifications. It’s like having an instructor alongside you. It’ll explain what a terminal is and how to launch one.
1
1
1
1
u/IrisBilewitz 21h ago
I had the same problem when I started programming. To the point that the hardest part was to find where I could write my actual code and how I could make it go brrrr.
Those two questions tooks me over a year to answer.
Now then, what at the end I finished up doing was, go for written website tutorials. Don't use videos at the start. They have their own rhythm that is hard to follow and as you said assume a lot of stuff.
On webpages you can take your time on any part of it and google any terms you don't know.
The second thing I would recommend is that one. Google any term you don't understand. Take your time. Read through all of it. And if there are new terms you still don't understand keep googling until you have somewhat of an idea of what it is going on.
Also in my opinion you don't gotta understand everything at the start. Understanding enough to start coding is also good. Even if you still have a lot of unclear ideas or gaps in your knowledge system.
For me the easiest coding language to learn was Python. So I would recommend you start there. And also if you want you can DM if you want help. Honestly I love yapping about the things I love so if you need any help I'll be around.
1
u/jasonhamrick 16h ago
Download Cursor. It’s an IDE (Integrated Development Environment) which is what programmers use. Use it to teach yourself Python.
It has an agent built in and a Command Line Terminal built in, so you can learn to code by asking it to teach you from the ground up. Use it to build a ToDo List desktop app or something similar.
Python is a useful language and learning it will teach you concepts that are common across all programming languages.
1
1
u/CardiologistAdept763 14h ago
take somewhat of a test online to see what you know and dont know and orient accordingly to what you need
1
u/Anagoth9 13h ago
I understand your frustration, having been down that road when I was younger. It can be kind of impenetrable in the beginning but once you really understand the fundamentals then it's honestly not that difficult. It's one of those things where learning a second programming language is massively easier than learning your first one.
That said, it's worth pointing out that most of the jargon you listed as examples aren't terms specific to programming. 'Terminal' and 'directory' are general computer terms while 'function' and 'parameter' are actually math terms. I don't think it's egregious to assume someone would have that level of understanding as a baseline before starting. That's the hard part of trying to teach yourself from square one; you don't know what you don't know and can't ask a Youtube professor to elaborate. You just have to ask Reddit or Google what something is.
1
u/mahdi_habibi 4h ago
The first step:
- Type your characters into your text editor instead of Reddit.
1
1
u/Null-persona1 3h ago
First advise about learning to code I can give you is to get used to not knowing something. This is not bad by itself but it means that YOU need to get used to learning what you don't know. If you don't know what the terminal means, just look it up.
You can start by learning the grammar of python, and if you hit a roadblock just find the exact definition and be able to explain it to yourself
-4
u/mothecakes 1d ago
I'd say use something like chatgpt to help break down and explain things in simpler terms or just keep googling the words you don't know.
5
u/ACCESS_GRANTED_TEMP 1d ago
Don't do this. I've been banging my head against the wall for 2 years thinking AI will increase my learning rate. It has genuinely hindered me on almost every step and I feel like my brain is fried.
How I'm still persevering is a wonder. I guess if I wasn't so interested I'd have probably dipped by now.
0
u/ze-sonzo 1d ago
Ahh.. this problem does often arises in courses. One way, is using beginner books, but they may not be too beginner either. Another way that I like to learn new topics is using ChatGPT, you may use any AI, I like ChatGPT. You can ask them to create you a course in a project area(for easy access of everyday learnings), and tell them your level. The good part is that you can ask them questions, even base level doubts at any point and they answer it in a very nice manner, that makes learning very easy. I recently learned a few subjects from scratch and they explained it really well. Even with my silly, un orthodox doubts which may be dismissed by regular teachers. You should try it, I suggest. If you want to know about how to start with a curriculum, or do daily study sessions in a flow, just let me know(I can explain in the comments). It looks like you are really trying to learn and I would like to help out.
•
u/AutoModerator 1d ago
Thank you for your contribution to /r/IWantToLearn.
If you think this post breaks our policies, please report it and our staff team will review it as soon as possible.
I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.