Author: Marian Petre
Publisher: MIT Press
Release Date: 2016-10-06
An engaging, illustrated collection of insights revealing the practices and principles that expert software designers use to create great software. What makes an expert software designer? It is more than experience or innate ability. Expert software designers have specific habits, learned practices, and observed principles that they apply deliberately during their design work. This book offers sixty-six insights, distilled from years of studying experts at work, that capture what successful software designers actually do to create great software. The book presents these insights in a series of two-page illustrated spreads, with the principle and a short explanatory text on one page, and a drawing on the facing page. For example, “Experts generate alternatives” is illustrated by the same few balloons turned into a set of very different balloon animals. The text is engaging and accessible; the drawings are thought-provoking and often playful. Organized into such categories as “Experts reflect,” “Experts are not afraid,” and “Experts break the rules,” the insights range from “Experts prefer simple solutions” to “Experts see error as opportunity.” Readers learn that “Experts involve the user”; “Experts take inspiration from wherever they can”; “Experts design throughout the creation of software”; and “Experts draw the problem as much as they draw the solution.” One habit for an aspiring expert software designer to develop would be to read and reread this entertaining but essential little book. The insights described offer a guide for the novice or a reference for the veteran—in software design or any design profession. A companion web site provides an annotated bibliography that compiles key underpinning literature, the opportunity to suggest additional insights, and more.
Author: Marian Petre
Publisher: MIT Press
Release Date: 2016-09-30
What makes an expert software designer? It is more than experience or innate ability. Expert software designers have specific habits, learned practices, and observed principles that they apply deliberately during their design work. This book offers sixty-six insights, distilled from years of studying experts at work, that capture what successful software designers actually do to create great software. The book presents these insights in a series of two-page illustrated spreads, with the principle and a short explanatory text on one page, and a drawing on the facing page. For example, "Experts generate alternatives" is illustrated by the same few balloons turned into a set of very different balloon animals. The text is engaging and accessible; the drawings are thought-provoking and often playful. Organized into such categories as "Experts reflect," "Experts are not afraid," and "Experts break the rules," the insights range from "Experts prefer simple solutions" to "Experts see error as opportunity." Readers learn that "Experts involve the user"; "Experts take inspiration from wherever they can"; "Experts design throughout the creation of software"; and "Experts draw the problem as much as they draw the solution." One habit for an aspiring expert software designer to develop would be to read and reread this entertaining but essential little book. The insights described offer a guide for the novice or a reference for the veteran -- in software design or any design profession.
Author: Adam Barr
Publisher: MIT Press
Release Date: 2018-10-23
An industry insider explains why there is so much bad software—and why academia doesn't teach programmers what industry wants them to know. Why is software so prone to bugs? So vulnerable to viruses? Why are software products so often delayed, or even canceled? Is software development really hard, or are software developers just not that good at it? In The Problem with Software, Adam Barr examines the proliferation of bad software, explains what causes it, and offers some suggestions on how to improve the situation. For one thing, Barr points out, academia doesn't teach programmers what they actually need to know to do their jobs: how to work in a team to create code that works reliably and can be maintained by somebody other than the original authors. As the size and complexity of commercial software have grown, the gap between academic computer science and industry has widened. It's an open secret that there is little engineering in software engineering, which continues to rely not on codified scientific knowledge but on intuition and experience. Barr, who worked as a programmer for more than twenty years, describes how the industry has evolved, from the era of mainframes and Fortran to today's embrace of the cloud. He explains bugs and why software has so many of them, and why today's interconnected computers offer fertile ground for viruses and worms. The difference between good and bad software can be a single line of code, and Barr includes code to illustrate the consequences of seemingly inconsequential choices by programmers. Looking to the future, Barr writes that the best prospect for improving software engineering is the move to the cloud. When software is a service and not a product, companies will have more incentive to make it good rather than “good enough to ship."
Author: David Carlson
Publisher: Bis Pub
Release Date: 2012
This book will help you to design better... and to make design matter! David is the founder of The David Report, the Designboost conference series, Carlson Ahnell, and David Design. His social life reflects his crosspollinating mindcast: president of a nature conservation organisation; guitar player in bands since the early 80s, most recently with the band Miller Moon; and last but not least, a deeply dedicated gardener – more specifically, of old roses with unmatched aromas. This little red book presents a pocket guide to meaningful design. Seven stepping stones that inspire you to cross the stream of change, and get you to the other side, firm and dry...-Brent Richards, creative chef & architect
Software legend Max Kanat-Alexander shows you how to succeed as a developer by embracing simplicity, with forty-three essays that will help you really understand the software you work with. About This Book Read and enjoy the superlative writing and insights of the legendary Max Kanat-Alexander Learn and reflect with Max on how to bring simplicity to your software design principles Discover the secrets of rockstar programmers and how to also just suck less as a programmer Who This Book Is For Understanding Software is for every programmer, or anyone who works with programmers. If life is feeling more complex than it should be, and you need to touch base with some clear thinking again, this book is for you. If you need some inspiration and a reminder of how to approach your work as a programmer by embracing some simplicity in your work again, this book is for you. If you're one of Max's followers already, this book is a collection of Max's thoughts selected and curated for you to enjoy and reflect on. If you're new to Max's work, and ready to connect with the power of simplicity again, this book is for you! What You Will Learn See how to bring simplicity and success to your programming world Clues to complexity - and how to build excellent software Simplicity and software design Principles for programmers The secrets of rockstar programmers Max's views and interpretation of the Software industry Why Programmers suck and how to suck less as a programmer Software design in two sentences What is a bug? Go deep into debugging In Detail In Understanding Software, Max Kanat-Alexander, Technical Lead for Code Health at Google, shows you how to bring simplicity back to computer programming. Max explains to you why programmers suck, and how to suck less as a programmer. There's just too much complex stuff in the world. Complex stuff can't be used, and it breaks too easily. Complexity is stupid. Simplicity is smart. Understanding Software covers many areas of programming, from how to write simple code to profound insights into programming, and then how to suck less at what you do! You'll discover the problems with software complexity, the root of its causes, and how to use simplicity to create great software. You'll examine debugging like you've never done before, and how to get a handle on being happy while working in teams. Max brings a selection of carefully crafted essays, thoughts, and advice about working and succeeding in the software industry, from his legendary blog Code Simplicity. Max has crafted forty-three essays which have the power to help you avoid complexity and embrace simplicity, so you can be a happier and more successful developer. Max's technical knowledge, insight, and kindness, has earned him code guru status, and his ideas will inspire you and help refresh your approach to the challenges of being a developer. Style and approach Understanding Software is a new selection of carefully chosen and crafted essays from Max Kanat-Alexander's legendary blog call Code Simplicity. Max's writing and thoughts are great to sit and read cover to cover, or if you prefer you can drop in and see what you discover new every single time!
Author: Erik Klimczak
Publisher: John Wiley & Sons
Release Date: 2013-03-07
A unique resource to help software developers create a desirable user experience Today, top-flight software must feature a desirable user experience. This one-of-a-kind book creates a design process specifically for software, making it easy for developers who lack design background to create that compelling user experience. Appealing to both tech-savvy designers and creative-minded technologists, it establishes a hybrid discipline that will produce first-rate software. Illustrated in full color, it shows how to plan and visualize the design to create software that works on every level. Today's software demands attention to the quality of the user experience; this book guides you through a practical design process to achieve that goal Approaches the mechanics of design with a process inspired by art and science Avoids the abstract and moves step by step through techniques you can put to use immediately Covers planning your design, tested methods, how to visualize like a designer, psychology of design, and how to create software that developers will appreciate Explores such elements as choosing the right typeface and managing interactivity Design for Software: A Playbook for Developers brings the art of good design together with the science of software development to create programs with pizazz.
Author: Karl Aspelund
Publisher: A&C Black
Release Date: 2014-09-11
This is a core text examining the multi-faceted world of professional design. Readers gain an understanding of the nature of design through its history from the mid nineteenth century to today's multicultural global marketplace, and learn to recognize the elements and principles of design in colorfully illustrated chapters. The design process is explored in practical terms of conceptualizing, researching, assembling, and presenting and then examined in the context of 2D, 3D and virtual environments, emphasizing user experience and the constraints and needs of client-defined creativity. Chapters open with key terms and objectives, close with multiple offerings for review and practice, while sidebars and end-boxes place focus on topics such as ergonomics, sustainability, and individual designers from a variety of disciplines. Covering all topics common to design foundation and recognizing that all designers benefit from shared vocabulary, this book provides students with the tools to create designs that are both visually compelling and conceptually inventive.
Don't engineer by coincidence-design it like you mean it! Filled with practical techniques, Design It! is the perfect introduction to software architecture for programmers who are ready to grow their design skills. Lead your team as a software architect, ask the right stakeholders the right questions, explore design options, and help your team implement a system that promotes the right -ilities. Share your design decisions, facilitate collaborative design workshops that are fast, effective, and fun-and develop more awesome software! With dozens of design methods, examples, and practical know-how, Design It! shows you how to become a software architect. Walk through the core concepts every architect must know, discover how to apply them, and learn a variety of skills that will make you a better programmer, leader, and designer. Uncover the big ideas behind software architecture and gain confidence working on projects big and small. Plan, design, implement, and evaluate software architectures and collaborate with your team, stakeholders, and other architects. Identify the right stakeholders and understand their needs, dig for architecturally significant requirements, write amazing quality attribute scenarios, and make confident decisions. Choose technologies based on their architectural impact, facilitate architecture-centric design workshops, and evaluate architectures using lightweight, effective methods. Write lean architecture descriptions people love to read. Run an architecture design studio, implement the architecture you've designed, and grow your team's architectural knowledge. Good design requires good communication. Talk about your software architecture with stakeholders using whiteboards, documents, and code, and apply architecture-focused design methods in your day-to-day practice. Hands-on exercises, real-world scenarios, and practical team-based decision-making tools will get everyone on board and give you the experience you need to become a confident software architect.
Author: Harold Abelson
Publisher: Mit Press
Release Date: 1996
Structure and Interpretation of Computer Programs has had a dramatic impact on computer science curricula over the past decade. This long-awaited revision contains changes throughout the text. There are new implementations of most of the major programming systems in the book, including the interpreters and compilers, and the authors have incorporated many small changes that reflect their experience teaching the course at MIT since the first edition was published. A new theme has been introduced that emphasizes the central role played by different approaches to dealing with time in computational models: objects with state, concurrent programming, functional programming and lazy evaluation, and nondeterministic programming. There are new example sections on higher-order procedures in graphics and on applications of stream processing in numerical programming, and many new exercises. In addition, all the programs have been reworked to run in any Scheme implementation that adheres to the IEEE standard.
Author: Fred Turner
Publisher: University of Chicago Press
Release Date: 2013-12-04
We commonly think of the psychedelic sixties as an explosion of creative energy and freedom that arose in direct revolt against the social restraint and authoritarian hierarchy of the early Cold War years. Yet, as Fred Turner reveals in The Democratic Surround, the decades that brought us the Korean War and communist witch hunts also witnessed an extraordinary turn toward explicitly democratic, open, and inclusive ideas of communication and with them new, flexible models of social order. Surprisingly, he shows that it was this turn that brought us the revolutionary multimedia and wild-eyed individualism of the 1960s counterculture. In this prequel to his celebrated book From Counterculture to Cyberculture, Turner rewrites the history of postwar America, showing how in the 1940s and ’50s American liberalism offered a far more radical social vision than we now remember. Turner tracks the influential mid-century entwining of Bauhaus aesthetics with American social science and psychology. From the Museum of Modern Art in New York to the New Bauhaus in Chicago and Black Mountain College in North Carolina, Turner shows how some of the most well-known artists and intellectuals of the forties developed new models of media, new theories of interpersonal and international collaboration, and new visions of an open, tolerant, and democratic self in direct contrast to the repression and conformity associated with the fascist and communist movements. He then shows how their work shaped some of the most significant media events of the Cold War, including Edward Steichen’s Family of Man exhibition, the multimedia performances of John Cage, and, ultimately, the psychedelic Be-Ins of the sixties. Turner demonstrates that by the end of the 1950s this vision of the democratic self and the media built to promote it would actually become part of the mainstream, even shaping American propaganda efforts in Europe. Overturning common misconceptions of these transformational years, The Democratic Surround shows just how much the artistic and social radicalism of the sixties owed to the liberal ideals of Cold War America, a democratic vision that still underlies our hopes for digital media today.
Author: Stewart Alan Sutton
Publisher: Createspace Independent Publishing Platform
Release Date: 2018-01-11
This book has been developed as an instructional guide for classes taught in the subject area of data visualization and communications. It can be used as a reference text for both undergraduate and graduate-level studies and the emphasis is toward establishing a working foundation and competency in data visualization and applying that skill as part of business communications. This text was constructed to make it easier for each of my students to navigate these topics across specific individual textbooks as they establish their core operating foundation in these intersecting topics.