Think Like a Programmer

Download Think Like a Programmer PDF Online Free

Author :
Publisher : No Starch Press
ISBN 13 : 1593274564
Total Pages : 260 pages
Book Rating : 4.5/5 (932 download)

DOWNLOAD NOW!


Book Synopsis Think Like a Programmer by : V. Anton Spraul

Download or read book Think Like a Programmer written by V. Anton Spraul and published by No Starch Press. This book was released on 2012-08-12 with total page 260 pages. Available in PDF, EPUB and Kindle. Book excerpt: The real challenge of programming isn't learning a language's syntax—it's learning to creatively solve problems so you can build something great. In this one-of-a-kind text, author V. Anton Spraul breaks down the ways that programmers solve problems and teaches you what other introductory books often ignore: how to Think Like a Programmer. Each chapter tackles a single programming concept, like classes, pointers, and recursion, and open-ended exercises throughout challenge you to apply your knowledge. You'll also learn how to: –Split problems into discrete components to make them easier to solve –Make the most of code reuse with functions, classes, and libraries –Pick the perfect data structure for a particular job –Master more advanced programming tools like recursion and dynamic memory –Organize your thoughts and develop strategies to tackle particular types of problems Although the book's examples are written in C++, the creative problem-solving concepts they illustrate go beyond any particular language; in fact, they often reach outside the realm of computer science. As the most skillful programmers know, writing great code is a creative art—and the first step in creating your masterpiece is learning to Think Like a Programmer.

Understanding Coding Like a Programmer

Download Understanding Coding Like a Programmer PDF Online Free

Author :
Publisher : The Rosen Publishing Group, Inc
ISBN 13 : 1499428251
Total Pages : 26 pages
Book Rating : 4.4/5 (994 download)

DOWNLOAD NOW!


Book Synopsis Understanding Coding Like a Programmer by : Patricia Harris, Ph.D.

Download or read book Understanding Coding Like a Programmer written by Patricia Harris, Ph.D. and published by The Rosen Publishing Group, Inc. This book was released on 2016-12-15 with total page 26 pages. Available in PDF, EPUB and Kindle. Book excerpt: Do programmers think differently than non-programmers? How do programmers approach problems and create solutions? This book explores several attributes of thinking used by programmers. Important STEM concepts are incorporated into the text to give readers an understanding of how STEM fits into the everyday work of a programmer. Readers will enjoy a glimpse inside the minds of some of the most creative minds in the computer world. Photographs and sidebars add to engaging text to give readers a clear sense of what it takes to be a programmer. This book empowers young coders to think about problems differently, both in coding and in life.

Code

Download Code PDF Online Free

Author :
Publisher : Microsoft Press
ISBN 13 : 0137909292
Total Pages : 562 pages
Book Rating : 4.1/5 (379 download)

DOWNLOAD NOW!


Book Synopsis Code by : Charles Petzold

Download or read book Code written by Charles Petzold and published by Microsoft Press. This book was released on 2022-08-02 with total page 562 pages. Available in PDF, EPUB and Kindle. Book excerpt: The classic guide to how computers work, updated with new chapters and interactive graphics "For me, Code was a revelation. It was the first book about programming that spoke to me. It started with a story, and it built up, layer by layer, analogy by analogy, until I understood not just the Code, but the System. Code is a book that is as much about Systems Thinking and abstractions as it is about code and programming. Code teaches us how many unseen layers there are between the computer systems that we as users look at every day and the magical silicon rocks that we infused with lightning and taught to think." - Scott Hanselman, Partner Program Director, Microsoft, and host of Hanselminutes Computers are everywhere, most obviously in our laptops and smartphones, but also our cars, televisions, microwave ovens, alarm clocks, robot vacuum cleaners, and other smart appliances. Have you ever wondered what goes on inside these devices to make our lives easier but occasionally more infuriating? For more than 20 years, readers have delighted in Charles Petzold's illuminating story of the secret inner life of computers, and now he has revised it for this new age of computing. Cleverly illustrated and easy to understand, this is the book that cracks the mystery. You'll discover what flashlights, black cats, seesaws, and the ride of Paul Revere can teach you about computing, and how human ingenuity and our compulsion to communicate have shaped every electronic device we use. This new expanded edition explores more deeply the bit-by-bit and gate-by-gate construction of the heart of every smart device, the central processing unit that combines the simplest of basic operations to perform the most complex of feats. Petzold's companion website, CodeHiddenLanguage.com, uses animated graphics of key circuits in the book to make computers even easier to comprehend. In addition to substantially revised and updated content, new chapters include: Chapter 18: Let's Build a Clock! Chapter 21: The Arithmetic Logic Unit Chapter 22: Registers and Busses Chapter 23: CPU Control Signals Chapter 24: Jumps, Loops, and Calls Chapter 28: The World Brain From the simple ticking of clocks to the worldwide hum of the internet, Code reveals the essence of the digital revolution.

