Computer Science courses, books, and problem sets
Learn Computer Science, earn certificates with free online courses from Harvard, Stanford, MIT, University of Pennsylvania and other top universities around the world..
Computer Science courses, books, and problem sets
Learn Computer Science, earn certificates with free online courses from Harvard, Stanford, MIT, University of Pennsylvania and other top universities around the world..
CS50's Introduction to Computer Science
Learn the basics of computer science from Harvard University. This is CS50, an introduction to the intellectual enterprises of computer science and the art of...
![](https://moocable.com/uploads/files/mooc/f3ovdlwpk74u2m8.png)
CS50's Introduction to Computer Science
Learn the basics of computer science from Harvard University. This is CS50, an introduction to the intellectual enterprises of computer science and the art of...
Programming for Everybody (Getting Started with Python)
This course aims to teach everyone the basics of programming computers using Python. We cover the basics of how one constructs a program from a series of simple instructions in...
![](https://moocable.com/uploads/files/mooc/g294isead17f3rh.png)
Programming for Everybody (Getting Started with Python)
This course aims to teach everyone the basics of programming computers using Python. We cover the basics of how one constructs a program from a series of simple instructions in...
Introduction to Computer Science and Programming Using Python
This course will help people with no prior exposure to computer science or programming learn to think computationally and write programs to tackle useful...
![](https://moocable.com/uploads/files/mooc/1fxsnbcdpyr2_7o.png)
Introduction to Computer Science and Programming Using Python
This course will help people with no prior exposure to computer science or programming learn to think computationally and write programs to tackle useful...
Technical Support Fundamentals
This course is the first of a series that aims to prepare you for a role as an entry-level IT Support Specialist. Youβll learn about the different facets of Information Technology, like computer...
![](https://moocable.com/uploads/files/mooc/xsmzld39tn_ypv2.png)
Technical Support Fundamentals
This course is the first of a series that aims to prepare you for a role as an entry-level IT Support Specialist. Youβll learn about the different facets of Information Technology, like computer...
Neural Networks and Deep Learning
By the end, you will be familiar with the significant technological trends driving the rise of deep learning; build, train, and apply fully connected deep neural networks; implement efficient...
![](https://moocable.com/uploads/files/mooc/2yfpwcux691zaij.png)
Neural Networks and Deep Learning
By the end, you will be familiar with the significant technological trends driving the rise of deep learning; build, train, and apply fully connected deep neural networks; implement efficient...
Algorithms, Part I
This course covers the essential information that every serious programmer needs to know about algorithms and data structures, with emphasis on applications and scientific performance analysis of...
![](https://moocable.com/uploads/files/mooc/yes6pdmrt8v497x.png)
Algorithms, Part I
This course covers the essential information that every serious programmer needs to know about algorithms and data structures, with emphasis on applications and scientific performance analysis of...
AI For Everyone
AI is not only for engineers. If you want your organization to become better at using AI, this is the course to tell everyone--especially your non-technical colleagues--to...
![](https://moocable.com/uploads/files/mooc/ybxsprj36wo7lm2.png)
AI For Everyone
AI is not only for engineers. If you want your organization to become better at using AI, this is the course to tell everyone--especially your non-technical colleagues--to...
Introduction to Linux
This course explores the various tools and techniques commonly used by Linux system administrators and end users to achieve their day-to-day work in a Linux environment. It is designed for...
![](https://moocable.com/uploads/files/mooc/hnpk_a87bt1ox32.png)
Introduction to Linux
This course explores the various tools and techniques commonly used by Linux system administrators and end users to achieve their day-to-day work in a Linux environment. It is designed for...
Bitcoin and Cryptocurrency Technologies
After this course, youβll know everything you need to be able to separate fact from fiction when reading claims about Bitcoin and other cryptocurrencies. Youβll have the conceptual foundations...
![](https://moocable.com/uploads/files/mooc/j2i6nq1c5dyfsvp.png)
Bitcoin and Cryptocurrency Technologies
After this course, youβll know everything you need to be able to separate fact from fiction when reading claims about Bitcoin and other cryptocurrencies. Youβll have the conceptual foundations...
Google Cloud Fundamentals: Core Infrastructure
Google Cloud Fundamentals: Core Infrastructure introduces important concepts and terminology for working with Google Cloud. Through videos and hands-on labs, this course presents and compares many of...
![](https://moocable.com/uploads/files/mooc/r95732lcwq0vb4k.png)
Google Cloud Fundamentals: Core Infrastructure
Google Cloud Fundamentals: Core Infrastructure introduces important concepts and terminology for working with Google Cloud. Through videos and hands-on labs, this course presents and compares many of...
Data Structures
In this online course, we consider the common data structures that are used in various computational problems. You will learn how these data structures are implemented in different programming...
![](https://moocable.com/uploads/files/mooc/to1k7_er9c4hu6g.png)
Data Structures
In this online course, we consider the common data structures that are used in various computational problems. You will learn how these data structures are implemented in different programming...
Cryptography I
In this course you will learn the inner workings of cryptographic systems and how to correctly use them in real-world applications. The course begins with a detailed discussion of how two parties who...
![](https://moocable.com/uploads/files/mooc/ce2tqorxbj3p9_1.png)
Cryptography I
In this course you will learn the inner workings of cryptographic systems and how to correctly use them in real-world applications. The course begins with a detailed discussion of how two parties who...
Machine Learning Foundations: A Case Study Approach
Do you have data and wonder what it can tell you? Do you need a deeper understanding of the core ways in which machine learning can improve your business? Do you want to be able to converse with...
![](https://moocable.com/uploads/files/mooc/xar2gwtjd_lb87v.png)
Machine Learning Foundations: A Case Study Approach
Do you have data and wonder what it can tell you? Do you need a deeper understanding of the core ways in which machine learning can improve your business? Do you want to be able to converse with...
Introduction to TensorFlow for Artificial Intelligence, Machine Learning, and Deep Learning
If you are a software developer who wants to build scalable AI-powered algorithms, you need to understand how to use the tools to build them. This course is part of the upcoming Machine Learning in...
![](https://moocable.com/uploads/files/mooc/ikf04houat3lbm7.png)
Introduction to TensorFlow for Artificial Intelligence, Machine Learning, and Deep Learning
If you are a software developer who wants to build scalable AI-powered algorithms, you need to understand how to use the tools to build them. This course is part of the upcoming Machine Learning in...
Google Cloud Big Data and Machine Learning Fundamentals
This course introduces the Google Cloud big data and machine learning products and services that support the data-to-AI lifecycle. It explores the processes, challenges, and benefits of building a...
![](https://moocable.com/uploads/files/mooc/8qu13lf_ahy6emo.png)
Google Cloud Big Data and Machine Learning Fundamentals
This course introduces the Google Cloud big data and machine learning products and services that support the data-to-AI lifecycle. It explores the processes, challenges, and benefits of building a...
Algorithms, Part II
This course covers the essential information that every serious programmer needs to know about algorithms and data structures, with emphasis on applications and scientific performance analysis of...
![](https://moocable.com/uploads/files/mooc/7njsvxu46feic5m.png)
Algorithms, Part II
This course covers the essential information that every serious programmer needs to know about algorithms and data structures, with emphasis on applications and scientific performance analysis of...
Artificial Intelligence (AI)
What do self-driving cars, face recognition, web search, industrial robots, missile guidance, and tumor detection have in common? They are all complex real world problems being solved with...
![](https://moocable.com/uploads/files/mooc/eh3nrdzubxflka9.png)
Artificial Intelligence (AI)
What do self-driving cars, face recognition, web search, industrial robots, missile guidance, and tumor detection have in common? They are all complex real world problems being solved with...
Computer Science: Programming with a Purpose
The basis for education in the last millennium was βreading, writing, and arithmetic;β now it is reading, writing, and computing. Learning to program is an essential part of the education of...
![](https://moocable.com/uploads/files/mooc/9p3ajizdxlnvq5o.png)
Computer Science: Programming with a Purpose
The basis for education in the last millennium was βreading, writing, and arithmetic;β now it is reading, writing, and computing. Learning to program is an essential part of the education of...
Supervised Machine Learning: Regression and Classification
The Machine Learning Specialization is a foundational online program created in collaboration between DeepLearning.AI and Stanford Online. In this beginner-friendly program, you will learn the...
![](https://moocable.com/uploads/files/mooc/8vfx3o7yasnd1wq.png)
Supervised Machine Learning: Regression and Classification
The Machine Learning Specialization is a foundational online program created in collaboration between DeepLearning.AI and Stanford Online. In this beginner-friendly program, you will learn the...
Blockchain Basics
This first course of the Blockchain specialization provides a broad overview of the essential concepts of blockchain technology β by initially exploring the Bitcoin protocol followed by the...
![](https://moocable.com/uploads/files/mooc/cp2zhibotuf4yvq.png)
Blockchain Basics
This first course of the Blockchain specialization provides a broad overview of the essential concepts of blockchain technology β by initially exploring the Bitcoin protocol followed by the...
Divide and Conquer, Sorting and Searching, and Randomized Algorithms
The primary topics in this part of the specialization are: asymptotic ("Big-oh") notation, sorting and searching, divide and conquer (master method, integer and matrix multiplication, closest...
![](https://moocable.com/uploads/files/mooc/k3u0p845zw1esav.png)
Divide and Conquer, Sorting and Searching, and Randomized Algorithms
The primary topics in this part of the specialization are: asymptotic ("Big-oh") notation, sorting and searching, divide and conquer (master method, integer and matrix multiplication, closest...
Computer Architecture
In this course, you will learn to design the computer architecture of complex modern microprocessors. All the features of this course are available for free. It does not offer a certificate upon...
![](https://moocable.com/uploads/files/mooc/3ld762u4_jnksc0.png)
Computer Architecture
In this course, you will learn to design the computer architecture of complex modern microprocessors. All the features of this course are available for free. It does not offer a certificate upon...
Introduction to Algorithm
This course teaches techniques for the design and analysis of efficient algorithms, emphasizing methods useful in practice. Topics covered include: sorting; search trees, heaps, and hashing;...
Notice: Undefined offset: 0 in /home/u615934359/domains/moocable.com/public_html/app/controllers/ApiController.php on line 108
π
Notice: Trying to access array offset on value of type null in /home/u615934359/domains/moocable.com/public_html/app/views/partials/category/view.php on line 164
![](https://moocable.com/uploads/files/mooc/g2_9h6xakwmrozb.png)
Introduction to Algorithm
This course teaches techniques for the design and analysis of efficient algorithms, emphasizing methods useful in practice. Topics covered include: sorting; search trees, heaps, and hashing;...
Machine Learning with Python: from Linear Models to Deep Learning
Machine learning methods are commonly used across engineering and sciences, from computer systems to physics. Moreover, commercial sites such as search engines, recommender systems (e.g., Netflix,...
![](https://moocable.com/uploads/files/mooc/be5tm_230x61qv7.png)
Machine Learning with Python: from Linear Models to Deep Learning
Machine learning methods are commonly used across engineering and sciences, from computer systems to physics. Moreover, commercial sites such as search engines, recommender systems (e.g., Netflix,...
JavaScript Algorithms and Data Structures
While HTML and CSS control the content and styling of a page, JavaScript is used to make it interactive. In the JavaScript Algorithm and Data Structures Certification, you'll learn the...
![](https://moocable.com/uploads/files/mooc/imkozdw9aeqxg3p.png)
JavaScript Algorithms and Data Structures
While HTML and CSS control the content and styling of a page, JavaScript is used to make it interactive. In the JavaScript Algorithm and Data Structures Certification, you'll learn the...
Scientific Computing with Python
In the Scientific Computing with Python Certification, you'll learn Python fundamentals like variables, loops, conditionals, and functions. Then you'll quickly ramp up to complex data...
![](https://moocable.com/uploads/files/mooc/naj8eybgst4o95l.png)
Scientific Computing with Python
In the Scientific Computing with Python Certification, you'll learn Python fundamentals like variables, loops, conditionals, and functions. Then you'll quickly ramp up to complex data...
Machine Learning with Python
In the Machine Learning with Python Certification, you'll use the TensorFlow framework to build several neural networks and explore more advanced techniques like natural language processing and...
![](https://moocable.com/uploads/files/mooc/6w817p_sngqxvmj.png)
Machine Learning with Python
In the Machine Learning with Python Certification, you'll use the TensorFlow framework to build several neural networks and explore more advanced techniques like natural language processing and...
Head First Design Patterns
This book shows you the tried-and-true, road-tested patterns used by developers to create functional, elegant, reusable, and flexible software. By the time you finish this book, youβll be able to...
![](https://moocable.com/uploads/files/mooc/vl8nr0hq5j_xybz.png)
Head First Design Patterns
This book shows you the tried-and-true, road-tested patterns used by developers to create functional, elegant, reusable, and flexible software. By the time you finish this book, youβll be able to...
Clean Architecture: A Craftsman's Guide to Software Structure and Design
Clean Architecture is essential reading for every software architect, systems analyst, system designer, and software manager -- and for any programmer who aspires to these roles or is impacted by...
![](https://moocable.com/uploads/files/mooc/ugbkmc3_tlisyf5.png)
Clean Architecture: A Craftsman's Guide to Software Structure and Design
Clean Architecture is essential reading for every software architect, systems analyst, system designer, and software manager -- and for any programmer who aspires to these roles or is impacted by...
The Pragmatic Programmer: From Journeyman to Master (20th Anniversary Edition)
This new edition examines the core of modern software developmentβunderstanding what is wanted and producing working, maintainable code that delights its users. It covers topics ranging from...
![](https://moocable.com/uploads/files/mooc/ya735j1cpux_0ef.png)
The Pragmatic Programmer: From Journeyman to Master (20th Anniversary Edition)
This new edition examines the core of modern software developmentβunderstanding what is wanted and producing working, maintainable code that delights its users. It covers topics ranging from...
Building Microservices, 2nd Edition
As organizations shift from monolithic applications to smaller, self-contained microservices, distributed systems have become more fine-grained. But developing these new systems brings its own host...
![](https://moocable.com/uploads/files/mooc/zu17xecoti0dhmb.png)
Building Microservices, 2nd Edition
As organizations shift from monolithic applications to smaller, self-contained microservices, distributed systems have become more fine-grained. But developing these new systems brings its own host...
Deep Learning with Python
Deep Learning with Python introduces the field of deep learning using the Python language and the powerful Keras library. Written by Keras creator and Google AI researcher François Chollet, this...
![](https://moocable.com/uploads/files/mooc/vpk19wdtr_6ci20.png)
Deep Learning with Python
Deep Learning with Python introduces the field of deep learning using the Python language and the powerful Keras library. Written by Keras creator and Google AI researcher François Chollet, this...
The Art of Randomness: Randomized Algorithms in the Real World
The Art of Randomness is a hands-on guide to mastering the many ways you can use randomized algorithms to solve real programming and scientific problems. Youβll learn how to use randomness to run...
![](https://moocable.com/uploads/files/mooc/89d6xrkj0t5wsov.png)
The Art of Randomness: Randomized Algorithms in the Real World
The Art of Randomness is a hands-on guide to mastering the many ways you can use randomized algorithms to solve real programming and scientific problems. Youβll learn how to use randomness to run...
Algorithmic Thinking, 2nd Edition
Are you hitting a wall with data structures and algorithms? Whether youβre a student prepping for coding interviews or an independent learner, this book is your essential guide to efficient...
![](https://moocable.com/uploads/files/mooc/4bj_7lm2vknfy03.png)
Algorithmic Thinking, 2nd Edition
Are you hitting a wall with data structures and algorithms? Whether youβre a student prepping for coding interviews or an independent learner, this book is your essential guide to efficient...
Arduino for Arduinians: 70 Projects for the Experienced Programmer
For Arduino programmers whoβve mastered the basics, this book is the next step toward becoming an expert Arduinian. Youβll build 70 complex and practical projects with this versatile...
![](https://moocable.com/uploads/files/mooc/q_dakm0zej4xiyt.png)
Arduino for Arduinians: 70 Projects for the Experienced Programmer
For Arduino programmers whoβve mastered the basics, this book is the next step toward becoming an expert Arduinian. Youβll build 70 complex and practical projects with this versatile...
Computer Architecture Book
Computer Architecture is an in-depth exploration of the principles and designs that have shaped computer hardware through the ages, from counting devices like the abacus, to Babbageβs Difference...
![](https://moocable.com/uploads/files/mooc/2ewlhvz49nrsktp.png)
Computer Architecture Book
Computer Architecture is an in-depth exploration of the principles and designs that have shaped computer hardware through the ages, from counting devices like the abacus, to Babbageβs Difference...
The Art of ARM Assembly
A complete beginnerβs book on 64-bit ARM assembly language, written specifically for macOS, Linux, Raspberry PiOS (64-bit), and other 64-bit ARM-based systems. Add valuable skills to your...
![](https://moocable.com/uploads/files/mooc/vaw74ief31n2tbx.png)
The Art of ARM Assembly
A complete beginnerβs book on 64-bit ARM assembly language, written specifically for macOS, Linux, Raspberry PiOS (64-bit), and other 64-bit ARM-based systems. Add valuable skills to your...
The Missing README: A Guide for the New Software Engineer
For new software engineers, knowing how to program is only half the battle. You'll quickly find that many of the skills and processes key to your success are not taught in any school or bootcamp....
![](https://moocable.com/uploads/files/mooc/p6mbdwie94yxkfo.png)
The Missing README: A Guide for the New Software Engineer
For new software engineers, knowing how to program is only half the battle. You'll quickly find that many of the skills and processes key to your success are not taught in any school or bootcamp....
Data Structures and Information Retrieval in Python
Data Structures and Information Retrieval in Python, is an introduction to data structures organized around a motivating example: building a search engine. The elements of the search engine are the...
![](https://moocable.com/uploads/files/mooc/3_gi1whx9mjb64a.png)
Data Structures and Information Retrieval in Python
Data Structures and Information Retrieval in Python, is an introduction to data structures organized around a motivating example: building a search engine. The elements of the search engine are the...
Think DSP: Digital Signal Processing in Python
If you understand basic mathematics and know how to program with Python, youβre ready to dive into signal processing. While most resources start with theory to teach this complex subject, this...
![](https://moocable.com/uploads/files/mooc/67yp32jgf0mxqhl.png)
Think DSP: Digital Signal Processing in Python
If you understand basic mathematics and know how to program with Python, youβre ready to dive into signal processing. While most resources start with theory to teach this complex subject, this...
Think Complexity 2e
Complexity science uses computation to explore the physical and social sciences. In Think Complexity, youβll use graphs, cellular automata, and agent-based models to study topics in physics,...
![](https://moocable.com/uploads/files/mooc/j5cf9b_yqdr2m6a.png)
Think Complexity 2e
Complexity science uses computation to explore the physical and social sciences. In Think Complexity, youβll use graphs, cellular automata, and agent-based models to study topics in physics,...
Think Java 2e
The goal of this concise book is not just to teach you Java, but to help you think like a computer scientist. Youβll learn how to programβa useful skill by itselfβbut youβll also discover how...
![](https://moocable.com/uploads/files/mooc/m2nx580q71hadk6.png)
Think Java 2e
The goal of this concise book is not just to teach you Java, but to help you think like a computer scientist. Youβll learn how to programβa useful skill by itselfβbut youβll also discover how...
Think Data Structures
If youβre a student studying computer science or a software developer preparing for technical interviews, this practical book will help you learn and review some of the most important ideas in...
![](https://moocable.com/uploads/files/mooc/p852f13uoltyezd.png)
Think Data Structures
If youβre a student studying computer science or a software developer preparing for technical interviews, this practical book will help you learn and review some of the most important ideas in...
Modeling and Simulation in Python
Modeling and Simulation in Python is a thorough but easy-to-follow introduction to physical modelingβthat is, the art of describing and simulating real-world systems. Clear and concise, with a...
![](https://moocable.com/uploads/files/mooc/v01q9biayrn4g7_.png)
Modeling and Simulation in Python
Modeling and Simulation in Python is a thorough but easy-to-follow introduction to physical modelingβthat is, the art of describing and simulating real-world systems. Clear and concise, with a...
Physical Modeling in MATLAB
Modeling and simulation are powerful tools for explaining the world, making predictions, designing things that work, and making them work better. Learning to use these tools can be difficult; this...
![](https://moocable.com/uploads/files/mooc/n0kd7j42frxqeg5.png)
Physical Modeling in MATLAB
Modeling and simulation are powerful tools for explaining the world, making predictions, designing things that work, and making them work better. Learning to use these tools can be difficult; this...
Think OS: A Brief Introduction to Operating Systems
Think OS is an introduction to Operating Systems for programmers. In many computer science programs, Operating Systems is an advanced topic. By the time students take it, they usually know how to...
![](https://moocable.com/uploads/files/mooc/ujeyvacb2591d0l.png)
Think OS: A Brief Introduction to Operating Systems
Think OS is an introduction to Operating Systems for programmers. In many computer science programs, Operating Systems is an advanced topic. By the time students take it, they usually know how to...
The Little Book of Semaphores
The Little Book of Semaphores is a free textbook that introduces the principles of synchronization for concurrent programming. n most computer science curricula, synchronization is a module in an...
![](https://moocable.com/uploads/files/mooc/a4l7mdcrx_y3to2.png)
The Little Book of Semaphores
The Little Book of Semaphores is a free textbook that introduces the principles of synchronization for concurrent programming. n most computer science curricula, synchronization is a module in an...
Learning with Python: How to Think Like a Computer Scientist
The book covers various aspects of Python programming, from basic syntax to more advanced topics. It provides practical examples and exercises to help readers grasp key concepts effectively....
![](https://moocable.com/uploads/files/mooc/jg71mc8yrfh_b5d.png)
Learning with Python: How to Think Like a Computer Scientist
The book covers various aspects of Python programming, from basic syntax to more advanced topics. It provides practical examples and exercises to help readers grasp key concepts effectively....
Tidy First?
Messy code is a nuisance. "Tidying" code, to make it more readable, requires breaking it up into manageable sections. In this practical guide, author Kent Beck, creator of Extreme Programming...
![](https://moocable.com/uploads/files/mooc/h7qj6x2cz4tanb_.png)
Tidy First?
Messy code is a nuisance. "Tidying" code, to make it more readable, requires breaking it up into manageable sections. In this practical guide, author Kent Beck, creator of Extreme Programming...
The Programmer's Brain: What every programmer needs to know about cognition
The Programmerβs Brain unlocks the way we think about code. It offers scientifically sound techniques that can radically improve the way you master new technology, comprehend code, and memorize...
![](https://moocable.com/uploads/files/mooc/db19g3a5yviqkuw.png)
The Programmer's Brain: What every programmer needs to know about cognition
The Programmerβs Brain unlocks the way we think about code. It offers scientifically sound techniques that can radically improve the way you master new technology, comprehend code, and memorize...
Seriously Good Software: Code that works, survives, and wins
Serious developers know that code can always be improved. With each iteration, you make optimizationsβsmall and largeβthat can have a huge impact on your applicationβs speed, size, resilience,...
![](https://moocable.com/uploads/files/mooc/lhcygs3j5pu_qd7.png)
Seriously Good Software: Code that works, survives, and wins
Serious developers know that code can always be improved. With each iteration, you make optimizationsβsmall and largeβthat can have a huge impact on your applicationβs speed, size, resilience,...
Good Code, Bad Code: Think like a software engineer
Good Code, Bad Code is a clear, practical introduction to writing code thatβs a snap to read, apply, and remember. With dozens of instantly-useful techniques, youβll find coding insights that...
![](https://moocable.com/uploads/files/mooc/z_8vdlhw940nc1u.png)
Good Code, Bad Code: Think like a software engineer
Good Code, Bad Code is a clear, practical introduction to writing code thatβs a snap to read, apply, and remember. With dozens of instantly-useful techniques, youβll find coding insights that...
Software Engineering at Google
Today, software engineers need to know not only how to program effectively but also how to develop proper engineering practices to make their codebase sustainable and healthy. This book emphasizes...
![](https://moocable.com/uploads/files/mooc/48njo2617dhl5st.png)
Software Engineering at Google
Today, software engineers need to know not only how to program effectively but also how to develop proper engineering practices to make their codebase sustainable and healthy. This book emphasizes...
Become an Effective Software Engineering Manager
Going from engineer to manager doesn't have to be intimidating. Engineers can be managers, and fantastic ones at that. Cast aside the rhetoric and focus on practical, hands-on techniques and...
![](https://moocable.com/uploads/files/mooc/yxoigqzpuad45j2.png)
Become an Effective Software Engineering Manager
Going from engineer to manager doesn't have to be intimidating. Engineers can be managers, and fantastic ones at that. Cast aside the rhetoric and focus on practical, hands-on techniques and...
Distributed Services with Go
This is the book for Gophers who want to learn how to build distributed systems. You know the basics of Go and are eager to put your knowledge to work. Build distributed services that are highly...
![](https://moocable.com/uploads/files/mooc/5ib72ouw4_31tem.png)
Distributed Services with Go
This is the book for Gophers who want to learn how to build distributed systems. You know the basics of Go and are eager to put your knowledge to work. Build distributed services that are highly...
Microservices Patterns
Microservices Patterns teaches enterprise developers and architects how to build applications with the microservice architecture. Rather than simply advocating for the use the microservice...
![](https://moocable.com/uploads/files/mooc/9m6gyuwjon7cfr2.png)
Microservices Patterns
Microservices Patterns teaches enterprise developers and architects how to build applications with the microservice architecture. Rather than simply advocating for the use the microservice...
Site Reliability Engineering
The overwhelming majority of a software system's lifespan is spent in use, not in design or implementation. So, why does conventional wisdom insist that software engineers focus primarily on the...
![](https://moocable.com/uploads/files/mooc/oxmgcsye_k6l521.png)
Site Reliability Engineering
The overwhelming majority of a software system's lifespan is spent in use, not in design or implementation. So, why does conventional wisdom insist that software engineers focus primarily on the...
Architecture Patterns with Python
As Python continues to grow in popularity, projects are becoming larger and more complex. Many Python developers are taking an interest in high-level software design patterns such as hexagonal/clean...
![](https://moocable.com/uploads/files/mooc/tei6x8bpvjlcshg.png)
Architecture Patterns with Python
As Python continues to grow in popularity, projects are becoming larger and more complex. Many Python developers are taking an interest in high-level software design patterns such as hexagonal/clean...
How Linux Works, 2nd Edition
The "hows" and "whys" of How Linux Works: for administrators, programmers, and enthusiasts who want to understand the inner workings of the best operating...
![](https://moocable.com/uploads/files/mooc/sjkula6xit70zg_.png)
How Linux Works, 2nd Edition
The "hows" and "whys" of How Linux Works: for administrators, programmers, and enthusiasts who want to understand the inner workings of the best operating...
Git for Teams
You can do more with Git than just build software. This practical guide delivers a unique people-first approach to version control that also explains how using Git as a focal point can help your team...
![](https://moocable.com/uploads/files/mooc/ydbge0sqm4t6v2a.png)
Git for Teams
You can do more with Git than just build software. This practical guide delivers a unique people-first approach to version control that also explains how using Git as a focal point can help your team...
Computer Science Wiki
Problem sets in computer science are designed to challenge individuals to apply their knowledge in various programming languages. These sets are assessed based on difficulty levels, with examples...
![](https://moocable.com/assets/images/MOOC Blank.png)
Computer Science Wiki
Problem sets in computer science are designed to challenge individuals to apply their knowledge in various programming languages. These sets are assessed based on difficulty levels, with examples...
Introductory Problems - CSES
Coding challenges for beginners. These problems cover various topics such as sorting and searching, dynamic programming, graph algorithms, range queries, tree algorithms, mathematics, string...
![](https://moocable.com/assets/images/MOOC Blank.png)
Introductory Problems - CSES
Coding challenges for beginners. These problems cover various topics such as sorting and searching, dynamic programming, graph algorithms, range queries, tree algorithms, mathematics, string...
Sorting and Searching - CSES
Coding challenges on Searching and Sorting. Work on problems, such as: Distinct Numbers, Apartments, Ferris Wheel, Concert Tickets, an...
![](https://moocable.com/assets/images/MOOC Blank.png)
Sorting and Searching - CSES
Coding challenges on Searching and Sorting. Work on problems, such as: Distinct Numbers, Apartments, Ferris Wheel, Concert Tickets, an...
Dynamic Programming - CSES
Coding challenges that focus on aspects of dynamic programming, that require careful consideration of previous calculations and optimal choices for achieving the desired results. Dice combinations,...
![](https://moocable.com/assets/images/MOOC Blank.png)
Dynamic Programming - CSES
Coding challenges that focus on aspects of dynamic programming, that require careful consideration of previous calculations and optimal choices for achieving the desired results. Dice combinations,...
Graph Algorithms - CSES
Solve problems by implementing algorithms like BFS, DFS, finding cycles, minimum spanning trees, and more. These solutions often require techniques, such as topological sorting, dynamic programming,...
![](https://moocable.com/assets/images/MOOC Blank.png)
Graph Algorithms - CSES
Solve problems by implementing algorithms like BFS, DFS, finding cycles, minimum spanning trees, and more. These solutions often require techniques, such as topological sorting, dynamic programming,...
Range Queries - CSES
Coding challenges on Range Sum Queries, Range Minimum Queries, Range Xor Queries. This problem set involves various types of queries and data structures to efficiently process them....
![](https://moocable.com/assets/images/MOOC Blank.png)
Range Queries - CSES
Coding challenges on Range Sum Queries, Range Minimum Queries, Range Xor Queries. This problem set involves various types of queries and data structures to efficiently process them....
Tree Algorithms - CSES
Solve Tree Algorithm problems, such as Subordinates, Tree Matching, Tree Diameter, and Tree Distances....
![](https://moocable.com/assets/images/MOOC Blank.png)
Tree Algorithms - CSES
Solve Tree Algorithm problems, such as Subordinates, Tree Matching, Tree Diameter, and Tree Distances....
Mathematics - CSES
These problems are part of the CSES Mathematics section, which offers a range of problem-solving challenges related to mathematical concepts like recursion, exponentiation, and combinatorics. Solve...
![](https://moocable.com/assets/images/MOOC Blank.png)
Mathematics - CSES
These problems are part of the CSES Mathematics section, which offers a range of problem-solving challenges related to mathematical concepts like recursion, exponentiation, and combinatorics. Solve...
String Algorithms - CSES
Solve various problems like Word Combinations, String Matching, Required Substring, and more. These problems involve different techniques such as knapsack, hashing, KMP algorithm, Z-Algorithm,...
![](https://moocable.com/assets/images/MOOC Blank.png)
String Algorithms - CSES
Solve various problems like Word Combinations, String Matching, Required Substring, and more. These problems involve different techniques such as knapsack, hashing, KMP algorithm, Z-Algorithm,...
Geometry - CSES
This problem set offers challenges involving shapes, angles, and spatial relationships. Some of the geometry problems include Point Location Test, Line Segment Intersection, Polygon Area, Point in...
![](https://moocable.com/assets/images/MOOC Blank.png)
Geometry - CSES
This problem set offers challenges involving shapes, angles, and spatial relationships. Some of the geometry problems include Point Location Test, Line Segment Intersection, Polygon Area, Point in...
Advanced Techniques - CSES
This problem set includes a variety of challenging problems, such as Minimum spanning tree, Heavy-light decomposition, Maximum subarray sum, Palindrome reorder, Tower of Hanoi, Apple...
![](https://moocable.com/assets/images/MOOC Blank.png)
Advanced Techniques - CSES
This problem set includes a variety of challenging problems, such as Minimum spanning tree, Heavy-light decomposition, Maximum subarray sum, Palindrome reorder, Tower of Hanoi, Apple...
Additional Problems - CSES
Cover various topics such as greedy algorithms, BFS, and more. These additional problems provide a deeper challenge beyond the standard problem set. The problems involve concepts like minimizing...
![](https://moocable.com/assets/images/MOOC Blank.png)
Additional Problems - CSES
Cover various topics such as greedy algorithms, BFS, and more. These additional problems provide a deeper challenge beyond the standard problem set. The problems involve concepts like minimizing...
ACM - ICPC (LightOJ)
To describe the ACM-ICPC category on LightOJ, it is a section that likely contains problems related to the ACM International Collegiate Programming Contest (ICPC). This category may feature a variety...
![](https://moocable.com/assets/images/MOOC Blank.png)
ACM - ICPC (LightOJ)
To describe the ACM-ICPC category on LightOJ, it is a section that likely contains problems related to the ACM International Collegiate Programming Contest (ICPC). This category may feature a variety...
Database (LightOJ)
The problem description for the LightOJ category "database" involves a dynamic programming task where the goal is to find the number of nodes to be lightened in the subtree of a specific node...
![](https://moocable.com/assets/images/MOOC Blank.png)
Database (LightOJ)
The problem description for the LightOJ category "database" involves a dynamic programming task where the goal is to find the number of nodes to be lightened in the subtree of a specific node...
Interactive Problems (LightOJ)
Warm-Up (LightOJ)
"Warm-Up" on LightOJ's problem-solving platform is a section where users can find introductory problems designed to help them kickstart their problem-solving journey. These warm-up...
![](https://moocable.com/assets/images/MOOC Blank.png)
Warm-Up (LightOJ)
"Warm-Up" on LightOJ's problem-solving platform is a section where users can find introductory problems designed to help them kickstart their problem-solving journey. These warm-up...
Advanced Search Techniques (LightOJ)
This includes a variety of challenging problems that require advanced problem-solving techniques. These problems cover a range of topics such as Data Structures, Divide and Conquer, Dynamic...
![](https://moocable.com/assets/images/MOOC Blank.png)
Advanced Search Techniques (LightOJ)
This includes a variety of challenging problems that require advanced problem-solving techniques. These problems cover a range of topics such as Data Structures, Divide and Conquer, Dynamic...
Data Structures (LightOJ)
The category "data structures" on LightOJ includes problems that involve various data structure concepts. These problems likely require understanding and implementing data structures like...
![](https://moocable.com/assets/images/MOOC Blank.png)
Data Structures (LightOJ)
The category "data structures" on LightOJ includes problems that involve various data structure concepts. These problems likely require understanding and implementing data structures like...