Computer Science Resources
Updated: Jul 18, 2021
Teaching and learning are interchangeable. In learning, I can acquire the necessary knowledge to help others gain valuable skills. In teaching, I can expose myself to various perspectives, learn from students, and develop the humility to accept that I am not all-knowing – I still have a lot of work to do. For example, as I’m teaching programming this summer, I enjoy learning from Computer Science instructors on YouTube, so I can strengthen my CS knowledge while integrating outstanding teaching styles into my own instruction. Here are some channels/videos I benefited the most from:
Theoretical Computer Science serves as the foundation for most of our technological innovations today. Understanding computer systems topics such as memory (eg. RAM, ROM) and operating systems (eg. Mac, Windows) helps us choose the most suitable personal computer. Understanding how the internet works (eg. TCP, IP) helps us take full advantage while avoiding the dangers of the World Wide Web. Since technology has become so integrated into our daily-lives, a strong grasp of CS theory can allow us to make optimal decisions and better navigate our increasingly complex, information-driven world.
Map of Computer Science – Domain of Science
Image by Domain of Science via Flickr
Map of Computer Science is a YouTube video summarizing the field of Computer Science. With beautiful color schemes, engaging sketches, and concise explanations of CS subfields, this video helped me see the bigger picture of CS. At Duke, I took courses in the subfields of theoretical CS (eg. discrete math, algorithms), computer engineering (eg. electrical circuits, computer architecture), and CS applications (eg. data science, machine learning), but I didn’t quite view these subfields as interconnected as I view them now. This map helped me connect the dots and at the same time realize that there’s so much more to learn. The 10-minute video is definitely a worthwhile investment for anyone looking to gain a more holistic view of CS!
Crash Course Computer Science
Image via Crash Course
Crash Course is an educational YouTube channel founded by John Green and Hank Green. I’ve been watching Crash Course videos since high school and their video series helped me learn a wide range of subjects in a fun way! The Crash Course Computer Science series contains a theoretical overview of all important CS topics, from the history of computing and Central Processing Unit (CPU) design to computer networks and artificial intelligence. Like watching all other Crash Course series, watching the professionally-produced CS series is like watching an entertaining Netflix show!
Building a fully functional product that solves a problem or automates a tedious task is one of the best feelings ever! Practical Computer Science mainly involves planning, writing, testing, and debugging computer programs. Coding is not only a result-oriented task. Since there are so many ways to implement a program, it is also an outlet for creativity.
Data Structures & Algorithms – CS Dojo
Image via CS Dojo
Data structures and algorithms are the most commonly tested subjects in coding interviews. I find CS Dojo’s Data Structures and Algorithms series particularly helpful. CS Dojo is an ex-Google software engineer who has accumulated over 1.6 million subscribers on his CS education YouTube channel. I find his teaching style very effective as he simplifies difficult concepts and walks through code step by step, giving plenty of insight into his well-versed problem-solving mindset.
Image via freeCodeCamp
There are so many great online resources to learn how to code for free. I highly encourage everyone looking to learn CS to check out the YouTube channels/videos I recommended above!