Computer ScienceScience & MathematicsEconomics & FinanceBusiness & ManagementPolitics & GovernmentHistoryPhilosophy
JavaScript for impatient programmers
This book makes JavaScript less challenging to learn for newcomers, by offering a modern view that is as consistent as possible. Highlights: - Get started quickly, by initially focusing on modern features. - Test-driven exercises and quizzes available for most chapters. - Covers all essential features of JavaScript, up to and including ES2020...
Program Arcade Games
Learn and use Python and PyGame to design and build cool arcade games. In Program Arcade Games: With Python and PyGame, 4th Edition, Dr. Paul Vincent Craven teaches you how to create fun and simple quiz games; integrate and start using graphics; animate graphics; integrate and use game controllers; add sound and bit-mapped graphics; and build grid-...
Introduction to Scientific Programming with Python
This open book offers an initial introduction to programming for scientific and computational applications using the Python programming language. The presentation style is compact and example-based, making it suitable for students and researchers with little or no prior experience in programming. The book uses relevant examples from mathematics a...
Principles of Programming Languages
In this open book, our goal is to study the fundamental concepts in programming languages, as opposed to learning a range of specific languages. Languages are easy to learn, it is the concepts behind them that are difficult. The basic features we study in turn include higher-order functions, data structures in the form of records and variants, muta...
Practical Foundations for Programming Languages
Types are the central organizing principle of the theory of programming languages. Language features are manifestations of type structure. The syntax of a language is governed by the constructs that define its types, and its semantics is determined by the interactions among those constructs. The soundness of a language design - the absence of ill-d...
A Practical Introduction to Python Programming
This book started out as about 30 pages of notes for students in my introductory programming class at Mount St. Mary's University. Most of these students have no prior programming experience, and that has affected my approach. I leave out a lot of technical details and sometimes I oversimplify things. Some of these details are filled in later ...
Think OCaml
How to Think Like a Computer Scientist is an introductory programming book based on the OCaml language. It is a modified version of Think Python by Allen Downey. It is intended for newcomers to programming and also those who know some programming but want to learn programming in the function-oriented paradigm, or those who simply want to learn OCam...
OOP - Learn Object Oriented Thinking and Programming
You can find a whole range of programming textbooks intended for complete beginners. However, this one is exceptional to certain extent. The whole textbook is designed as a record of the dialogue of the author with his daughter who wants to learn programming. The author endeavors not to explain the Java programming language to the readers, but to t...
Fundamentals of Computer Programming with C#
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...
Creative Scala
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...
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 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...
Learn Python the right way
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...
Erlang Handbook
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...
Environmental Leadership Capacity Building in Higher Education
The Graduate Program in Sustainability Science under the Department of Urban Engineering of The University of Tokyo has been running an environmental leadership education program at the graduate student level since 2007 called the Asian Program for Incubation of Environmental Leaders (APIEL). This book describes the University's experiences in...
Foundations of Software Science and Computation Structures
This book constitutes the proceedings of the 15th International Conference on Foundations of Software Science and Computational Structures, FOSSACS 2012, held as part of the joint European Conference on Theory and Practice of Software, ETAPS 2012, which took place in Tallinn, Estonia, in March/April 2012. The 29 papers presented in this book toget...
The Privacy Engineer's Manifesto
The Privacy Engineer's Manifesto: Getting from Policy to Code to QA to Value is the first book of its kind, offering industry-proven solutions that go beyond mere theory and adding lucid perspectives on the challenges and opportunities raised with the emerging "personal" information economy. The authors, a uniquely skilled team of...
Tools and Algorithms for the Construction and Analysis of Systems
This book constitutes the refereed proceedings of the 7th International Conference on Tools and Algorithms for the Construction and Analysis of Systems, TACAS 2001. The 36 revised full papers presented together with an invited contribution were carefully reviewed and selected from a total of 125 submissions. The papers are organized in sections on ...
TouchDevelop
Mobile devices such as smartphones and tablets are set to become the main computers that virtually all people will own and carry with them at all times. And yet,mobile devices are not yet used for all computing tasks. A project at Microsoft Research was created to answer a simple question: "It is possible to create interesting apps directly on...
Tools and Algorithms for the Construction and Analysis of Systems
The LNCS 11427 and 11428 proceedings set constitutes the proceedings of the 25th International Conference on Tools and Algorithms for the Construction and Analysis of Systems, TACAS 2019, which took place in Prague, Czech Republic, in April 2019, held as part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2019. The tot...
Computer Aided Verification
The book set LNCS 11561 and 11562 constitutes the refereed proceedings of the 31st International Conference on Computer Aided Verification, CAV 2019, held in New York City, USA, in July 2019. The 52 full papers presented together with 13 tool papers and 2 case studies, were carefully reviewed and selected from 258 submissions. The papers were organ...
Agile Processes in Software Engineering and Extreme Programming – Workshops
This book constitutes the research workshops, doctoral symposium and panel summaries presented at the 20th International Conference on Agile Software Development, XP 2019, held in Montreal, QC, Canada, in May 2019.XP is the premier agile software development conference combining research and practice. It is a hybrid forum where agile researchers, a...
Advancing Human Assessment
​This book describes the extensive contributions made toward the advancement of human assessment by scientists from one of the world's leading research institutions, Educational Testing Service. The book's four major sections detail research and development in measurement and statistics, education policy analysis and evaluation, scienti...
Current and Future Perspectives of Ethnomathematics as a Program
This survey on the modernity of ethnomathematics addresses numerous themes related to both ethnomathematics and mathematics education. It offers a broader view of mathematics, including ideas, procedures, concepts, processes, methods, and practices rooted in distinct cultural environments. In addition, by reflecting on the social and political dime...
Solving PDEs in Python
This book offers a concise and gentle introduction to finite element programming in Python based on the popular FEniCS software library. Using a series of examples, including the Poisson equation, the equations of linear elasticity, the incompressible Navier - Stokes equations, and systems of nonlinear advection - diffusion - reaction equations, it...
Optimizing HPC Applications with Intel Cluster Tools
Optimizing HPC Applications with Intel Cluster Tools takes the reader on a tour of the fast-growing area of high performance computing and the optimization of hybrid programs. These programs typically combine distributed memory and shared memory programming models and use the Message Passing Interface (MPI) and OpenMP for multi-threading to achieve...
Think Python
If you want to learn how to program, working with Python is an excellent way to start. This hands-on guide takes you through the language a step at a time, beginning with basic programming concepts before moving on to functions, recursion, data structures, and object-oriented design. This second edition and its supporting code have been updated for...
Think Java
Think Java is a hands-on introduction to computer science and programming used by many universities and high schools around the world. Its conciseness, emphasis on vocabulary, and informal tone make it particularly appealing for readers with little or no experience. The book starts with the most basic programming concepts and gradually works its wa...
Think Raku (Think Perl 6)
The title of this book was originally Think Perl 6, but since Perl 6 has been renamed Raku, we have also changed the title of the book. Want to learn how to program and think like a computer scientist? This practical guide gets you started on your programming journey with the help of Raku (Perl 6), the younger sister of the popular Perl programm...
Children and Peace
This free book brings together discourse on children and peace from the 15th International Symposium on the Contributions of Psychology to Peace, covering issues pertinent to children and peace and approaches to making their world safer, fairer and more sustainable. The book is divided into nine sections that examine traditional themes (social con...
Agile Processes, in Software Engineering, and Extreme Programming
This book contains the refereed proceedings of the 17th International Conference on Agile Software Development, XP 2016, held in Edinburgh, UK, in May 2016.While agile development has already become mainstream in industry, this field is still constantly evolving and continues to spur an enormous interest both in industry and academia. To this end, ...
Rexx Programmer's Reference
Originally developed for mainframes but highly portable across platforms-from servers to desktops to handhelds-Rexx is an easy yet powerful scripting language that's widely used for rapid application development. Covers Rexx interpreters for specialized functions-object-oriented, mainframe, and handheld. There are 8 different free Rexx i...
CS Unplugged
Computers are everywhere. We all need to learn how to use them, and many of us use them every day. But how do they work? How do they think? And how can people write software that is fast and easy to use? Computer science is a fascinating subject that explores these very questions. The easy and fun activities in this book, designed for studentren of...

1 2 3 4 ... 19