This introduction to programming places computer science in the core of a liberal arts education. Unlike other introductory books, it focuses on the program design process. This approach fosters a variety of skills -- critical reading, analytical thinking, creative synthesis, and attention to detail -- that are important for everyone, not just future computer programmers.The book exposes readers to two fundamentally new ideas. First, it presents program design guidelines that show the reader how to analyze a problem statement; how to formulate concise goals; how to make up examples; how to develop an outline of the solution, based on the analysis; how to finish the program; and how to test. Each step produces a well-defined intermediate product. Second, the book comes with a novel programming environment, the first one explicitly designed for beginners. The environment grows with the readers as they master the material in the book until it supports a full-fledged language for the whole spectrum of programming tasks.All the book's support materials are available for free on the Web. The Web site includes the environment, teacher guides, exercises for all levels, solutions, and additional projects.
Author: Stephen Bloch
Publisher: College Publications
Release Date: 2010
A first programming course should not be directed towards learning a particular programming language, but rather at learning to program well; the programming language should get out of the way and serve this goal. The simple, powerful Racket language (related to Scheme) allows us to concentrate on the fundamental concepts and techniques of computer programming, without being distracted by complex syntax. As a result, this book can be used at the high school (and perhaps middle school) level, while providing enough advanced concepts not usually found in a first course to challenge a college student. Those who have already done some programming (e.g. in Java, Python, or C++) will enhance their understanding of the fundamentals, un-learn some bad habits, and change the way they think about programming. We take a graphics-early approach: you'll start manipulating and combining graphic images from Chapter 1 and writing event-driven GUI programs from Chapter 6, even before seeing arithmetic. We continue using graphics, GUI and game programming throughout to motivate fundamental concepts. At the same time, we emphasize data types, testing, and a concrete, step-by-step process of problem-solving. After working through this book, you'll be prepared to learn other programming languages and program well in them. Or, if this is the last programming course you ever take, you'll understand many of the issues that affect the programs you use every day. I have been using Picturing Programs with my daughter, and there's no doubt that it's gentler than Htdp. It does exactly what Stephen claims, which is to move gradually from copy-and-change exercises to think-on-your-own exercises within each section. I also think it's nice that the "worked exercises" are clearly labeled as such. There's something psychologically appealing about the fact that you first see an example in the text of the book, and then a similar example is presented as if it were an exercise but they just happen to be giving away the answer. It is practically shouting out "Here's a model of how you go about solving this class of problems, pay close attention ."" Mark Engelberg "1. Matthias & team have done exceptional, highly impressive work with HtDP. The concepts are close to genius. (perhaps yes, genius quality work) They are a MUST for any high school offering serious introductory CS curriculum. 2. Without Dr. Blochs book "Picturing Programs," I would not have successfully implemented these concepts (Dr. Scheme, Racket, Design Recipe etc) into an ordinary High School Classroom. Any high school instructor who struggles to find ways to bring these great HtDP ideas to the typical high schooler, should immediately investigate the Bloch book. Think of it as coating the castor oil with chocolate." Brett Penza
A quick overview of Object-oriented program design, with special regard for operating-system development, this book will be of the greatest interest to those developers who are working with Taligent and its operating partners, as well as many other C++ programmers who are interested in a provocative summary of good OOP techniques.
Author: Janis Fisher Chan
Publisher: John Wiley & Sons
Release Date: 2009-12-30
Genre: Business & Economics
Designing and Developing Training Programs is filled withpractical information, best practices, and proven strategies. Thisbook will help both new and experienced trainers design and developtraining programs that achieve results for both individuals andtheir organizations while meeting the challenges of today'sfast-paced, rapidly changing learning environment. Created to beeasy-to-use, Designing and Developing Training Programs covers awide range of topics, including how to: Ensure that training is needed, relevant, andcost-effective Analyze the needs and characteristics of the audience Write behavioral learning Select the right content and design activities that help peoplelearn Develop effective learning materials Create a program evaluation Design virtual and remote training programs Praise for Designing and Developing Training Programs "Janis Fisher Chan is truly a master designer, having an uncannyability to help people to truly think. Her book is of real serviceto anyone in the field of training." —Manfred Kets de Vries, Raoul de Vitry d'Avaucourt ChairedClinical Professor of Leadership Development and director, INSEADGlobal Leadership Centre "What makes Janis Chan's book so exceptional is the variety ofchallenging, content-related exercises that bring the concepts 'upclose and personal' into the reader's life and work." —Sharon Bowman, Author, Training from the BACK of theRoom!
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.
In a changing world everyone designs: each individual person and each collective subject, from enterprises to institutions, from communities to cities and regions, must define and enhance a life project. Sometimes these projects generate unprecedented solutions; sometimes they converge on common goals and realize larger transformations. As Ezio Manzini describes in this book, we are witnessing a wave of social innovations as these changes unfold -- an expansive open co-design process in which new solutions are suggested and new meanings are created. Manzini distinguishes between diffuse design (performed by everybody) and expert design (performed by those who have been trained as designers) and describes how they interact. He maps what design experts can do to trigger and support meaningful social changes, focusing on emerging forms of collaboration. These range from community-supported agriculture in China to digital platforms for medical care in Canada; from interactive storytelling in India to collaborative housing in Milan. These cases illustrate how expert designers can support these collaborations -- making their existence more probable, their practice easier, their diffusion and their convergence in larger projects more effective. Manzini draws the first comprehensive picture of design for social innovation: the most dynamic field of action for both expert and nonexpert designers in the coming decades.
Most programmers' fear of user interface (UI) programming comes from their fear of doing UI design. They think that UI design is like graphic design—the mysterious process by which creative, latte-drinking, all-black-wearing people produce cool-looking, artistic pieces. Most programmers see themselves as analytic, logical thinkers instead—strong at reasoning, weak on artistic judgment, and incapable of doing UI design. In this brilliantly readable book, author Joel Spolsky proposes simple, logical rules that can be applied without any artistic talent to improve any user interface, from traditional GUI applications to websites to consumer electronics. Spolsky's primary axiom, the importance of bringing the program model in line with the user model, is both rational and simple. In a fun and entertaining way, Spolky makes user interface design easy for programmers to grasp. After reading User Interface Design for Programmers, you'll know how to design interfaces with the user in mind. You'll learn the important principles that underlie all good UI design, and you'll learn how to perform usability testing that works.
Author: Sheila W. Furjanic
Publisher: AMACOM Div American Mgmt Assn
Release Date: 2000-03-01
Genre: Business & Economics
Just as you can lead a horse to water, but it won't necessarily drink, so you can give an employee training, but he may not actually learn...unless, of course, the trainer uses this insightful new book. Turning Training into Learning provides a specific, tested method for making sure training equals real learning. Written for anyone who must train others, this step-by-step guide shows exactly how to create a program that engages trainees and ensures that they remember and use what they've learned when they get back to work. Readers learn how to: * Analyze exactly what a particular trainee needs * Establish a safe environment where questions are welcomed * Demonstrate to learners why the training is relevant to them * Understand the process by which adults learn * Place real learning within the context of the traditional training cycle: assessment, design, delivery, and evaluation.
#1 New York Times Bestseller At last, a book that shows you how to build—design—a life you can thrive in, at any age or stage Designers create worlds and solve problems using design thinking. Look around your office or home—at the tablet or smartphone you may be holding or the chair you are sitting in. Everything in our lives was designed by someone. And every design starts with a problem that a designer or team of designers seeks to solve. In this book, Bill Burnett and Dave Evans show us how design thinking can help us create a life that is both meaningful and fulfilling, regardless of who or where we are, what we do or have done for a living, or how young or old we are. The same design thinking responsible for amazing technology, products, and spaces can be used to design and build your career and your life, a life of fulfillment and joy, constantly creative and productive, one that always holds the possibility of surprise. "Designing Your Life walks readers through the process of building a satisfying, meaningful life by approaching the challenge the way a designer would. Experimentation. Wayfinding. Prototyping. Constant iteration. You should read the book. Everyone else will." —Daniel Pink, bestselling author of Drive “This [is] the career book of the next decade and . . . the go-to book that is read as a rite of passage whenever someone is ready to create a life they love.” —David Kelley, Founder of IDEO “An empowering book based on their popular class of the same name at Stanford University . . . Perhaps the book’s most important lesson is that the only failure is settling for a life that makes one unhappy. With useful fact-finding exercises, an empathetic tone, and sensible advice, this book will easily earn a place among career-finding classics.” —Publishers Weekly From the Hardcover edition.
At last, a practitioner's guide to parallel programming! Students and professionals who use parallel or distributed computer systems will be able to solve real problems with Designing and Building Parallel Programs. This book provides a comprehensive introduction to parallel algorithm design, performance analysis, and program construction. It describes the tools needed to write parallel programs and provides numerous examples. A unique feature is the companion on-line version, accessible via the World Wide Web using browsers such as Mosaic. This provides a convenient hypertext version of the text with pointers to programming tools, example programs, and other resources on parallel and distributed computing.
Author: Steven J. Fleck
Publisher: Human Kinetics
Release Date: 2004
Genre: Health & Fitness
This text enables readers to: design scientifically sound resistance training programmes; modify and adapt programmes to meet the needs of special populations; and understand how exercise prescription design works in the real world.
Author: Paul J. Gertler
Publisher: World Bank Publications
Release Date: 2016-09-12
Genre: Business & Economics
The second edition of the Impact Evaluation in Practice handbook is a comprehensive and accessible introduction to impact evaluation for policy makers and development practitioners. First published in 2011, it has been used widely across the development and academic communities. The book incorporates real-world examples to present practical guidelines for designing and implementing impact evaluations. Readers will gain an understanding of impact evaluations and the best ways to use them to design evidence-based policies and programs. The updated version covers the newest techniques for evaluating programs and includes state-of-the-art implementation advice, as well as an expanded set of examples and case studies that draw on recent development challenges. It also includes new material on research ethics and partnerships to conduct impact evaluation. The handbook is divided into four sections: Part One discusses what to evaluate and why; Part Two presents the main impact evaluation methods; Part Three addresses how to manage impact evaluations; Part Four reviews impact evaluation sampling and data collection. Case studies illustrate different applications of impact evaluations. The book links to complementary instructional material available online, including an applied case as well as questions and answers. The updated second edition will be a valuable resource for the international development community, universities, and policy makers looking to build better evidence around what works in development.