This post is for my blog mate, Brittany, but you guys are more than welcome to read it too.
I mentioned that I’ve finally managed to graduate from reviewing HTML/CSS, dabbled in responsive web, and am now starting my journey into Javascript. Javascript is where things are going to start getting a little tough, but I’m feeling up to the challenge.
Before diving in though, I had to learn a little bit about computational thinking, which is pretty much being able to think like a computer. Which means thinking simply. Apparently, these machines are as smart as we think they are.
There are four main principles of computational thinking:
- Decomposition
- Abstraction
- Pattern Recognition
- Algorithm Writing
These all sound kind of fancy, but I promise they’re really easy.
Decomposition
This where you take your big problem and break it down into smaller pieces. Like, micro small chunks. So, if my problem were pouring a glass of juice, my steps might look like:
- Choose what kind of juice to drink
- Take juice out of the fridge
- Choose what kind of glass to use
- Take the glass out of the cabinet
- Open the juice
- Pour the juice into the glass
- Close the juice container
- Put juice away
You get the picture. Even though I sometimes still make things complex, I actually use decomposition when I’m doing my graduate school homework. I write down every step I need to accomplish to finish my homework on sticky notes and then remove them as I do them. It really helps me to not get overwhelmed. Maybe my brain is more like a computer than I thought.
Abstraction
Abstraction is looking at your problem to figure out what is clutter so you can solve a simplified version of your issue. In the case of the juice, maybe choosing what kind of glass to use or what kind of juice to drink isn’t immediately life or death. As long as we have a glass and some juice we can get the ball rolling right? So omit it for simplicity sake.
Pattern Recognition
This is where you look at your problem to find any similarities. Why? Because if you can find some, maybe those issues can be solved using similar methods. Wouldn’t that be great? I’m lazy, so I think it’s awesome. Back to my juice issue. Take juice out of the fridge and take the glass out of the cabinet might be similar. What do you think?
Algorithm Writing
The last step. Write your instructions on how to solve your problem. This is what you’ll follow each time to get the results you’re looking for.
Pretty interesting stuff. Anyway, shout out to Skillcrush for the information, since they’re the ones I’m taking the Javascript lesson with.
If you’d like more information on computational thinking, Curriki has YouTube videos on it (Decomposition, Abstraction and Pattern Generalization, Algorithm Design). Google also has a free computational thinking course (for educators but….anyone can view it) here.
Anyhow, try it out and let me know what you think!