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
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!
Practical
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.
- freeCodeCamp

Image via freeCodeCamp
freeCodeCamp’s mission is to help people learn to code for free. Its YouTube channel contains detailed video series on various programming languages and tech stacks. I really like freeCodeCamp’s Harvard CS50 course, which is essentially a crash course on various modern programming languages that include C, HTML/CSS/JavaScript, Python, Flask, and SQL spread across a series of two-hour lectures.
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!
Hi Eric! I really enjoyed learning about the resources that you like to use to bolster your knowledge of CS. I also really respect how willing you are to acknowledge that even as a teacher, you’re still learning. I recognize a few of the resources that you suggested. I used Crash Course a lot throughout high school and I even used it once to prepare for an interview. I’m not a CS major, but even I have heard of how great of a teacher CS Dojo is! Looking at the type of resources that you recommended, you seem to be someone who learns through audio and visual demonstrations, which I relate heavily to.
I resonate with your point about learning from teaching and also learning to be able to teach concepts in the best way possible. I’m a part-time CS tutor and I typically leverage resources like YouTube and Stack Overflow to understand core computer science concepts better and find interesting angles/ways to communicate difficult concepts better to my students. I’ve actually used a few of the resources that you mention in the blog––they’ve definitely helped me with interviews, classwork, and building lesson plans for CS students. Look forward to more of your insights about your experience teaching computer science!
Hi Eric! As a computer science student, I was not aware of some of these amazing resources that exist for students to learn more about specific concepts in the subject. I have enjoyed watching Crash Course videos ever since teachers used to play them in class in middle and high school. However, I did not realize that they now had a series for Computer Science. Hence, I am excited to check these videos out along with the “Map of Computer Science” video that you recommended. Apart from this, I really respect the commitment you have towards your role as an instructor and the extra work you put into your job to ensure you improve your teaching ability. I am confident that your students will greatly appreciate your teaching and will be positively impacted by your interactions with them.