"The authors develop a framework for introducing coding in the science classroom, in which coding is a form of embodied activity, expression, and language"--OCLC-licensed vendor bibliographic record.
The technology of mechanized program verification can play a supporting role in many kinds of research projects in computer science, and related tools for formal proof-checking are seeing increasing adoption in mathematics and engineering. This book provides an introduction to the Coq software for writing and checking mathematical proofs. It takes a practical engineering focus throughout, empha…
Using our moral and technical imaginations to create responsible innovations: theory, method, and applications for value sensitive design. Implantable medical devices and human dignity. Private and secure access to information. Engineering projects that transform the Earth. Multigenerational information systems for international justice. How should designers, engineers, architects, policy maker…
This collection of short expository, critical and speculative texts offers a field guide to the cultural, political, social and aesthetic impact of software. Experts from a range of disciplines each take a key topic in software and the understanding of software, such as algorithms and logical structures.OCLC-licensed vendor bibliographic record.
Algebraic Semantics of Imperative Programs presents a self-contained and novel "executable" introduction to formal reasoning about imperative programs. The authors' primary goal is to improve programming ability by improving intuition about what programs mean and how they run. The semantics of imperative programs is specified in a formal, implemented notation, the language OBJ; this makes the s…
"A Bradford book.""This book explores a central issue in artificial intelligence, cognitive science, and artificial life: how to design information structures and processes that create and adapt intelligent agents through evolution and learning." "The book is organized around four topics: the power of evolution to determine effective solutions to complex tasks, mechanisms to make evolutionary d…
A Small Matter of Programming asks why it has been so difficult for end users to command programming power and explores the problems of end user-driven application development that must be solved to afford end users greater computational power.Drawing on empirical research on existing end user systems, A Small Matter of Programming analyzes cognitive, social, and technical issues of end user pr…
"Parallel computation will become the norm in the coming decades. Unfortunately, advances in parallel hardware have far outpaced parallel applications of software. There are currently two approaches to applying parallelism to applications. One is to write completely new applications in new languages. But abandoning applications that work is unacceptable to most nonacademic users of high-perform…
The authors introduce this new approach to programming language design, describe its evolution and design principles, and present a formal specification of a metaobject protocol for CLOS. The CLOS metaobject protocol is an elegant, high-performance extension to the CommonLisp Object System. The authors, who developed the metaobject protocol and who were among the group that developed CLOS, intr…
This series is for people--adults and teenagers--who are interested in computer programming because it's fun. The three volumes use the Logo programming language as the vehicle for an exploration of computer science from the perspective of symbolic computation and artificial intelligence. Logo is a dialect of Lisp, a language used in the most advanced research projects in computer science, espe…