Today is Grace Hopper’s birthday, the OG of computer science. We talked a little about her on Monday, and want to celebrate her birthday (and the end of CSEDWeek) with some fun stories, and by showing you some cool, interactive ways to start learning computer science.
Alan Kay is an American computer scientist who has made great advances in object-oriented programming and graphical user-interfaces. (If you look around, you might find a video of him talking about Dijkstra, whom he doesn’t seem to like.) He’s got a long list of awards under his belt, and cared a lot about putting computers into everyone’s hands (incidentally, he basically invented the idea of a laptop at the same time). Here, Kay describes computer science and how different minds approach it:
Alan Kay talking about learning computer science. It’s old, but his comparison
to digging to China is interesting.
Learning computer science requires a pretty good handle on problem-solving thinking. And, coincidentally, so do a lot of strategy games. That’s why we think games can be a useful tool for learning CS. Like Kay says, problem solving has more than one dimension. So a game like LightBot, which requires you to creatively solve puzzles, is a great way to learn. And unlike a lot of educational ‘games,’ this one is pretty fun and is actually a legit puzzle game. (And we like legit things.) Also try Manufactoria, a complex and very difficult puzzle game.
You can also watch an interesting TED talk about how to “Dance your PhD,” and how bad powerpoint presentations actually threaten the global economy (awesome). It’s about making complex ideas simple to explain–which might not sound like CS, but is an important thing to be able to do when you’re neck-deep in code and are working with others who are also neck-deep.
The fact of the matter is simple: no matter what you love, computers are going to be a part of your life. (Unless you decide to be the next Grizzly Man, though we don’t recommend that.)
At least knowing how they work is important, because then you can solve your own problems rather than hiring a techie to solve them for you. Consider the flipside of the coin: if CS jobs are some of the highest-paying out there, then they’re also some of the highest-costing for those who need someone else to do it.
Computer science is all about doing it yourself and learning by doing. We recommend looking at some of these links to get you started:
- Check out the Computing: The Human Experience website. If you feel like helping make it happen, check out the Kickstarter page! (Bonus: the Kickstarter page has a cool video about what the project involves.)
- Khan Academy’s introduction to computer science, using Python.
- The CS career questions board from a popular community forum called Reddit. And an interesting discussion from the general CS board.
- If you’ve played the Game of Life, you know it’s pretty fun and has a lot of CS roots. Check out how someone made a Turing Machine in it.
- NINJA-IDE is a great tool, complete with an automatic debugger, to use while trying to learn Python (which is a great first language to learn).