Welcome to E-Books Directory
This page lists freely downloadable books.
Software Design, Testing & Engineering
E-Books for free online viewing and/or download
Software Engineering (24)
e-books in this category
Domain-Driven Design Quickly
by Abel Avram, Floyd Marinescu - Lulu.com , 2007
This book is a short, quickly-readable summary and introduction to the fundamentals of Domain Driven Design; it does not introduce any new concepts; it attempts to concisely summarize the essence of what Domain Driven Design is.
Evil by Design: Design patterns that lead us into temptation
by Chris Nodder - O'Reilly Media , 2012
The book takes a look at how web and application design can be used to exploit psychological principles to persuade us to act. Features include: Examples of evil designs from around the Web; Introduction to the psychology of persuasion; etc.
First Course in Programming with Karel the Robot and Python
by Pavel Solin, Salih Dede - FEMhub Inc. , 2012
This textbook will help you discover the power of procedural and object-oriented programming with Karel the Robot and Python. After taking this course, you will have solid theoretical knowledge and vast practical experience with programming.
Picturing Programs: an Introduction to Computer Programming
by Stephen Bloch - College Publications , 2010
Picturing Programs is a textbook for beginning computer programming, not directed towards learning a particular programming language, but rather at learning to program well. This book can be used at the high school or college level.
The Codeless Code
by Qi - thecodelesscode.com , 2012
An illustrated collection of (sometimes violent) fables concerning the Art and Philosophy of software development, written in the spirit of Zen koans. (For three days and nights the Java master did not emerge from his cubicle ...)
Software Optimization Resources
by Agner Fog - agner.org , 2012
These manuals describe everything you need to know about optimizing code for x86 and x86-64 microprocessors, including optimization advices for C++ and assembly language, details about the microarchitecture and instruction timings of processors.
97 Things Every Programmer Should Know
by Kevlin Henney - O'Reilly Media , 2010
Tap into the wisdom of experts to learn what every programmer should know, no matter what language you use. With the 97 extremely useful tips for programmers in this book, you'll expand your skills by adopting new approaches to old problems.
Optimizing Code for Speed
- Wikibooks , 2011
This document will focus on optimizing code to run faster. The intended audience of this text are software developers, primarily programmers who know at least one programming language well enough to write moderately complex programs.
The Software Development Book
by Mark Watson , 2009
The goal of this book is to encourage the reader to step back and reevaluate how they design and write software systems. Although the book is about Software Development, it is also about working in the IT field, dealing with competition, etc.
Fundamentals of Programming: With Object Orientated Programming
by Gary Marrer , 2009
Written for students who are preparing for their first computer programming language class. The topics are presented in an easy to understand fashion with special emphasis on the fundamental concepts necessary to develop quality software programs.
Programming Fundamentals: A Modular Structured Approach Using C++
by Kenneth Leroy Busbee - Connexions , 2011
The approach of this course will be to take the student through a progression of materials that will allow the student to develop the skills of programming. This textbook covers modular/structured programming fundamentals.
Software Design Patterns for Everyone
by Anoop Madhusudanan , 2009
The objective of this book is to introduce software design patterns to you in a simple, human readable, and funny way -- in the context of designing a soccer engine -- By discussing the thought process behind applying design patterns.
Pablo's SOLID Software Development
by Derick Bailey - LosTechies.com , 2009
S.O.L.I.D. is a collection of best-practice design principles which can be applied to your design, allowing you to accomplish various desirable goals such as loose-coupling, higher maintainability, intuitive location of interesting code, etc.
Reboot: Rethinking Software Development
by David Longstreet - rebootrethink.com , 2011
This book takes a fresh look at software development. It is informative, funny, witty, and takes a lively and engaging look at issues facing any software development organization. In addition, it examines music, architecture, and industrial design.
The Art of Readable Code
by Dustin Boswell, Trevor Foucher - O'Reilly , 2010
This book focuses on the nuts and bolts of programming, with simple and practical techniques you can use every time you sit down to write code. You'll find tips throughout the book, with easy-to-digest code examples and helpful illustrations.
Apprenticeship Patterns: Guidance for the Aspiring Software Craftsman
by Dave Hoover, Adewale Oshineye - O'Reilly Media , 2009
These patterns address difficult situations that programmers, administrators, and DBAs face every day. The book also approaches software development as a means to personal fulfillment. Discover how it can help you make the best of your career.
The Programmers' Stone
by Alan G Carter, Colston Sanger , 1999
The purpose of this text is to recapture, explore and celebrate the Art of Computer Programming. Chapters: Thinking about Thinking; Thinking about Programming; The Programmer at Work; Customs and Practices; Design Principles; Prudence and Safety.
97 Things Every Software Architect Should Know
by Richard Monson-Haefel - O'Reilly , 2010
These articles are the original, unedited contributions for the book 97 Things Every Software Architect Should Know. Today's leading software architects present valuable principles on key development issues that go way beyond technology.
Working through Screens
by Jacob Burghardt - Flashbulb Interaction , 2010
A reference for product teams creating new applications for thinking work. Written for use during early, formative conversations, it provides teams with a broad range of considerations for setting the overall direction for their onscreen tools.
Foundations of Programming: Building Better Software
by Karl Seguin - CodeBetter.Com , 2007
Free ebook on foundations of programming and building better software by Karl Seguin. Topics covered: Domain Driven Design, Persistence, Dependency Injection, Unit Testing, Object Relational Mappers, Memory and Exceptions.
Bringing Design to Software
by Terry Winograd - Addison-Wesley , 1996
In this landmark book, Terry Winograd shows how to improve the practice of software design, by applying lessons from other areas of design to the creation of software. The goal is to create software that works -- really works.
by Nigel - ivencia.com , 2010
In this high technology world of computing, we have forgotten the original promise of software technology -- to make our lives easier. This book is about how individuals can take the lead in realigning our development efforts to that promise.
Introduction to Software Development
by J. P. Lopez, L. R. i Xirgo - Eureca Media , 2010
This course book is designed for IT specialists and developers that are starting their way in the free software development universe. Professionals need to handle different programming technics, languages and develop specific workgroup skills.
Scientific Software Engineering in a Nutshell
by Helmut G. Katzgraber - arXiv , 2010
Writing complex computer programs to study scientific problems requires careful planning and an in-depth knowledge of programming languages and tools. In this text the importance of using the right tool for the right problem is emphasized.
Statistical Software Engineering
- National Academies Press , 1996
This book identifies challenges in the development and implementation of software that contain significant statistical content. It emphasizes the relevance of using rigorous statistical and probabilistic techniques in software engineering.
31 Days of Refactoring
by Sean Chambers, Simone Chiaretta - Los Techies , 2009
Refactoring is an integral part of continually improving your code while it moves forward through time. It is an easy concept to get started with and opens the door to better practices such as unit testing, shared code ownership and bug-free code.
Software Development Guidelines
- literateprogramming.com , 2000
A guide for software source code quality. The guidelines apply to anyone who creates, modifies, or reads software source code. This document is a set of rules to follow during the implementation phase that will help produce a higher quality result.
Small Memory Software: Patterns for systems with limited memory
by Charles Weir, James Noble - Addison-Wesley , 2000
Offers state-of-the art programming solutions for personal digital assistants (PDAs). Includes illustrated patterns professionals can use, with implementation notes for reference, including some on the companion Web site, and examples in C++ or Java.
Don't Just Roll The Dice: A usefully short guide to software pricing
by Neil Davidson - Red gate books , 2009
How do you price your software? Is it science or magic? How much attention should you pay to your competitors? This handbook will provide you with the theory, practical advice and case studies you need to stop yourself from reaching for the dice.
Creating Applications with Mozilla
by David Boswell, at al. - O'Reilly Media , 2002
Mozilla allows developers to create cross-platform applications. The book explains how applications are created and provides step-by-step information about how you can create your own programs using Mozilla's cross-platform development framework.
Engineering Software for Accessibility
by Microsoft Corporation - Microsoft Press , 2009
Discover how to create accessible software by planning for accessibility from the beginning of the development cycle. Familiarize yourself with the basics of accessibility, including color contrast, font size, the images, and systemwide settings.
How to Make Software
by Nick Jenkins , 2005
An introduction to software development based on Rapid Application Development (RAD) and rapid prototyping. You don't have to be a genius to deliver software on time and join the 'elite' of the software development world.
The Unicode Standard, Version 3.0
by The Unicode Consortium - Addison-Wesley Professional , 2000
Technical guide to the creation of software for worldwide use. The book includes detailed specifications for Unicode: structure, encoding forms, character properties, semantics, equivalence, combining characters, conversion, allocation, etc.
Think Python: An Introduction to Software Design
by Allen Downey - Green Tea Press , 2008
A concise introduction to software design using Python. Intended for people with no programming experience, this book starts with the most basic concepts and gradually adds new material. The goal is to teach you to think like a computer scientist.
Getting Real: The Smarter, Faster, Easier Way to Build a Successful Web Application
by 37signals - LL , 2006
The book covers the design, programming, marketing and business principles of 37signals. It's a book of ideas, not a design tutorial or technical book. Simple insights, unconventional approaches to software design, and contrarian points of view.
Patterns of Software: Tales from the Software Community
by Richard P. Gabriel - Oxford University Press , 1998
An informative inside look at the world of software design and computer programming and the business that surrounds them. Written for computer scientists and software entrepreneurs, but the essays are accessible to everyone.
Client vs. Developer Wars
by Eric Holter - Newfangled Web Factory , 2006
The book about the simple idea of communicating about a website by using a website. This idea allowed the author to clearly communicate the subtleties of a website to non-technical clients. The book for anyone involved in developing a website.
How to Design Programs: An Introduction to Programming and Computing
by Matthias Felleisen, et al - The MIT Press , 2003
The focus of the book is the design process, from problem statements to organized solutions, it deemphasizes the algorithmic and language details, and specific applications. Programming is a fun activity, and a way to express abstract ideas.