We may earn an affiliate commission when you visit our partners.

Computer Science

Save
May 1, 2024 Updated May 9, 2025 23 minute read

Computer science is the study of computation, information, and automation, encompassing theoretical disciplines like algorithms and the theory of computation, alongside applied disciplines such as hardware and software design and implementation. It is a field that constantly evolves, driving innovation across nearly every sector of modern life. From the smartphones in our pockets to the complex systems that power global finance and healthcare, computer science is the bedrock of contemporary technology.

Path to Computer Science

Take the first step.
We've curated 24 courses to help you on your path to Computer Science. Use these to develop your skills, build background knowledge, and put what you learn to practice.
Sorted from most relevant to least relevant:

Share

Help others find this page about Computer Science: by sharing it with your friends and followers:

Reading list

We've selected 18 books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Computer Science.
This comprehensive book, often referred to as CLRS, fundamental resource for algorithms and data structures. It covers a wide range of algorithms in depth and is widely used as a textbook in undergraduate and graduate algorithms courses. It's a valuable reference for both students and working professionals.
This leading textbook in the field of artificial intelligence, covering a broad range of topics from intelligent agents to machine learning and natural language processing. It provides a comprehensive and up-to-date overview of AI. It is widely used in academic settings.
Is highly relevant to contemporary computer science, focusing on the challenges and patterns for building robust and scalable data systems. It covers a wide range of topics, including databases, distributed systems, and data processing. It valuable resource for software engineers and architects working with large-scale data.
Affectionately known as the "Dinosaur Book," this classic and widely used textbook for operating systems courses. It covers the fundamental concepts of operating systems in detail, including process management, memory management, and file systems. It's essential for understanding how computer systems manage resources.
Known as the "Dragon Book," this is the definitive text on compiler design. It covers the principles and techniques used in building compilers and fundamental resource for students and professionals in this area. It classic in the field.
This influential book emphasizes the importance of writing clean, readable, and maintainable code. It provides practical guidelines and examples for improving code quality. It is considered a must-read for software developers at all levels and is often recommended for its impact on coding practices.
Standard text for understanding the theoretical underpinnings of computer science, including automata theory, computability, and complexity. It's essential for undergraduate and graduate students to grasp the limits and capabilities of computation. It is commonly used as a textbook in academic institutions.
Offers a unique blend of theoretical concepts and practical advice on designing and analyzing algorithms. It includes a catalog of algorithmic problems and their solutions, making it an excellent reference for practitioners. It is suitable for advanced undergraduates and professionals.
Explores the fundamental principles of computer organization and design, focusing on the hardware/software interface using the RISC-V instruction set architecture. It's a standard text for understanding how computers execute programs and is essential for students interested in computer architecture.
Provides a broad coverage of algorithms and data structures with a focus on practical applications in Java. It is well-regarded for its clear explanations and numerous examples, making it a good resource for undergraduate students. It complements more theoretical algorithms texts.
This standard textbook for database systems, covering the fundamental concepts of database design, management, and implementation. It's essential for understanding how data is organized and managed in computer systems. It is commonly used in undergraduate and graduate database courses.
Provides a comprehensive introduction to pattern recognition and machine learning, covering probabilistic methods and model-based approaches. It's a widely respected text for graduate students and researchers in machine learning.
Introduces Domain-Driven Design (DDD), an approach to software development that focuses on modeling the business domain. It's highly relevant for designing complex software systems and is valuable for architects and senior developers. It provides principles and patterns for creating maintainable and scalable applications.
Provides a comprehensive overview of programming language design and implementation. It covers a wide range of language paradigms and concepts, making it valuable for understanding the principles behind different programming languages. It's suitable for advanced undergraduate and graduate students.
Comprehensive guide to software construction, covering programming practices, design, and debugging. It provides practical advice for writing high-quality code and is valuable for both students and experienced developers. It serves as an excellent reference for software development best practices.
Table of Contents
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser