A Practical Theory of Programming
There are several theories of programming. The first usable theory, often called "Hoare's Logic", is still probably the most widely known. In it, a specification is a pair of predicates:...
Programming Fundamentals, 2nd Edition
The original content for this book was created by Kenneth Leroy Busbee and written specifically for his course based on C++. The goal for this second edition is to make...
Elements of Programming
Elements of Programming provides a different understanding of programming than is presented elsewhere. Its major premise is that practical programming, like other areas of science and engineering, must be based...
How to Design Programs, 2nd Edition
A completely revised edition, offering new design recipes for interactive programs and support for images as plain values, testing, event-driven programming, and even distributed programming. This introduction to programming places...
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 architecture,...
Test–Driven Development with Python, 2nd Edition
By taking you through the development of a real web application from beginning to end, the second edition of this hands-on guide demonstrates the practical advantages of test-driven development (TDD)...
Programming Basics with C#
The free book "Programming Basics with C#" (https://csharp-book.softuni.org) is a comprehensive entry level computer programming tutorial for absolute beginners that teaches basics of coding (variables and data, conditional statements, loops...
Patterns for Beginning Programmers
Programming patterns are solutions to problems that require the creation of a small fragment of code that will be part of a larger program. Hence, this book is about teaching...
Your First Year in Code
The goal of this book is to help you start your programming journey a year or two ahead of where we were when we started. There's a lot of how-to,...
Algorithmic Rights and Protections for Children
Essays on the challenges and risks of designing algorithms and platforms for children, with an emphasis on algorithmic justice, learning, and equity. One in three Internet users worldwide is a...