I am currently enrolled in classes for Web Development.
I have been going for 1 month so far and they are having us build Tic Tac Toe.
Learning to code is not like learning to raise chickens or learning to split wood. It isn’t even like learning to read music. It’s like learning to read music and at the same time learning to teach an autistic five-year-old to read music.
You’re both learning a language, and learning to use that language to teach a computer to think. Make basic decisions, draw some conclusions, gather information… You have to not only think about language, you have to think about how to think.
TTT sounds easy, but it’s a non-trivial challenge. It has stopped many, simply because it can be complex.
But all these challenges are made of smaller building blocks, which are made of ever-smaller ones…until at the smallest, they can be easier. The challenge lies, in most of these complex projects, in this breaking-down step.
Most folks dive in and start coding, and get frustrated when things get dicey. Slow down, map out the process, the steps, and write down your questions. Bring them to groups like this. Ask silly questions!
I know what some of the parts mean but I seem to get stuck just trying to figure out where to start, or how to properly structure where to start. I feel I can “read” it but can’t(edit: spelling) write it.
Programming is 100% breaking down a problem into parts you can work with. You can break down in a problem in a 100 different ways, just figuring out what way is best is key.
Doesn’t matter the programming language or the program you are writing, it all needs to be broken down into smaller steps.
It gets more basic then objects if you think about how programmers simply break down problems into functions. Storing code in functions allows for later reuse.
You could create a entire program without declaring your own functions or objects, its just not the best way to break it down though.
I’m currently learning JS on FCC (after completing the RWD) and I’ve come to realize this is arguably the most difficult, yet most important step - breaking stuff down to the smallest component. Learning to do this is an invaluable skill that might take some time to acquire.