Broadly speaking, computer science is the study of the principles and use of computers. Given that everything from wristwatches to refrigerators is likely to have a computer in it these days, studying computer science is a great move. After all, computer science skills can be used across all industries, making for virtually endless career possibilities. And it doesn’t hurt that technology professionals are some of the highest paid out there. This guide is here to help you on your computer science journey. Inside you’ll find myriad resources to help expand your understanding of this wide-ranging field of study. Whatever your level of expertise, you’ll find something of interest here – from great introductory resources, practical coding resources, study resources and lists of podcasts and blogs. Have fun exploring!
General Computer Science Resources
The following resources provide a little bit of everything about computer science, including an introduction to computer science, a bit about its history and resources for various programming languages.
Introduction to Computer Science – This entry includes a broad overview computer science with several sections, from “what is a motherboard?” to “arrays, strings and records.”
Stack Overflow – This site is the self-described “largest online community for programmers to learn, share their knowledge and advance their careers.”
What Is Coding? – This source provides 15 facts about coding for beginners to understand what it is all about.
Java 101 – Java is probably the most used coding language for programmers and developers. It can be used for various purposes, such as mobile and desktop apps, as well as Android apps for smartphones. Learn more about this simple way to code from this website.
PHP: What is PHP? – This resource explains that PHP is used for web development and can be embedded into HTML. If you are still confused, click on the link above to learn more.
What is Python Used For – Developed in the 1980’s and named after Monty Python, this coding language has many functions and hundreds of third-party libraries. Learn what you can do with Python by following this source.
Objective-C Tutorial – This coding language is mostly used for the construction of iOS websites. This resource explains that learning Objective-C is the first step to applying XCode, the authorized software development tool for Apple.
Computer Science Study Resources
These resources include some great computer science learning aids. Whether you’re studying for an exam or studying for your own understanding of the subject, these resources are sure to help.
Computer Science Self-Study Guide – This guide provides information and resources for learning and studying computer science on your own.
Computer Science Study Guides – Come here for a robust assortment of computer science study guides.
A Beginner’s Guide to Computer Science – This comprehensive and easy-to-read guide covers strategies for learning computer science and introduces many of the concepts.
Introduction to Programming Using Java – Hobart and William Smith Colleges offers a free online textbook on coding topics. Learn about subroutines, multi-processing, GUI programming and more.
Principles of Programming Languages – The National Programme on Technology Enhanced Learning offers 40 YouTube lectures on concepts related to coding.
Practical Programming in C – The Massachusetts Institute of Technology provides lecture notes to their coding class. Learn about variables, concurrency, control flow, etc.
PVTuts.com: C++ Tutorial – This source provides access to 35 chapters on topics, such as constructors, namespaces and constants, operators and variables.
Learn to Code Resources
Now that you have a better understanding of what coding languages exist, as well as their similarities and differences, why not trying coding yourself? These tools allow you to practice coding with help.
Codecademy – Over 25 million people worldwide have utilized this free online resource to learn how to code. Learn a bit of information about the code you are researching, and then try to code, getting immediate results about your efforts.
Google’s Python Class – This free class is designed for programmers who have a bit of experience under their belt. If this sounds like, you can watch helpful videos and learn about Python, and then practice Python coding exercises.
Codewars – Game-lovers can enjoy what they do best; play games, while learning how to code. Collaborate with other online users to learn how to code.
Free Code Camp– Combining learning how to code with doing good deeds, this online tool gives users the option of studying about 800 hours worth of curriculum, and then practice what they learned by helping nonprofit organizations.
Computer Science Podcasts
For those that prefer to learn by listening, podcasts are a great resource. We found five great podcasts on computer science you should check out.
Programming Throwdown – This is a great resource for those interested in computer programming, novices and professionals. Topics covered include various programming languages, as well as other others, such as Unit Testing, and so on. The best part is that the two hosts are high-energy, providing an engaging way to learn about this topic.
The Hanselminutes Podcast – Scott Hanselman, programmer for Microsoft, hosts this weekly podcast on various development technologies. Learn more about interactive computing experiences, virtual reality, and more by listening to Hanselman and his guests.
Java Posse – Known as the #1 Java Technology Podcast, this ran from 2005 to 2015. Listen to podcasts that feature interviews and opinions about coding, as well as access notes that feature further reading on each topic.
Herding Code – Since 2008, this technology podcast has covered .NET-related topics.
The Changelog – These weekly podcasts focus on the people and community of coders. Listen to discussions and interviews on open-source development tools and news.
Computer Science Blogs
If you want to stay up-to-date with the latest computer science news, follow the following blogs.
Gödel’s Lost Letter and P=NP – Dick Lipton, Professor of Computer Science at Georgia Tech, writes about topics on the theory of computation. He presents the history of this discipline, as well as lists problems and offers his opinions on solutions.
Lambda the Ultimate: The Programming Languages Weblog – Read what professional computer scientists and those who teach this subject have to say about programming languages. This blog invites comments, creating a forum for those interested in this topic.
Proper Fixation: A Substitute for Anaesthesia – Yossi Kreinin, a software developer, discusses not only programming languages, but also how to find errors in coding. As an added bonus, Kreinin offers career tips for those interested in finding a job in the area of computer science.
Female Perspective of Computer Science – Are there different gender perspectives when it comes to computer science? See what this Canadian instructor has to say regarding the research and technical observations about coding.
Major Branches of Computer Science
Computer science is so broad that many computer scientists disagree about which disciplines should be included or excluded from this field. In this section, we provide resources to learn more about the six major branches of computer science.
Computer Architecture – Computer architecture allows students to understand the basics of designing a computer system. This source explains what parts make up a computer, and what their purpose is.
System Software – System software is an interface between the computer’s hardware and its user applications. Learn more about system software with examples this source provides.
Computer Graphics – Everything other than sound and text on a computer screen is made using computer graphics, or images. Learn more about this process from this online resource.
Artificial Intelligence – A highly contested topic, artificial intelligence allows computer scientists to do something that a human can do. Make up your own opinion about the pros and cons of artificial intelligence by reading more about it.
Computational Science – This online source explains that computational science is the field of study involving computers, networks and software solve certain problems or build things. Visit this source to learn more about the traditional and emerging areas of computational science.
Software Engineering – Find out what makes software engineering different from other forms of engineering by reading this article. Learn how professionals make software to perform certain processes.
Major Figures in Computer Science
Computer science would never have been invented or advanced without important individuals who worked in this field. Learn about the major figures in computer science from the sources below.
Alan Turing – This British mathematician and graduate of Princeton University deciphered German codes with a group of code-breakers in the ‘Government Code and Cypher School’ (‘GC&CS’). His invention, the Turing machine, is considered to be the first model of a computer. Read more about Turing and his contributions to computer science using the source above.
Sir Tim Berners-Lee – This source explains how this visionary created the World Wide Web. In 1989, British computer scientist, Sir Tim Berners-Lee, proposed a new way to manage information, and eight months later, he was able to communicate on the Internet.
Sergey Brin – With Google being the most-used online search engine today, it’s fair to say that its inventors shaped the field of computer science. Check out Forbes’ article about Sergey Brin, the co-founder of Google.
Mark Zuckerberg – If the name Mark Zuckerberg is not familiar to you, you may have been living under a rock the past few years. Learn how this computer programmer invented the most-popular social media network, Facebook, and how it changed the Internet forever.
Bill Gates – This online resource explains how Bill Gates created the largest personal-computer software company, Microsoft. Known as the face behind the personal computer revolution, he made owning a computer affordable and convenient for most families.