C is a general-purpose, procedural computer programming language supporting structured programming, lexical variable scope, and recursion, with a static type system.
The C Programming Language Handbook follows the 80/20 rule: learn in 20% of the time the 80% of a topic. In particular, the goal is to get you up to speed quickly with C....
Do you know that an empowering word can spark ideas, open doors, change attitudes, and create solutions?
Words can do all these things and much more. They have the potency to redefine personalities, lives, and entire communities. Just think of some of the things words are used for every day:
- To communicate a message
- To express a feeling
-...
The growth of social media over the last decade has revolutionized the way individuals interact and industries conduct business. Individuals produce data at an unprecedented rate by interacting, sharing, and consuming content through social media. Understanding and processing this new type of data to glean actionable patterns presents challenges an...
When you've graduated from breadboards and jumper wires it's time to tackle electronics the way the pros do it: by making your own PCBs! We'll take you from beginner to slightly more experienced beginner, with a guide to designing, debugging and manufacturing your own custom electronic creation.
- Learn the secrets of the guitaris...
This stunning 224-page hardback book not only tells the stories of some of the seminal video games of the 1970s and 1980s, but shows you how to create your own games inspired by them using Python and Pygame Zero, following examples programmed by Raspberry Pi founder Eben Upton.
In the first of two volumes, we remake five classic video games - ra...
Whether you want to build robots, smart devices, or any other electronically controlled projects, this is the book you need. We take you through how to program and connect an Arduino microcontroller board, then explore some great projects to make with it.
- Build a four-legged walking robot;
- Create a Tetris-inspired clock;
- Grow your own ve...
This open book is for the beginning level of both architecture and interior design students who learn computer graphic communication software. The author developed multiple tutorials to teach three computer graphic applications, AutoCAD, Revit, and Enscape. AutoCAD is an essential computer drafting software which is 2D drawing software. Revit is a ...
This guide aims to aid people interested in learning to work with BASH. It aspires to teach good practice techniques for using BASH, and writing simple scripts.
This guide is targeted at beginning users. It assumes no advanced knowledge - just the ability to login to a Unix-like system and open a command-line (terminal) interface. It will help i...
If you're new to programming, this book will introduce you to thepatterns and concepts used to build modern web applications. You'lllearn how to build a web app (and how the big pieces fit together) by building something from scratch! While this little book won't be able tocover absolutely everything you need to know about programmin...
Blazor, A Beginners Guide is intended for developers with some .NET experience. If you're coming from a non-.NET development background, you may learn some .NET basics along the way, but supplemental material around C# and .NET would be of great help to you.
The book begins with the author's own perspective on WebAssembly, why it'...
There are many books and resources about Pascal out there, but too many of themtalk about the old Pascal, without classes, units or generics.
So I wrote this quick introduction to what I call modern Object Pascal. Most of theprogrammers using it don't really call it "modern Object Pascal", we just call it "ourPascal". Bu...
It took me a pretty long time to really get Git. As I've continued to use Git more and more where I work, I've found myself trying to teach people what it is and why we use it over and over again, and the reality is that Git generally has a pretty steep learning curve compared to many other systems. I've seen case after case of devel...
Java 3D Programming steps programmers through the important design and implementation phases of developing a successful Java 3D application. The book provides invaluable guidance on whether to use Java 3D, user interface design, geometry creation, scene manipulation and final optimizations. The book does not attempt to exhaustively cover the API or...
We are entering a new era of technological determinism and solutionism in which governments and business actors are seeking data-driven change, assuming that Artificial Intelligence is now inevitable and ubiquitous. But we have not even started asking the right questions, let alone developed an understanding of the consequences. Urgently needed is ...
This open book aims to provide novice programmers solid foundation of basic knowledge regardless of the programming language. This book covers the fundamentals of programming that have not changed significantly over the last 10 years. Educational content was developed by an authoritative author team led by Svetlin Nakov from the Software University...
Kubernetes has become the operating system of today's cloud native world, providing a reliable and scalable platform for running containerized workloads. In this friendly, pragmatic book, cloud experts Justin Domingus and John Arundel show you what Kubernetes can do-and what you can do with it.
This updated second edition guides you through...
The Symfony Framework is well-known for being really flexible and is used to build micro-sites, enterprise applications that handle billions of connections and even as the basis for other frameworks. Since its release in July 2011, the community has learned a lot about what's possible and how to do things best.
These community resources - l...
Papua New Guinea (PNG), a nation of now almost nine million people, continues to evolve and adapt. While there is no shortage of recent data and research on PNG, the two most recent social science volumes on the country were both written more than a decade ago. Since then, much has changed and much has been learnt. What has been missing is a volume...
Site reliability engineering (SRE) is more relevant than ever. Knowing how to keep systems reliable has become a critical skill. With this practical book, newcomers and old hats alike will explore a broad range of conversations happening in SRE. You'll get actionable advice on several topics, including how to adopt SRE, why SLOs matter, when y...
Developing Graphics Frameworks with Python and OpenGL shows you how to create software for rendering complete three-dimensional scenes. The authors explain the foundational theoretical concepts as well as the practical programming techniques that will enable you to create your own animated and interactive computer-generated worlds. You will learn h...
With more and more companies moving on-premises applications to the cloud, software and cloud solution architects alike are busy investigating ways to improve load balancing, performance, security, and high availability for workloads. This practical book describes Microsoft Azure's load balancing options and explains how NGINX can contribute t...
Few software developers would build an application without using source control, but its adoption for databases has been slower. Yet without source control to maintain the scripts necessary to create our database objects, load lookup data, and take other actions, we cannot guarantee a reliable and repeatable database deployment process, let alone c...
As technology has developed, computer hackers have become increasingly sophisticated, mastering the ability to hack into even the most impenetrable systems. The best way to secure a system is to understand the tools hackers use and know how to circumvent them. Defense against the Black Arts: How Hackers Do What They Do and How to Protect against It...
The increasing capacity of digital networks and computing power, together with the resulting connectivity and availability of "big data", are impacting financial systems worldwide with rapidly advancing deep-learning algorithms and distributed ledger technologies. They transform the structure and performance of financial markets, the serv...
Digital accessibility skills are in high demand, as the world becomes more aware of barriers in digital content that prevent some people from participating in a digital society. These are essential skills for web developers, and essential knowledge for organizations that want to ensure their web content is reaching the broadest audience possible.
...
This fluent and comprehensive field guide responds to increased interest, across the humanities, in the ways in which digital technologies can disrupt and open up new research and pedagogical avenues. It is designed to help scholars and students engage with their subjects using an audio-visual grammar, and to allow readers to efficiently gain the t...
A short course for students to increase their proficiency in analyzing and interpreting data visualizations. By completing this short course students will be able to explain the importance of data literacy, identify data visualization issues in order to improve their own skills in data story-telling. The intended outcome of this course is to help s...
Every Database Administrator, developer, report writer, and anyone else who writes T-SQL to access SQL Server data, must understand how to read and interpret execution plans. My book leads you right from the basics of capturing plans, through how to interrupt them in their various forms, graphical or XML, and then how to use the information you fin...
C# is a general purpose, object-oriented, component-based programming language. As a general purpose language, there are a number of ways to apply C# to accomplish many different tasks. You can build web applications with ASP.NET, desktop applications with Windows Presentation Foundation, or build mobile applications for Windows Phone. Other applic...
This thoroughly revised guide demonstrates how the flexibility of the command line can help you become a more efficient and productive data scientist. You'll learn how to combine small yet powerful command-line tools to quickly obtain, scrub, explore, and model your data. To get you started, author Jeroen Janssens provides a Docker image packe...
The purpose of this book is to give you a thorough introduction to competitive programming. It is assumed that you already know the basics of programming, but no previous background in competitive programming is needed.
The book is especially intended for students who want to learn algorithms and possibly participate in the International Olympi...
The GNU Debugger allows you to see what is going on "inside" a program while it executes - or what a program was doing at the moment it crashed. GDB supports C, C++, Java, Fortran and Assembly among other languages; it is also designed to work closely with the GNU Compiler Collection (GCC). The GNU Debugger Program has four special featur...