Code Simplicity

Download Code Simplicity PDF Online Free

Author :
Publisher : "O'Reilly Media, Inc."
ISBN 13 : 1449334695
Total Pages : 85 pages
Book Rating : 4.4/5 (493 download)

DOWNLOAD NOW!


Book Synopsis Code Simplicity by : Max Kanat-Alexander

Download or read book Code Simplicity written by Max Kanat-Alexander and published by "O'Reilly Media, Inc.". This book was released on 2012-03-23 with total page 85 pages. Available in PDF, EPUB and Kindle. Book excerpt: Good software design is simple and easy to understand. Unfortunately, the average computer program today is so complex that no one could possibly comprehend how all the code works. This concise guide helps you understand the fundamentals of good design through scientific laws—principles you can apply to any programming language or project from here to eternity. Whether you’re a junior programmer, senior software engineer, or non-technical manager, you’ll learn how to create a sound plan for your software project, and make better decisions about the pattern and structure of your system. Discover why good software design has become the missing science Understand the ultimate purpose of software and the goals of good design Determine the value of your design now and in the future Examine real-world examples that demonstrate how a system changes over time Create designs that allow for the most change in the environment with the least change in the software Make easier changes in the future by keeping your code simpler now Gain better knowledge of your software’s behavior with more accurate tests

Your First Year in Code

Download Your First Year in Code PDF Online Free

Author :
Publisher :
ISBN 13 : 9780578564999
Total Pages : 184 pages
Book Rating : 4.5/5 (649 download)

DOWNLOAD NOW!


Book Synopsis Your First Year in Code by : Isaac Lyman

Download or read book Your First Year in Code written by Isaac Lyman and published by . This book was released on 2019-09-17 with total page 184 pages. Available in PDF, EPUB and Kindle. Book excerpt: Starting a career in programming can be intimidating. Whether you're switching careers, joining a bootcamp, starting a C.S. degree, or learning on your own, Your First Year in Code can help, with practical advice on topics like code reviews, resume writing, fitting in, ethics, and finding your dream job.

Beginner's Step-by-Step Coding Course

Download Beginner's Step-by-Step Coding Course PDF Online Free

Author :
Publisher : Penguin
ISBN 13 : 074402031X
Total Pages : 360 pages
Book Rating : 4.7/5 (44 download)

DOWNLOAD NOW!


Book Synopsis Beginner's Step-by-Step Coding Course by : DK

Download or read book Beginner's Step-by-Step Coding Course written by DK and published by Penguin. This book was released on 2020-01-07 with total page 360 pages. Available in PDF, EPUB and Kindle. Book excerpt: With this visual guide to computer programming for beginners, it has never been easier to learn how to code. Coding skills are in high demand and the need for programmers is still growing. Covering three of the most popular languages for new coders, this book uses a graphic method to break complex subjects into user-friendly chunks, bringing essential skills within easy reach. Each chapter contains tutorials on practical projects designed to teach you the main applications of each language, such as building websites, creating games, and designing apps. The book also looks at many of the main coding languages that are out there, outlining the key applications of each language, so you can choose the right language for you. You'll learn to think like a programmer by breaking a problem down into parts, before turning those parts into lines of code. Short, easy-to-follow steps then show you, piece by piece, how to build a complete program. There are challenges for you to tackle to build your confidence before moving on. Written by a team of expert coders and coding teachers, Beginner's Step-by-Step Coding Course is the ideal way to get to set you on the road to code.

Python Programming

Download Python Programming PDF Online Free

Author :
Publisher : Franklin, Beedle & Associates, Inc.
ISBN 13 : 1887902996
Total Pages : 533 pages
Book Rating : 4.8/5 (879 download)

DOWNLOAD NOW!


Book Synopsis Python Programming by : John M. Zelle

Download or read book Python Programming written by John M. Zelle and published by Franklin, Beedle & Associates, Inc.. This book was released on 2004 with total page 533 pages. Available in PDF, EPUB and Kindle. Book excerpt: This book is suitable for use in a university-level first course in computing (CS1), as well as the increasingly popular course known as CS0. It is difficult for many students to master basic concepts in computer science and programming. A large portion of the confusion can be blamed on the complexity of the tools and materials that are traditionally used to teach CS1 and CS2. This textbook was written with a single overarching goal: to present the core concepts of computer science as simply as possible without being simplistic.

The Healthy Programmer

Download The Healthy Programmer PDF Online Free

Author :
Publisher : Pragmatic Bookshelf
ISBN 13 : 1680505068
Total Pages : 320 pages
Book Rating : 4.6/5 (85 download)

DOWNLOAD NOW!


Book Synopsis The Healthy Programmer by : Joe Kutner

Download or read book The Healthy Programmer written by Joe Kutner and published by Pragmatic Bookshelf. This book was released on 2013-06-26 with total page 320 pages. Available in PDF, EPUB and Kindle. Book excerpt: Printed in full color. To keep doing what you love, you need to maintain your own systems, not just the ones you write code for. Regular exercise and proper nutrition help you learn, remember, concentrate, and be creative--skills critical to doing your job well. Learn how to change your work habits, master exercises that make working at a computer more comfortable, and develop a plan to keep fit, healthy, and sharp for years to come. Small changes to your habits can improve your health--without getting in the way of your work. The Healthy Programmer gives you a daily plan of action that's incremental and iterative just like the software development processes you're used to. Every tip, trick, and best practice is backed up by the advice of doctors, scientists, therapists, nutritionists, and numerous fitness experts. We'll review the latest scientific research to understand how being healthy is good for your body and mind. You'll start by adding a small amount of simple activity to your day--no trips to the gym needed. You'll learn how to mitigate back pain, carpal tunnel syndrome, headaches, and many other common sources of pain. You'll also learn how to refactor your diet to properly fuel your body without gaining weight or feeling hungry. Then, you'll turn the exercises and activities into a pragmatic workout methodology that doesn't interfere with the demands of your job and may actually improve your cognitive skills. You'll also learn the secrets of prominent figures in the software community who turned their health around by making diet and exercise changes. Throughout, you'll track your progress with a "companion iPhone app". Finally, you'll learn how to make your healthy lifestyle pragmatic, attainable, and fun. If you're going to live well, you should enjoy it. Disclaimer This book is intended only as an informative guide for those wishing to know more about health issues. In no way is this book intended to replace, countermand, or conflict with the advice given to you by your own healthcare provider including Physician, Nurse Practitioner, Physician Assistant, Registered Dietician, and other licensed professionals. Keep in mind that results vary from person to person. This book is not intended as a substitute for medical or nutritional advice from a healthcare provider or dietician. Some people have a medical history and/or condition and/or nutritional requirements that warrant individualized recommendations and, in some cases, medications and healthcare surveillance. Do not start, stop, or change medication and dietary recommendations without professional medical and/or Registered Dietician advice. A healthcare provider should be consulted if you are on medication or if there are any symptoms that may require diagnosis or medical attention. Do not change your diet if you are ill, or on medication except under the supervision of a healthcare provider. Neither this, nor any other book or discussion forum is intended to take the place of personalized medical care of treatment provided by your healthcare provider. This book was current as of January, 2013 and as new information becomes available through research, experience, or changes to product contents, some of the data in this book may become invalid. You should seek the most up to date information on your medical care and treatment from your health care professional. The ultimate decision concerning care should be made between you and your healthcare provider. Information in this book is general and is offered with no guarantees on the part of the author, editor or The Pragmatic Programmers, LLC. The author, editors and publisher disclaim all liability in connection with the use of this book.

Coding For Dummies

Download Coding For Dummies PDF Online Free

Author :
Publisher : John Wiley & Sons
ISBN 13 : 1119296072
Total Pages : 288 pages
Book Rating : 4.1/5 (192 download)

DOWNLOAD NOW!


Book Synopsis Coding For Dummies by : Nikhil Abraham

Download or read book Coding For Dummies written by Nikhil Abraham and published by John Wiley & Sons. This book was released on 2016-05-27 with total page 288 pages. Available in PDF, EPUB and Kindle. Book excerpt: Coding For Dummies, (9781119293323) was previously published as Coding For Dummies, (9781118951309). While this version features a new Dummies cover and design, the content is the same as the prior release and should not be considered a new or updated product. Hands-on exercises help you learn to code like a pro No coding experience is required for Coding For Dummies, your one-stop guide to building a foundation of knowledge in writing computer code for web, application, and software development. It doesn't matter if you've dabbled in coding or never written a line of code, this book guides you through the basics. Using foundational web development languages like HTML, CSS, and JavaScript, it explains in plain English how coding works and why it's needed. Online exercises developed by Codecademy, a leading online code training site, help hone coding skills and demonstrate results as you practice. The site provides an environment where you can try out tutorials built into the text and see the actual output from your coding. You'll also gain access to end-of-chapter challenges to apply newly acquired skills to a less-defined assignment. So what are you waiting for? The current demand for workers with coding and computer science skills far exceeds the supply Teaches the foundations of web development languages in an easy-to-understand format Offers unprecedented opportunities to practice basic coding languages Readers can access online hands-on exercises and end-of-chapter assessments that develop and test their new-found skills If you're a student looking for an introduction to the basic concepts of coding or a professional looking to add new skills, Coding For Dummies has you covered.

Becoming a Better Programmer

Download Becoming a Better Programmer PDF Online Free

Author :
Publisher : "O'Reilly Media, Inc."
ISBN 13 : 1491905581
Total Pages : 362 pages
Book Rating : 4.4/5 (919 download)

DOWNLOAD NOW!


Book Synopsis Becoming a Better Programmer by : Pete Goodliffe

Download or read book Becoming a Better Programmer written by Pete Goodliffe and published by "O'Reilly Media, Inc.". This book was released on 2014-10-03 with total page 362 pages. Available in PDF, EPUB and Kindle. Book excerpt: If you're passionate about programming and want to get better at it, you've come to the right source. Code Craft author Pete Goodliffe presents a collection of useful techniques and approaches to the art and craft of programming that will help boost your career and your well-being. The book's standalone chapters span the range of a software developer's life--dealing with code, learning the trade, and improving performance--with no language or industry bias.

Death March

Download Death March PDF Online Free

Author :
Publisher : Prentice Hall Professional
ISBN 13 : 9780131436350
Total Pages : 252 pages
Book Rating : 4.4/5 (363 download)

DOWNLOAD NOW!


Book Synopsis Death March by : Edward Yourdon

Download or read book Death March written by Edward Yourdon and published by Prentice Hall Professional. This book was released on 2004 with total page 252 pages. Available in PDF, EPUB and Kindle. Book excerpt: & • Learn to master the five key issues facing software projects: politics, people, process, project-management, and tools & & • New chapters on estimation, negotiation, and time-management; new coverage of agile concepts; updated references; and more timely examples & & • Helps software professionals seize control of projects before they run out of control

Understanding Software

Download Understanding Software PDF Online Free

Author :
Publisher : Packt Publishing Ltd
ISBN 13 : 1788628349
Total Pages : 278 pages
Book Rating : 4.7/5 (886 download)

DOWNLOAD NOW!


Book Synopsis Understanding Software by : Max Kanat-Alexander

Download or read book Understanding Software written by Max Kanat-Alexander and published by Packt Publishing Ltd. This book was released on 2017-09-29 with total page 278 pages. Available in PDF, EPUB and Kindle. Book excerpt: 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!

Learn to Code by Solving Problems

Download Learn to Code by Solving Problems PDF Online Free

Author :
Publisher : No Starch Press
ISBN 13 : 1718501331
Total Pages : 392 pages
Book Rating : 4.7/5 (185 download)

DOWNLOAD NOW!


Book Synopsis Learn to Code by Solving Problems by : Daniel Zingaro

Download or read book Learn to Code by Solving Problems written by Daniel Zingaro and published by No Starch Press. This book was released on 2021-06-29 with total page 392 pages. Available in PDF, EPUB and Kindle. Book excerpt: Learn to Code by Solving Problems is a practical introduction to programming using Python. It uses coding-competition challenges to teach you the mechanics of coding and how to think like a savvy programmer. Computers are capable of solving almost any problem when given the right instructions. That’s where programming comes in. This beginner’s book will have you writing Python programs right away. You’ll solve interesting problems drawn from real coding competitions and build your programming skills as you go. Every chapter presents problems from coding challenge websites, where online judges test your solutions and provide targeted feedback. As you practice using core Python features, functions, and techniques, you’ll develop a clear understanding of data structures, algorithms, and other programming basics. Bonus exercises invite you to explore new concepts on your own, and multiple-choice questions encourage you to think about how each piece of code works. You’ll learn how to: Run Python code, work with strings, and use variables Write programs that make decisions Make code more efficient with while and for loops Use Python sets, lists, and dictionaries to organize, sort, and search data Design programs using functions and top-down design Create complete-search algorithms and use Big O notation to design more efficient code By the end of the book, you’ll not only be proficient in Python, but you’ll also understand how to think through problems and tackle them with code. Programming languages come and go, but this book gives you the lasting foundation you need to start thinking like a programmer.

How to Design Programs, second edition

Download How to Design Programs, second edition PDF Online Free

Author :
Publisher : MIT Press
ISBN 13 : 0262344122
Total Pages : 793 pages
Book Rating : 4.2/5 (623 download)

DOWNLOAD NOW!


Book Synopsis How to Design Programs, second edition by : Matthias Felleisen

Download or read book How to Design Programs, second edition written by Matthias Felleisen and published by MIT Press. This book was released on 2018-05-25 with total page 793 pages. Available in PDF, EPUB and Kindle. Book excerpt: A completely revised edition, offering new design recipes for interactive programs and support for images as plain values, testing, event-driven programming, and even distributed programming. This introduction to programming places computer science at the core of a liberal arts education. Unlike other introductory books, it focuses on the program design process, presenting 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, how to finish the program, and how to test it. Because learning to design programs is about the study of principles and the acquisition of transferable skills, the text does not use an off-the-shelf industrial language but presents a tailor-made teaching language. For the same reason, it offers DrRacket, a programming environment for novices that supports playful, feedback-oriented learning. The environment grows with readers as they master the material in the book until it supports a full-fledged language for the whole spectrum of programming tasks. This second edition has been completely revised. While the book continues to teach a systematic approach to program design, the second edition introduces different design recipes for interactive programs with graphical interfaces and batch programs. It also enriches its design recipes for functions with numerous new hints. Finally, the teaching languages and their IDE now come with support for images as plain values, testing, event-driven programming, and even distributed programming.

Ultralearning

Download Ultralearning PDF Online Free

Author :
Publisher : HarperCollins
ISBN 13 : 0062852744
Total Pages : 304 pages
Book Rating : 4.0/5 (628 download)

DOWNLOAD NOW!


Book Synopsis Ultralearning by : Scott Young

Download or read book Ultralearning written by Scott Young and published by HarperCollins. This book was released on 2019-08-06 with total page 304 pages. Available in PDF, EPUB and Kindle. Book excerpt: Now a Wall Street Journal bestseller. Learn a new talent, stay relevant, reinvent yourself, and adapt to whatever the workplace throws your way. Ultralearning offers nine principles to master hard skills quickly. This is the essential guide to future-proof your career and maximize your competitive advantage through self-education. In these tumultuous times of economic and technological change, staying ahead depends on continual self-education—a lifelong mastery of fresh ideas, subjects, and skills. If you want to accomplish more and stand apart from everyone else, you need to become an ultralearner. The challenge of learning new skills is that you think you already know how best to learn, as you did as a student, so you rerun old routines and old ways of solving problems. To counter that, Ultralearning offers powerful strategies to break you out of those mental ruts and introduces new training methods to help you push through to higher levels of retention. Scott H. Young incorporates the latest research about the most effective learning methods and the stories of other ultralearners like himself—among them Benjamin Franklin, chess grandmaster Judit Polgár, and Nobel laureate physicist Richard Feynman, as well as a host of others, such as little-known modern polymath Nigel Richards, who won the French World Scrabble Championship—without knowing French. Young documents the methods he and others have used to acquire knowledge and shows that, far from being an obscure skill limited to aggressive autodidacts, ultralearning is a powerful tool anyone can use to improve their career, studies, and life. Ultralearning explores this fascinating subculture, shares a proven framework for a successful ultralearning project, and offers insights into how you can organize and exe - cute a plan to learn anything deeply and quickly, without teachers or budget-busting tuition costs. Whether the goal is to be fluent in a language (or ten languages), earn the equivalent of a college degree in a fraction of the time, or master multiple tools to build a product or business from the ground up, the principles in Ultralearning will guide you to success.

The Self-Taught Programmer

Download The Self-Taught Programmer PDF Online Free

Author :
Publisher : Robinson
ISBN 13 : 9781472147103
Total Pages : 368 pages
Book Rating : 4.1/5 (471 download)

DOWNLOAD NOW!


Book Synopsis The Self-Taught Programmer by : Cory Althoff

Download or read book The Self-Taught Programmer written by Cory Althoff and published by Robinson. This book was released on 2022-01-13 with total page 368 pages. Available in PDF, EPUB and Kindle. Book excerpt:

Concepts, Techniques, and Models of Computer Programming

Download Concepts, Techniques, and Models of Computer Programming PDF Online Free

Author :
Publisher : MIT Press
ISBN 13 : 9780262220699
Total Pages : 944 pages
Book Rating : 4.2/5 (26 download)

DOWNLOAD NOW!


Book Synopsis Concepts, Techniques, and Models of Computer Programming by : Peter Van Roy

Download or read book Concepts, Techniques, and Models of Computer Programming written by Peter Van Roy and published by MIT Press. This book was released on 2004-02-20 with total page 944 pages. Available in PDF, EPUB and Kindle. Book excerpt: Teaching the science and the technology of programming as a unified discipline that shows the deep relationships between programming paradigms. This innovative text presents computer programming as a unified discipline in a way that is both practical and scientifically sound. The book focuses on techniques of lasting value and explains them precisely in terms of a simple abstract machine. The book presents all major programming paradigms in a uniform framework that shows their deep relationships and how and where to use them together. After an introduction to programming concepts, the book presents both well-known and lesser-known computation models ("programming paradigms"). Each model has its own set of techniques and each is included on the basis of its usefulness in practice. The general models include declarative programming, declarative concurrency, message-passing concurrency, explicit state, object-oriented programming, shared-state concurrency, and relational programming. Specialized models include graphical user interface programming, distributed programming, and constraint programming. Each model is based on its kernel language—a simple core language that consists of a small number of programmer-significant elements. The kernel languages are introduced progressively, adding concepts one by one, thus showing the deep relationships between different models. The kernel languages are defined precisely in terms of a simple abstract machine. Because a wide variety of languages and programming paradigms can be modeled by a small set of closely related kernel languages, this approach allows programmer and student to grasp the underlying unity of programming. The book has many program fragments and exercises, all of which can be run on the Mozart Programming System, an Open Source software package that features an interactive incremental development environment.