/computer-science-fast

A list of books to cover most Computer Science topics fast.

MIT LicenseMIT

Computer Science (fast)

Inspired by ossu/computer-science and Teach Yourself Computer Science. The list is intended as a refresher for professionals or as a primer for newcomers, covering most computer science fundamentals and hot topics in the industry with short, easy, practical, condensed books to read quickly and in a self-paced fashion while providing a good overview of each area.

Please notice, these books aren't necessarily free, thorough or the best choice for the topics and require you to already have an understanding of programming.

Books

Category Topics / Keywords Book(s)
Mathematics numbers combinatorics probability arithmetic trigonometry coordinate systems determinants vectors complex numbers matrices integration Foundation Mathematics for Computer Science: A Visual Approach
Programming, Algorithms and Data structures, Languages and Compilers big-o data structures algorithms computation complexity and machines lambda calculus patterns principles databases relational theory unix CLI binary bitwise logical circuits compression encoding information theory encryption hashing RSA Keys blockchain The Imposter's Handbook 1 & 2
Computer Architecture, Operating Systems and Networking computer architecture operating systems numerical data formats little man computer cpu memory input/output pheripherals communications ethernet tcp/ip networking file management internals logic The Architecture of Computer Hardware, Systems Software, and Networking: An Information Technology Approach
Software Architecture architectural thinking modularity characteristics components layers pipeline microkernel service-based event-driven space-based orchestration-driven microservices risks diagramming teams negotiation leadership career methodologies management politics configuration domain-driven quality attributes usability availability portability interoperability testability design principles SOLID principles KISS DRY YAGNI loose coupling high cohesion MVC serverless caching security perfomance databases identity and access management documentation devops soft skills Software Architect’s Handbook
Computer Graphics math raster images ray tracing transformation matrices viewing graphics pipeline signal processing surface shading texture mapping data structures sampling curves animation hardware light color visual perception tone reproduction implicit modeling illumination reflection games visualization Fundamentals of Computer Graphics
Databases databases internals b-tree file formats transaction processing and recovery structured storage failure detection leader election replication consistency anti-entropy dissemination distributed transactions consensus Database Internals: A Deep Dive into How Distributed Data Systems Work
Distributed Systems, Big Data data reliability models storage encoding replication partitioning transactions distributed systems consistency batch processing streams Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems
Cloud Computing cloud microservices cap theorem twelve factor app API protocols reliability gateways mesh databases kubernetes testing CI/CD serverless storage devops security functions logging monitoring alerting portability Cloud Native: Using Containers, Functions, and Data to Build Next-Generation Applications
Data Science, Machine Learning, Data Mining theory fundamental algorithms neural networks deep learning unsupervised learning The Hundred-Page Machine Learning Book
Electronics & Robotics theory circuits semiconductors sensors amplifiers oscillators timers voltage regulators power supplies digital electronics microcontrollers programmable logic motors audio electronics modular electronics robotics Practical Electronics for Inventors

Robotics: Everything You Need to Know About Robotics from Beginner to Expert
IoT, Embedded Systems theory architecture sensors endpoints power systems communications information theory wpan zigbee zwave bluetooth wlan cellular lora lorawan sigfox routers gateways protocols mqtt coap amqp cloud analytics machine learning security regulations Internet of Things for Architects: Architecting IoT solutions by implementing sensors, communication infrastructure, edge computing, analytics, and security

Making Embedded Systems: Design Patterns for Great Software
Game Design and Development fundamentals game objects components scenes scripting unity input events maths 2d 3d materials shading physics animations interaction audio ui design patterns sequencing patterns behavioral patterns decoupling patterns optimization patterns history ideas story regulations characters camera controls hud icons level design combat ai mechanics bonuses multiplayer monetization music cutscenes Beginning Unreal Game Development: Foundation for Simple to Complex Games Using Unreal Engine 4

Unity Game Development Cookbook: Essentials for Every Game

Game Programming Patterns

Level Up! The Guide to Great Video Game Design
Augmented and Virtual Reality interaction sensory technology virtual reality 3d art optimization hardware tracking mapping platforms augmented reality tools best practices visualization spatial computing AI cross reality Creating Augmented and Virtual Realities: Theory and Practice for Next-Generation Spatial Computing
Quantum Computing complex numbers complex vector spaces quantum theory architecture algorithms programming languages computer science cryptography information theory hardware Quantum Computing for Computer Scientists
Agile, Entrepreneurship, Leadership, Management, Communication agile craftsmanship planning stories estimation iterations source control team practices technical practices tools energize people self organization empowering teams leading purpose structure competence change improvement startup vision growth experiment adapt communication observing feelings responsibility empathy mediation counseling Clean Agile: Back to Basics

The Lean Startup

Management 3.0

Nonviolent Communication

Visual Design, Interaction and UX Design, Marketing proximity alignment repetition constrast design principles color typography interaction design digital product design research personas goals scenarios requirements teamwork tools analytics marketing email lists seo marketing plans leads funnels The Non-Designer's Design Book

About Face: The Essentials of Interaction Design

Universal Principles of Design

Marketing for Developers: Build, launch, and get your first 100 customers

What's next?

I would advise you to have a look at the resources linked above which this document takes inspiration from. They contain books and resources that go much deeper into detail. For further reading and to build upon the fundamentals, have a look at mustread.tech/books.

As a suggestion, I would pick up more books on the topics of operating systems internals, compilers, design patterns and modern development practices.

Contributing

Do you know books that are shorter and offer the same content, or slightly longer but more comprehensive? Please open a new issue with your suggestions.