CakePHP 4 is a web development framework running on PHP 8.1 (min. PHP 7.2). Read CakePHP at a Glance to get an introduction to the fundamentals of CakePHP. The CakePHP cookbook is an openly developed and community editable documentation project....
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...
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'...
Blazor is a new web framework that changes what is possible when building web apps with .NET. Blazor is a client-side web UI framework based on C# instead of JavaScript. With Blazor you can write your client-side logic and UI components in C#, compile them into normal .NET assemblies, and then run them directly in the browser using a new open web s...
This book integrates the vital areas of object-orientation, functional programming, design patterns, and language design. The most important concepts from functional programming are captured with six design patterns: FUNCTION OBJECTS (Black-box behaviour parameterisation) LAZY OBJECTS (Evaluation-by-need semantics) VALUE OBJECTS (Immutable values) ...
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...
A free and open-source introduction to the art and science of cinema. From the earliest iterations to the latest innovations, this introductory text explores the tools and techniques of mise-en-scene, narrative form, cinematography, editing, sound and acting, how each has contributed to the evolution of cinematic language, and how that evolution im...
Each chapter comprises a separate study on some optimization problem giving both an introductory look into the theory the problem comes from and some new developments invented by author(s). Usually some elementary knowledge is assumed, yet all the required facts are quoted mostly in examples, remarks or theorems....
Lecture notes for the Yale Computer Science course CPSC 469/569 Randomized Algorithms. Suitable for use as a supplementary text for an introductory graduate or advanced undergraduate course on randomized algorithms. Discusses tools from probability theory, including random variables and expectations, union bound arguments, concentration bounds, app...
Lift is designed to make powerful techniques easily accessible, while keeping the overall framework simple and flexible. Lift makes it fun to develop because it lets you focus on the interesting parts of coding.
For those of you have experience with other web frameworks such as Struts, Tapestry, Rails, et cetera, you must be asking yourself, &qu...
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...
Writing Guide with Handbook aligns to the goals, topics, and objectives of many first-year writing and composition courses. It is organized according to relevant genres, and focuses on the writing process, effective writing practices or strategies - including graphic organizers, writing frames, and word banks to support visual learning - and conven...
Creative Scala is aimed at developers who have no prior experience in Scala. It is designed to give you a fun introduction to functional programming. We assume you have some familiarity with another programming language but little or no experience with Scala or other functional languages.
We have three goals with this book:
1. To give an introd...
This edited collection proposes a common good approach to development theory and practice. Rather than focusing on the outcomes or conditions of development, the contributors concentrate on the quality of development processes, suggesting that a common good dynamic is key in order to trigger development.
Resulting from more than three years of r...
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...
A broad introduction to algorithms for decision making under uncertainty, introducing the underlying mathematical problem formulations and the algorithms for solving them.
Automated decision-making systems or decision-support systems - used in applications that range from aircraft collision avoidance to breast cancer screening - must be designed...
Resilient Web Design, you might think that this is a handbook for designing robust websites. This is not a handbook. It's more like a history book.
But in the world of web design, we are mostly preoccupied with the here and now. When we think beyond our presentmoment, it is usually to contemplate the future - to imaginethe devices, features...
How To Do Science has been written for students of the life sciences who are actively engaged in the scientific process. This guide introduces you to what it means to be a scientist. You will learn about the scientific method and how to carry out many tasks of a scientist, including: designing experiments, visualising data, accessing scientific lit...
This book is geared towards users who have no Revit background. It starts with Revit basics such as how to create walls, floors, roof, but it also covers more advanced topics such as creating a complex object, preparing construction documents, and modeling mechanical and structural systems.
This book is an open education platform for Architectur...
This open book is a dynamic guide incorporating the essential skills needed to build a foundation in Financial Analysis. Students and readers will learn how to insightfully read a Financial Statement, utilize key financial ratios in order to derive forward-looking investment-related inferences from the accounting data, engage in elementary forecast...
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 you how to write such fragments of code. However, it is not about teaching you the syntax of the statements in the fragments, it assumes that you already know the syntax. Inst...
You are reading a book about the Raku programming language. This language has appeared as a rename of Perl 6 in October 2019.
Like its parent, Perl 5, the Raku language keeps the spirit of being a powerful tool in many areas, from devops programs for configuration management through different command-line applications to concurrent web servers.
...
Python is a fun and extremely easy-to-use programming language that has steadily gained in popularity over the last few years. Developed over ten years ago by Guido van Rossum, Python's simple syntax and overall feel is largely derived from ABC, a teaching language that was developed in the 1980's.
However, Python was also created to s...
Julia is a high-level, dynamic programming language. Its features are well suited for numerical analysis and computational science.
Julia works with other languages (C, Python, R, Rust, C++, SQL, JavaScript, ...)
The Purpose of this open book is to introduce programmers to the Julia programming by example. This is a simplified exposition of the l...
For many years, Java Swing enabled developers to write applications that could run on any operating system. That all came to an end with the arrival of smart phones, tablets, and embedded computers.
In the enterprise, the desktop dominated for many years. In the meantime, however, almost every IT project includes plans for a future where the app...
Creating landscapes of investigation is a primary concern of critical mathematics education. It enables us to organise educational processes so that students and teachers are able to get involved in explorations guided by dialogical interactions. It attempts to address explicit or implicit forms of social injustice by means of mathematics, and also...
This book is designed to accompany a graduate-level instructional design course: Game-Based and Adaptive Learning, but could also be used for undergraduate teacher education or instructional design courses.
The original texts and material for this book came from the development of a course for Brandeis University as part of their MS in Learner E...
Erlang is the result of a project at Ericsson's Computer Science Laboratory to improve the programming of telecommunication applications. A critical requirement was supporting the characteristics of such applications, that include: massive concurrency, fault-tolerance, isolation, dynamic code upgrading at runtime, transactions.
Throughout t...
Svelte departs from the virtual DOM approach by compiling the code you write into native-browser JavaScript when you build your application. The result is minimal and highly optimized pure JavaScript that the browser executes with no heavy runtime. In Svelte Succinctly, Ed Freitas will show readers how to install Svelte and give them a condensed ov...
A collection of readings and exercises aligned with the course, ME 270, Introduction to Mechanical Engineering Design, at Iowa State University. This course provides an overview of mechanical engineering design with applications to thermal and mechanical systems, and an introduction to current design practices used in industry. As part of the cours...