These days, computer science makes the world go round in most ways except literal. We're celebrating this amazing field by setting you up with different resources to hone your software skills!Favorited Favorite 1
Happy Computer Science Education Week, everyone!
The field of computer science has changed a lot over the past century or so (and even further back than that), and every new generation gets to learn about it in a different way. My dad studied computer science in college back in the 80s, and he loves telling stories about the punchcards they had to use to communicate with the computer – especially the one where his classmate dropped a box containing the ordered cards for a completed project down a flight of stairs. Trial and error was a time investment, and you had to make one entire statement for one machine instruction. The value in computers wasn't that they were smart - they weren't. But they were fast. As long as you told it exactly what to do, it's computational speed made it worth all the fuss.
When I first started learning computer science, I was a freshman in college being introduced to programming through Python, a more streamlined and far less tedious process than dealing with assembly language (my dad made sure I knew that when I asked for help with my homework). I remember writing my first script and being amazed at what was possible. Handling big batches of astronomical data, automating simple tasks, and translating any text to pig latin (my very first project) was just a few lines of code away. Beginning to understand logic and algorithms solved questions I'd had my entire life about the way computers worked.
Now, as educators are learning how important coding ability is to job opportunities after school, they are having students learn it earlier and earlier. The AP program offers multiple computer science classes for high schoolers to take for college credit, setting them up on a fast track once they get to college. Middle schools and elementary schools are teaching students the basics of computer architecture, algorithms, and introductions to hardware and software to give the students a head start on STEM concepts.
However, learning isn’t just for students! If you’re an engineer or a scientist, chances are you’re always learning. And if you’re looking to develop your software skills, look no further; we’ve compiled a list of resources for you so you can keep up to date with everything in the industry, not just the hardware we know you love so much.
While Coursera is a paid platform, many of its courses are able to be audited for free. Universities such as Harvard and Princeton offer computer science courses there, as well as companies such as IBM and Google offering certificate programs. Some universities even offer masters' degrees exclusively held on Coursera for computer science. They’ll provide you with a structured journey through computer science at many different skill levels, and specializations are available in every area from analytics to algorithms.
Work your way up through the ranks with Codewars, a martial-arts themed coding practice website. Pick a language out of a long list and work through various problems of varying complexity, getting hints and talking on a forum as you go. Text manipulation, numerical problems, and complex data handling are all on the table!
This book takes apart computer hardware and software to view them at their most basic level, showing they’re two sides of the same coin and unveiling concepts all of us have wondered about before. Petzold wrote that his goal was for readers to understand how computers work at a concrete level that "just might even rival that of electrical engineers and programmers." It adds a narrative to the technical concepts that keeps your attention, and has been described as "a love letter to computers." And the second edition came out this year with additional chapters!
Have any young ones around that you want to follow in your footsteps? It's never too early to start quizzing them on logic gates. According to its author, this book is perfect for you if you: