Author: V. Anton Spraul
Publisher: No Starch Press
ISBN: 1593274564
Category : Computers
Languages : en
Pages : 260
Book Description
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.
Think Like a Programmer
Author: V. Anton Spraul
Publisher: No Starch Press
ISBN: 1593274564
Category : Computers
Languages : en
Pages : 260
Book Description
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.
Publisher: No Starch Press
ISBN: 1593274564
Category : Computers
Languages : en
Pages : 260
Book Description
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.
Problem Solving 101
Author: Ken Watanabe
Publisher: Penguin
ISBN: 1101029188
Category : Business & Economics
Languages : en
Pages : 130
Book Description
The fun and simple problem-solving guide that took Japan by storm Ken Watanabe originally wrote Problem Solving 101 for Japanese schoolchildren. His goal was to help shift the focus in Japanese education from memorization to critical thinking, by adapting some of the techniques he had learned as an elite McKinsey consultant. He was amazed to discover that adults were hungry for his fun and easy guide to problem solving and decision making. The book became a surprise Japanese bestseller, with more than 370,000 in print after six months. Now American businesspeople can also use it to master some powerful skills. Watanabe uses sample scenarios to illustrate his techniques, which include logic trees and matrixes. A rock band figures out how to drive up concert attendance. An aspiring animator budgets for a new computer purchase. Students decide which high school they will attend. Illustrated with diagrams and quirky drawings, the book is simple enough for a middleschooler to understand but sophisticated enough for business leaders to apply to their most challenging problems.
Publisher: Penguin
ISBN: 1101029188
Category : Business & Economics
Languages : en
Pages : 130
Book Description
The fun and simple problem-solving guide that took Japan by storm Ken Watanabe originally wrote Problem Solving 101 for Japanese schoolchildren. His goal was to help shift the focus in Japanese education from memorization to critical thinking, by adapting some of the techniques he had learned as an elite McKinsey consultant. He was amazed to discover that adults were hungry for his fun and easy guide to problem solving and decision making. The book became a surprise Japanese bestseller, with more than 370,000 in print after six months. Now American businesspeople can also use it to master some powerful skills. Watanabe uses sample scenarios to illustrate his techniques, which include logic trees and matrixes. A rock band figures out how to drive up concert attendance. An aspiring animator budgets for a new computer purchase. Students decide which high school they will attend. Illustrated with diagrams and quirky drawings, the book is simple enough for a middleschooler to understand but sophisticated enough for business leaders to apply to their most challenging problems.
Learn to Code by Solving Problems
Author: Daniel Zingaro
Publisher: No Starch Press
ISBN: 1718501331
Category : Computers
Languages : en
Pages : 392
Book Description
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.
Publisher: No Starch Press
ISBN: 1718501331
Category : Computers
Languages : en
Pages : 392
Book Description
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.
Modern Software Engineering
Author: David Farley
Publisher: Addison-Wesley Professional
ISBN: 0137314868
Category : Computers
Languages : en
Pages : 479
Book Description
Improve Your Creativity, Effectiveness, and Ultimately, Your Code In Modern Software Engineering, continuous delivery pioneer David Farley helps software professionals think about their work more effectively, manage it more successfully, and genuinely improve the quality of their applications, their lives, and the lives of their colleagues. Writing for programmers, managers, and technical leads at all levels of experience, Farley illuminates durable principles at the heart of effective software development. He distills the discipline into two core exercises: learning and exploration and managing complexity. For each, he defines principles that can help you improve everything from your mindset to the quality of your code, and describes approaches proven to promote success. Farley's ideas and techniques cohere into a unified, scientific, and foundational approach to solving practical software development problems within realistic economic constraints. This general, durable, and pervasive approach to software engineering can help you solve problems you haven't encountered yet, using today's technologies and tomorrow's. It offers you deeper insight into what you do every day, helping you create better software, faster, with more pleasure and personal fulfillment. Clarify what you're trying to accomplish Choose your tools based on sensible criteria Organize work and systems to facilitate continuing incremental progress Evaluate your progress toward thriving systems, not just more "legacy code" Gain more value from experimentation and empiricism Stay in control as systems grow more complex Achieve rigor without too much rigidity Learn from history and experience Distinguish "good" new software development ideas from "bad" ones Register your book for convenient access to downloads, updates, and/or corrections as they become available. See inside book for details.
Publisher: Addison-Wesley Professional
ISBN: 0137314868
Category : Computers
Languages : en
Pages : 479
Book Description
Improve Your Creativity, Effectiveness, and Ultimately, Your Code In Modern Software Engineering, continuous delivery pioneer David Farley helps software professionals think about their work more effectively, manage it more successfully, and genuinely improve the quality of their applications, their lives, and the lives of their colleagues. Writing for programmers, managers, and technical leads at all levels of experience, Farley illuminates durable principles at the heart of effective software development. He distills the discipline into two core exercises: learning and exploration and managing complexity. For each, he defines principles that can help you improve everything from your mindset to the quality of your code, and describes approaches proven to promote success. Farley's ideas and techniques cohere into a unified, scientific, and foundational approach to solving practical software development problems within realistic economic constraints. This general, durable, and pervasive approach to software engineering can help you solve problems you haven't encountered yet, using today's technologies and tomorrow's. It offers you deeper insight into what you do every day, helping you create better software, faster, with more pleasure and personal fulfillment. Clarify what you're trying to accomplish Choose your tools based on sensible criteria Organize work and systems to facilitate continuing incremental progress Evaluate your progress toward thriving systems, not just more "legacy code" Gain more value from experimentation and empiricism Stay in control as systems grow more complex Achieve rigor without too much rigidity Learn from history and experience Distinguish "good" new software development ideas from "bad" ones Register your book for convenient access to downloads, updates, and/or corrections as they become available. See inside book for details.
The Science of Programming
Author: David Gries
Publisher: Springer Science & Business Media
ISBN: 1461259835
Category : Computers
Languages : en
Pages : 381
Book Description
Describes basic programming principles and their step-by- step applications.Numerous examples are included.
Publisher: Springer Science & Business Media
ISBN: 1461259835
Category : Computers
Languages : en
Pages : 381
Book Description
Describes basic programming principles and their step-by- step applications.Numerous examples are included.
Solving Fault Diagnosis Problems
Author: Andreas Varga
Publisher: Springer
ISBN: 3319515594
Category : Technology & Engineering
Languages : en
Pages : 412
Book Description
This book addresses fault detection and isolation topics from a computational perspective. Unlike most existing literature, it bridges the gap between the existing well-developed theoretical results and the realm of reliable computational synthesis procedures. The model-based approach to fault detection and diagnosis has been the subject of ongoing research for the past few decades. While the theoretical aspects of fault diagnosis on the basis of linear models are well understood, most of the computational methods proposed for the synthesis of fault detection and isolation filters are not satisfactory from a numerical standpoint. Several features make this book unique in the fault detection literature: Solution of standard synthesis problems in the most general setting, for both continuous- and discrete-time systems, regardless of whether they are proper or not; consequently, the proposed synthesis procedures can solve a specific problem whenever a solution exists Emphasis on the best numerical algorithms to solve the synthesis problems for linear systems in generalized state-space form (also known as descriptor systems) Development of general synthesis procedures relying on new computational paradigms, such as factorization-based design based on filter updating techniques and nullspace-based synthesis Availability of a comprehensive set of free accompanying software tools for descriptor systems, which allows readers to easily implement all synthesis procedures presented in the book and ensures that all results are reproducible This book is primarily intended for researchers and advanced graduate students in the areas of fault diagnosis and fault-tolerant control. It will also appeal to mathematicians with an interest in control-oriented numerics.
Publisher: Springer
ISBN: 3319515594
Category : Technology & Engineering
Languages : en
Pages : 412
Book Description
This book addresses fault detection and isolation topics from a computational perspective. Unlike most existing literature, it bridges the gap between the existing well-developed theoretical results and the realm of reliable computational synthesis procedures. The model-based approach to fault detection and diagnosis has been the subject of ongoing research for the past few decades. While the theoretical aspects of fault diagnosis on the basis of linear models are well understood, most of the computational methods proposed for the synthesis of fault detection and isolation filters are not satisfactory from a numerical standpoint. Several features make this book unique in the fault detection literature: Solution of standard synthesis problems in the most general setting, for both continuous- and discrete-time systems, regardless of whether they are proper or not; consequently, the proposed synthesis procedures can solve a specific problem whenever a solution exists Emphasis on the best numerical algorithms to solve the synthesis problems for linear systems in generalized state-space form (also known as descriptor systems) Development of general synthesis procedures relying on new computational paradigms, such as factorization-based design based on filter updating techniques and nullspace-based synthesis Availability of a comprehensive set of free accompanying software tools for descriptor systems, which allows readers to easily implement all synthesis procedures presented in the book and ensures that all results are reproducible This book is primarily intended for researchers and advanced graduate students in the areas of fault diagnosis and fault-tolerant control. It will also appeal to mathematicians with an interest in control-oriented numerics.
The Nature of Software Development
Author: Ron Jeffries
Publisher: Pragmatic Bookshelf
ISBN: 1680505084
Category : Computers
Languages : en
Pages : 264
Book Description
You need to get value from your software project. You need it "free, now, and perfect." We can't get you there, but we can help you get to "cheaper, sooner, and better." This book leads you from the desire for value down to the specific activities that help good Agile projects deliver better software sooner, and at a lower cost. Using simple sketches and a few words, the author invites you to follow his path of learning and understanding from a half century of software development and from his engagement with Agile methods from their very beginning. The book describes software development, starting from our natural desire to get something of value. Each topic is described with a picture and a few paragraphs. You're invited to think about each topic; to take it in. You'll think about how each step into the process leads to the next. You'll begin to see why Agile methods ask for what they do, and you'll learn why a shallow implementation of Agile can lead to only limited improvement. This is not a detailed map, nor a step-by-step set of instructions for building the perfect project. There is no map or instructions that will do that for you. You need to build your own project, making it a bit more perfect every day. To do that effectively, you need to build up an understanding of the whole process. This book points out the milestones on your journey of understanding the nature of software development done well. It takes you to a location, describes it briefly, and leaves you to explore and fill in your own understanding. What You Need: You'll need your Standard Issue Brain, a bit of curiosity, and a desire to build your own understanding rather than have someone else's detailed ideas poured into your head.
Publisher: Pragmatic Bookshelf
ISBN: 1680505084
Category : Computers
Languages : en
Pages : 264
Book Description
You need to get value from your software project. You need it "free, now, and perfect." We can't get you there, but we can help you get to "cheaper, sooner, and better." This book leads you from the desire for value down to the specific activities that help good Agile projects deliver better software sooner, and at a lower cost. Using simple sketches and a few words, the author invites you to follow his path of learning and understanding from a half century of software development and from his engagement with Agile methods from their very beginning. The book describes software development, starting from our natural desire to get something of value. Each topic is described with a picture and a few paragraphs. You're invited to think about each topic; to take it in. You'll think about how each step into the process leads to the next. You'll begin to see why Agile methods ask for what they do, and you'll learn why a shallow implementation of Agile can lead to only limited improvement. This is not a detailed map, nor a step-by-step set of instructions for building the perfect project. There is no map or instructions that will do that for you. You need to build your own project, making it a bit more perfect every day. To do that effectively, you need to build up an understanding of the whole process. This book points out the milestones on your journey of understanding the nature of software development done well. It takes you to a location, describes it briefly, and leaves you to explore and fill in your own understanding. What You Need: You'll need your Standard Issue Brain, a bit of curiosity, and a desire to build your own understanding rather than have someone else's detailed ideas poured into your head.
Classic Computer Science Problems in Python
Author: David Kopec
Publisher: Simon and Schuster
ISBN: 1638355231
Category : Computers
Languages : en
Pages : 331
Book Description
"Whether you're a novice or a seasoned professional, there's an Aha! moment in this book for everyone." - James Watson, Adaptive ”Highly recommended to everyone interested in deepening their understanding of Python and practical computer science.” —Daniel Kenney-Jung, MD, University of Minnesota Key Features • Master formal techniques taught in college computer science classes • Connect computer science theory to real-world applications, data, and performance • Prepare for programmer interviews • Recognize the core ideas behind most “new” challenges • Covers Python 3.7 Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. About The Book Programming problems that seem new or unique are usually rooted in well-known engineering principles. Classic Computer Science Problems in Python guides you through time-tested scenarios, exercises, and algorithms that will prepare you for the “new” problems you’ll face when you start your next project. In this amazing book, you'll tackle dozens of coding challenges, ranging from simple tasks like binary search algorithms to clustering data using k-means. As you work through examples for web development, machine learning, and more, you'll remember important things you've forgotten and discover classic solutions that will save you hours of time. What You Will Learn • Search algorithms • Common techniques for graphs • Neural networks • Genetic algorithms • Adversarial search • Uses type hints throughout This Book Is Written For For intermediate Python programmers. About The Author David Kopec is an assistant professor of Computer Science and Innovation at Champlain College in Burlington, Vermont. He is the author of Dart for Absolute Beginners (Apress, 2014), Classic Computer Science Problems in Swift (Manning, 2018), and Classic Computer Science Problems in Java (Manning, 2020) Table of Contents 1. Small problems 2. Search problems 3. Constraint-satisfaction problems 4. Graph problems 5. Genetic algorithms 6. K-means clustering 7. Fairly simple neural networks 8. Adversarial search 9. Miscellaneous problems
Publisher: Simon and Schuster
ISBN: 1638355231
Category : Computers
Languages : en
Pages : 331
Book Description
"Whether you're a novice or a seasoned professional, there's an Aha! moment in this book for everyone." - James Watson, Adaptive ”Highly recommended to everyone interested in deepening their understanding of Python and practical computer science.” —Daniel Kenney-Jung, MD, University of Minnesota Key Features • Master formal techniques taught in college computer science classes • Connect computer science theory to real-world applications, data, and performance • Prepare for programmer interviews • Recognize the core ideas behind most “new” challenges • Covers Python 3.7 Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. About The Book Programming problems that seem new or unique are usually rooted in well-known engineering principles. Classic Computer Science Problems in Python guides you through time-tested scenarios, exercises, and algorithms that will prepare you for the “new” problems you’ll face when you start your next project. In this amazing book, you'll tackle dozens of coding challenges, ranging from simple tasks like binary search algorithms to clustering data using k-means. As you work through examples for web development, machine learning, and more, you'll remember important things you've forgotten and discover classic solutions that will save you hours of time. What You Will Learn • Search algorithms • Common techniques for graphs • Neural networks • Genetic algorithms • Adversarial search • Uses type hints throughout This Book Is Written For For intermediate Python programmers. About The Author David Kopec is an assistant professor of Computer Science and Innovation at Champlain College in Burlington, Vermont. He is the author of Dart for Absolute Beginners (Apress, 2014), Classic Computer Science Problems in Swift (Manning, 2018), and Classic Computer Science Problems in Java (Manning, 2020) Table of Contents 1. Small problems 2. Search problems 3. Constraint-satisfaction problems 4. Graph problems 5. Genetic algorithms 6. K-means clustering 7. Fairly simple neural networks 8. Adversarial search 9. Miscellaneous problems
Sprint
Author: Jake Knapp
Publisher: Simon and Schuster
ISBN: 1501121774
Category : Business & Economics
Languages : en
Pages : 288
Book Description
From inside Google Ventures, a unique five-day process for solving tough problems, proven at thousands of companies in mobile, e-commerce, healthcare, finance, and more. Entrepreneurs and leaders face big questions every day: What’s the most important place to focus your effort, and how do you start? What will your idea look like in real life? How many meetings and discussions does it take before you can be sure you have the right solution? Now there’s a surefire way to answer these important questions: the Design Sprint, created at Google by Jake Knapp. This method is like fast-forwarding into the future, so you can see how customers react before you invest all the time and expense of creating your new product, service, or campaign. In a Design Sprint, you take a small team, clear your schedules for a week, and rapidly progress from problem, to prototype, to tested solution using the step-by-step five-day process in this book. A practical guide to answering critical business questions, Sprint is a book for teams of any size, from small startups to Fortune 100s, from teachers to nonprofits. It can replace the old office defaults with a smarter, more respectful, and more effective way of solving problems that brings out the best contributions of everyone on the team—and helps you spend your time on work that really matters.
Publisher: Simon and Schuster
ISBN: 1501121774
Category : Business & Economics
Languages : en
Pages : 288
Book Description
From inside Google Ventures, a unique five-day process for solving tough problems, proven at thousands of companies in mobile, e-commerce, healthcare, finance, and more. Entrepreneurs and leaders face big questions every day: What’s the most important place to focus your effort, and how do you start? What will your idea look like in real life? How many meetings and discussions does it take before you can be sure you have the right solution? Now there’s a surefire way to answer these important questions: the Design Sprint, created at Google by Jake Knapp. This method is like fast-forwarding into the future, so you can see how customers react before you invest all the time and expense of creating your new product, service, or campaign. In a Design Sprint, you take a small team, clear your schedules for a week, and rapidly progress from problem, to prototype, to tested solution using the step-by-step five-day process in this book. A practical guide to answering critical business questions, Sprint is a book for teams of any size, from small startups to Fortune 100s, from teachers to nonprofits. It can replace the old office defaults with a smarter, more respectful, and more effective way of solving problems that brings out the best contributions of everyone on the team—and helps you spend your time on work that really matters.
Simply Scheme
Author: Brian Harvey
Publisher: MIT Press
ISBN: 9780262082815
Category : Computers
Languages : en
Pages : 620
Book Description
Showing off scheme - Functions - Expressions - Defining your own procedures - Words and sentences - True and false - Variables - Higher-order functions - Lambda - Introduction to recursion - The leap of faith - How recursion works - Common patterns in recursive procedures - Advanced recursion - Example : the functions program - Files - Vectors - Example : a spreadsheet program - Implementing the spreadsheet program - What's next?
Publisher: MIT Press
ISBN: 9780262082815
Category : Computers
Languages : en
Pages : 620
Book Description
Showing off scheme - Functions - Expressions - Defining your own procedures - Words and sentences - True and false - Variables - Higher-order functions - Lambda - Introduction to recursion - The leap of faith - How recursion works - Common patterns in recursive procedures - Advanced recursion - Example : the functions program - Files - Vectors - Example : a spreadsheet program - Implementing the spreadsheet program - What's next?