Author: Mark Lutz
Publisher: "O'Reilly Media, Inc."
ISBN: 0596554494
Category : Computers
Languages : en
Pages : 749
Book Description
Portable, powerful, and a breeze to use, Python is ideal for both standalone programs and scripting applications. With this hands-on book, you can master the fundamentals of the core Python language quickly and efficiently, whether you're new to programming or just new to Python. Once you finish, you will know enough about the language to use it in any application domain you choose. Learning Python is based on material from author Mark Lutz's popular training courses, which he's taught over the past decade. Each chapter is a self-contained lesson that helps you thoroughly understand a key component of Python before you continue. Along with plenty of annotated examples, illustrations, and chapter summaries, every chapter also contains Brain Builder, a unique section with practical exercises and review quizzes that let you practice new skills and test your understanding as you go. This book covers: Types and Operations -- Python's major built-in object types in depth: numbers, lists, dictionaries, and more Statements and Syntax -- the code you type to create and process objects in Python, along with Python's general syntax model Functions -- Python's basic procedural tool for structuring and reusing code Modules -- packages of statements, functions, and other tools organized into larger components Classes and OOP -- Python's optional object-oriented programming tool for structuring code for customization and reuse Exceptions and Tools -- exception handling model and statements, plus a look at development tools for writing larger programs Learning Python gives you a deep and complete understanding of the language that will help you comprehend any application-level examples of Python that you later encounter. If you're ready to discover what Google and YouTube see in Python, this book is the best way to get started.
Learning Python
Author: Mark Lutz
Publisher: "O'Reilly Media, Inc."
ISBN: 0596554494
Category : Computers
Languages : en
Pages : 749
Book Description
Portable, powerful, and a breeze to use, Python is ideal for both standalone programs and scripting applications. With this hands-on book, you can master the fundamentals of the core Python language quickly and efficiently, whether you're new to programming or just new to Python. Once you finish, you will know enough about the language to use it in any application domain you choose. Learning Python is based on material from author Mark Lutz's popular training courses, which he's taught over the past decade. Each chapter is a self-contained lesson that helps you thoroughly understand a key component of Python before you continue. Along with plenty of annotated examples, illustrations, and chapter summaries, every chapter also contains Brain Builder, a unique section with practical exercises and review quizzes that let you practice new skills and test your understanding as you go. This book covers: Types and Operations -- Python's major built-in object types in depth: numbers, lists, dictionaries, and more Statements and Syntax -- the code you type to create and process objects in Python, along with Python's general syntax model Functions -- Python's basic procedural tool for structuring and reusing code Modules -- packages of statements, functions, and other tools organized into larger components Classes and OOP -- Python's optional object-oriented programming tool for structuring code for customization and reuse Exceptions and Tools -- exception handling model and statements, plus a look at development tools for writing larger programs Learning Python gives you a deep and complete understanding of the language that will help you comprehend any application-level examples of Python that you later encounter. If you're ready to discover what Google and YouTube see in Python, this book is the best way to get started.
Publisher: "O'Reilly Media, Inc."
ISBN: 0596554494
Category : Computers
Languages : en
Pages : 749
Book Description
Portable, powerful, and a breeze to use, Python is ideal for both standalone programs and scripting applications. With this hands-on book, you can master the fundamentals of the core Python language quickly and efficiently, whether you're new to programming or just new to Python. Once you finish, you will know enough about the language to use it in any application domain you choose. Learning Python is based on material from author Mark Lutz's popular training courses, which he's taught over the past decade. Each chapter is a self-contained lesson that helps you thoroughly understand a key component of Python before you continue. Along with plenty of annotated examples, illustrations, and chapter summaries, every chapter also contains Brain Builder, a unique section with practical exercises and review quizzes that let you practice new skills and test your understanding as you go. This book covers: Types and Operations -- Python's major built-in object types in depth: numbers, lists, dictionaries, and more Statements and Syntax -- the code you type to create and process objects in Python, along with Python's general syntax model Functions -- Python's basic procedural tool for structuring and reusing code Modules -- packages of statements, functions, and other tools organized into larger components Classes and OOP -- Python's optional object-oriented programming tool for structuring code for customization and reuse Exceptions and Tools -- exception handling model and statements, plus a look at development tools for writing larger programs Learning Python gives you a deep and complete understanding of the language that will help you comprehend any application-level examples of Python that you later encounter. If you're ready to discover what Google and YouTube see in Python, this book is the best way to get started.
Python Programming
Author: John M. Zelle
Publisher: Franklin, Beedle & Associates, Inc.
ISBN: 1887902996
Category : Computers
Languages : en
Pages : 533
Book Description
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.
Publisher: Franklin, Beedle & Associates, Inc.
ISBN: 1887902996
Category : Computers
Languages : en
Pages : 533
Book Description
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.
Python Programming for Beginners
Author: Jason Cannon
Publisher: CreateSpace
ISBN: 9781501000867
Category : Computers
Languages : en
Pages : 158
Book Description
Python Programming for Beginners doesn't make any assumptions about your background or knowledge of Python or computer programming. You need no prior knowledge to benefit from this book. You will be guided step by step using a logical and systematic approach. As new concepts, commands, or jargon are encountered they are explained in plain language, making it easy for anyone to understand.--Publisher's description.
Publisher: CreateSpace
ISBN: 9781501000867
Category : Computers
Languages : en
Pages : 158
Book Description
Python Programming for Beginners doesn't make any assumptions about your background or knowledge of Python or computer programming. You need no prior knowledge to benefit from this book. You will be guided step by step using a logical and systematic approach. As new concepts, commands, or jargon are encountered they are explained in plain language, making it easy for anyone to understand.--Publisher's description.
Python for Kids, 2nd Edition
Author: Jason R. Briggs
Publisher: No Starch Press
ISBN: 1718503032
Category : Juvenile Nonfiction
Languages : en
Pages : 365
Book Description
The second edition of the best-selling Python for Kids—which brings you (and your parents) into the world of programming—has been completely updated to use the latest version of Python, along with tons of new projects! Python is a powerful programming language that’s easy to learn and fun to use! But books about programming in Python can be dull and that’s no fun for anyone. Python for Kids brings kids (and their parents) into the wonderful world of programming. Jason R. Briggs guides you through the basics, experimenting with unique (and hilarious) example programs featuring ravenous monsters, secret agents, thieving ravens, and more. New terms are defined; code is colored and explained; puzzles stretch the brain and strengthen understanding; and full-color illustrations keep you engaged throughout. By the end of the book, you’ll have programmed two games: a clone of the famous Pong, and “Mr. Stick Man Races for the Exit”—a platform game with jumps and animation. This second edition is revised and updated to reflect Python 3 programming practices. There are new puzzles to inspire you and two new appendices to guide you through Python’s built-in modules and troubleshooting your code. As you strike out on your programming adventure, you’ll learn how to: Use fundamental data structures like lists, tuples, and dictionaries Organize and reuse your code with functions and modules Use control structures like loops and conditional statements Draw shapes and patterns with Python’s turtle module Create games, animations, and other graphical wonders with tkinter Why should serious adults have all the fun? Python for Kids is your ticket into the amazing world of computer programming. Covers Python 3.x which runs on Windows, macOS, Linux, even Raspberry Pi
Publisher: No Starch Press
ISBN: 1718503032
Category : Juvenile Nonfiction
Languages : en
Pages : 365
Book Description
The second edition of the best-selling Python for Kids—which brings you (and your parents) into the world of programming—has been completely updated to use the latest version of Python, along with tons of new projects! Python is a powerful programming language that’s easy to learn and fun to use! But books about programming in Python can be dull and that’s no fun for anyone. Python for Kids brings kids (and their parents) into the wonderful world of programming. Jason R. Briggs guides you through the basics, experimenting with unique (and hilarious) example programs featuring ravenous monsters, secret agents, thieving ravens, and more. New terms are defined; code is colored and explained; puzzles stretch the brain and strengthen understanding; and full-color illustrations keep you engaged throughout. By the end of the book, you’ll have programmed two games: a clone of the famous Pong, and “Mr. Stick Man Races for the Exit”—a platform game with jumps and animation. This second edition is revised and updated to reflect Python 3 programming practices. There are new puzzles to inspire you and two new appendices to guide you through Python’s built-in modules and troubleshooting your code. As you strike out on your programming adventure, you’ll learn how to: Use fundamental data structures like lists, tuples, and dictionaries Organize and reuse your code with functions and modules Use control structures like loops and conditional statements Draw shapes and patterns with Python’s turtle module Create games, animations, and other graphical wonders with tkinter Why should serious adults have all the fun? Python for Kids is your ticket into the amazing world of computer programming. Covers Python 3.x which runs on Windows, macOS, Linux, even Raspberry Pi
Python Crash Course
Author: Eric Matthes
Publisher: No Starch Press
ISBN: 1593277393
Category : Computers
Languages : en
Pages : 564
Book Description
Python Crash Course is a fast-paced, thorough introduction to Python that will have you writing programs, solving problems, and making things that work in no time. In the first half of the book, you’ll learn about basic programming concepts, such as lists, dictionaries, classes, and loops, and practice writing clean and readable code with exercises for each topic. You’ll also learn how to make your programs interactive and how to test your code safely before adding it to a project. In the second half of the book, you’ll put your new knowledge into practice with three substantial projects: a Space Invaders–inspired arcade game, data visualizations with Python’s super-handy libraries, and a simple web app you can deploy online. As you work through Python Crash Course you’ll learn how to: –Use powerful Python libraries and tools, including matplotlib, NumPy, and Pygal –Make 2D games that respond to keypresses and mouse clicks, and that grow more difficult as the game progresses –Work with data to generate interactive visualizations –Create and customize Web apps and deploy them safely online –Deal with mistakes and errors so you can solve your own programming problems If you’ve been thinking seriously about digging into programming, Python Crash Course will get you up to speed and have you writing real programs fast. Why wait any longer? Start your engines and code! Uses Python 2 and 3
Publisher: No Starch Press
ISBN: 1593277393
Category : Computers
Languages : en
Pages : 564
Book Description
Python Crash Course is a fast-paced, thorough introduction to Python that will have you writing programs, solving problems, and making things that work in no time. In the first half of the book, you’ll learn about basic programming concepts, such as lists, dictionaries, classes, and loops, and practice writing clean and readable code with exercises for each topic. You’ll also learn how to make your programs interactive and how to test your code safely before adding it to a project. In the second half of the book, you’ll put your new knowledge into practice with three substantial projects: a Space Invaders–inspired arcade game, data visualizations with Python’s super-handy libraries, and a simple web app you can deploy online. As you work through Python Crash Course you’ll learn how to: –Use powerful Python libraries and tools, including matplotlib, NumPy, and Pygal –Make 2D games that respond to keypresses and mouse clicks, and that grow more difficult as the game progresses –Work with data to generate interactive visualizations –Create and customize Web apps and deploy them safely online –Deal with mistakes and errors so you can solve your own programming problems If you’ve been thinking seriously about digging into programming, Python Crash Course will get you up to speed and have you writing real programs fast. Why wait any longer? Start your engines and code! Uses Python 2 and 3
Python Basics
Author: Dan Bader
Publisher: Real Python (Realpython.Com)
ISBN: 9781775093329
Category :
Languages : en
Pages : 636
Book Description
Make the Leap From Beginner to Intermediate in Python... Python Basics: A Practical Introduction to Python 3 Your Complete Python Curriculum-With Exercises, Interactive Quizzes, and Sample Projects What should you learn about Python in the beginning to get a strong foundation? With Python Basics, you'll not only cover the core concepts you really need to know, but you'll also learn them in the most efficient order with the help of practical exercises and interactive quizzes. You'll know enough to be dangerous with Python, fast! Who Should Read This Book If you're new to Python, you'll get a practical, step-by-step roadmap on developing your foundational skills. You'll be introduced to each concept and language feature in a logical order. Every step in this curriculum is explained and illustrated with short, clear code samples. Our goal with this book is to educate, not to impress or intimidate. If you're familiar with some basic programming concepts, you'll get a clear and well-tested introduction to Python. This is a practical introduction to Python that jumps right into the meat and potatoes without sacrificing substance. If you have prior experience with languages like VBA, PowerShell, R, Perl, C, C++, C#, Java, or Swift the numerous exercises within each chapter will fast-track your progress. If you're a seasoned developer, you'll get a Python 3 crash course that brings you up to speed with modern Python programming. Mix and match the chapters that interest you the most and use the interactive quizzes and review exercises to check your learning progress as you go along. If you're a self-starter completely new to coding, you'll get practical and motivating examples. You'll begin by installing Python and setting up a coding environment on your computer from scratch, and then continue from there. We'll get you coding right away so that you become competent and knowledgeable enough to solve real-world problems, fast. Develop a passion for programming by solving interesting problems with Python every day! If you're looking to break into a coding or data-science career, you'll pick up the practical foundations with this book. We won't just dump a boat load of theoretical information on you so you can "sink or swim"-instead you'll learn from hands-on, practical examples one step at a time. Each concept is broken down for you so you'll always know what you can do with it in practical terms. If you're interested in teaching others "how to Python," this will be your guidebook. If you're looking to stoke the coding flame in your coworkers, kids, or relatives-use our material to teach them. All the sequencing has been done for you so you'll always know what to cover next and how to explain it. What Python Developers Say About The Book: "Go forth and learn this amazing language using this great book." - Michael Kennedy, Talk Python "The wording is casual, easy to understand, and makes the information flow well." - Thomas Wong, Pythonista "I floundered for a long time trying to teach myself. I slogged through dozens of incomplete online tutorials. I snoozed through hours of boring screencasts. I gave up on countless crufty books from big-time publishers. And then I found Real Python. The easy-to-follow, step-by-step instructions break the big concepts down into bite-sized chunks written in plain English. The authors never forget their audience and are consistently thorough and detailed in their explanations. I'm up and running now, but I constantly refer to the material for guidance." - Jared Nielsen, Pythonista
Publisher: Real Python (Realpython.Com)
ISBN: 9781775093329
Category :
Languages : en
Pages : 636
Book Description
Make the Leap From Beginner to Intermediate in Python... Python Basics: A Practical Introduction to Python 3 Your Complete Python Curriculum-With Exercises, Interactive Quizzes, and Sample Projects What should you learn about Python in the beginning to get a strong foundation? With Python Basics, you'll not only cover the core concepts you really need to know, but you'll also learn them in the most efficient order with the help of practical exercises and interactive quizzes. You'll know enough to be dangerous with Python, fast! Who Should Read This Book If you're new to Python, you'll get a practical, step-by-step roadmap on developing your foundational skills. You'll be introduced to each concept and language feature in a logical order. Every step in this curriculum is explained and illustrated with short, clear code samples. Our goal with this book is to educate, not to impress or intimidate. If you're familiar with some basic programming concepts, you'll get a clear and well-tested introduction to Python. This is a practical introduction to Python that jumps right into the meat and potatoes without sacrificing substance. If you have prior experience with languages like VBA, PowerShell, R, Perl, C, C++, C#, Java, or Swift the numerous exercises within each chapter will fast-track your progress. If you're a seasoned developer, you'll get a Python 3 crash course that brings you up to speed with modern Python programming. Mix and match the chapters that interest you the most and use the interactive quizzes and review exercises to check your learning progress as you go along. If you're a self-starter completely new to coding, you'll get practical and motivating examples. You'll begin by installing Python and setting up a coding environment on your computer from scratch, and then continue from there. We'll get you coding right away so that you become competent and knowledgeable enough to solve real-world problems, fast. Develop a passion for programming by solving interesting problems with Python every day! If you're looking to break into a coding or data-science career, you'll pick up the practical foundations with this book. We won't just dump a boat load of theoretical information on you so you can "sink or swim"-instead you'll learn from hands-on, practical examples one step at a time. Each concept is broken down for you so you'll always know what you can do with it in practical terms. If you're interested in teaching others "how to Python," this will be your guidebook. If you're looking to stoke the coding flame in your coworkers, kids, or relatives-use our material to teach them. All the sequencing has been done for you so you'll always know what to cover next and how to explain it. What Python Developers Say About The Book: "Go forth and learn this amazing language using this great book." - Michael Kennedy, Talk Python "The wording is casual, easy to understand, and makes the information flow well." - Thomas Wong, Pythonista "I floundered for a long time trying to teach myself. I slogged through dozens of incomplete online tutorials. I snoozed through hours of boring screencasts. I gave up on countless crufty books from big-time publishers. And then I found Real Python. The easy-to-follow, step-by-step instructions break the big concepts down into bite-sized chunks written in plain English. The authors never forget their audience and are consistently thorough and detailed in their explanations. I'm up and running now, but I constantly refer to the material for guidance." - Jared Nielsen, Pythonista
Python Programming for Beginners: A Comprehensive Introduction
Author: Michael Roberts
Publisher: Richards Education
ISBN:
Category : Computers
Languages : en
Pages : 123
Book Description
Unlock the power of programming with Python Programming for Beginners: A Comprehensive Introduction. This definitive guide is perfect for anyone looking to dive into the world of Python, one of the most popular and versatile programming languages today. Starting with the basics, this book walks you through setting up your environment, understanding fundamental concepts, and progressing to more advanced topics such as object-oriented programming, data handling, and web development. Each chapter is packed with practical examples, exercises, and case studies designed to reinforce your learning and build your confidence. Whether you're a complete novice or have some programming experience, this book will provide you with the skills and knowledge to become proficient in Python programming.
Publisher: Richards Education
ISBN:
Category : Computers
Languages : en
Pages : 123
Book Description
Unlock the power of programming with Python Programming for Beginners: A Comprehensive Introduction. This definitive guide is perfect for anyone looking to dive into the world of Python, one of the most popular and versatile programming languages today. Starting with the basics, this book walks you through setting up your environment, understanding fundamental concepts, and progressing to more advanced topics such as object-oriented programming, data handling, and web development. Each chapter is packed with practical examples, exercises, and case studies designed to reinforce your learning and build your confidence. Whether you're a complete novice or have some programming experience, this book will provide you with the skills and knowledge to become proficient in Python programming.
Introducing Python
Author: Bill Lubanovic
Publisher: "O'Reilly Media, Inc."
ISBN: 1492051322
Category : Computers
Languages : en
Pages : 634
Book Description
Easy to understand and fun to read, this updated edition of Introducing Python is ideal for beginning programmers as well as those new to the language. Author Bill Lubanovic takes you from the basics to more involved and varied topics, mixing tutorials with cookbook-style code recipes to explain concepts in Python 3. End-of-chapter exercises help you practice what you’ve learned. You’ll gain a strong foundation in the language, including best practices for testing, debugging, code reuse, and other development tips. This book also shows you how to use Python for applications in business, science, and the arts, using various Python tools and open source packages.
Publisher: "O'Reilly Media, Inc."
ISBN: 1492051322
Category : Computers
Languages : en
Pages : 634
Book Description
Easy to understand and fun to read, this updated edition of Introducing Python is ideal for beginning programmers as well as those new to the language. Author Bill Lubanovic takes you from the basics to more involved and varied topics, mixing tutorials with cookbook-style code recipes to explain concepts in Python 3. End-of-chapter exercises help you practice what you’ve learned. You’ll gain a strong foundation in the language, including best practices for testing, debugging, code reuse, and other development tips. This book also shows you how to use Python for applications in business, science, and the arts, using various Python tools and open source packages.
Learn Python 3 the Hard Way
Author: Zed A. Shaw
Publisher: Addison-Wesley Professional
ISBN: 0134693906
Category : Computers
Languages : en
Pages : 752
Book Description
You Will Learn Python 3! Zed Shaw has perfected the world’s best system for learning Python 3. Follow it and you will succeed—just like the millions of beginners Zed has taught to date! You bring the discipline, commitment, and persistence; the author supplies everything else. In Learn Python 3 the Hard Way, you’ll learn Python by working through 52 brilliantly crafted exercises. Read them. Type their code precisely. (No copying and pasting!) Fix your mistakes. Watch the programs run. As you do, you’ll learn how a computer works; what good programs look like; and how to read, write, and think about code. Zed then teaches you even more in 5+ hours of video where he shows you how to break, fix, and debug your code—live, as he’s doing the exercises. Install a complete Python environment Organize and write code Fix and break code Basic mathematics Variables Strings and text Interact with users Work with files Looping and logic Data structures using lists and dictionaries Program design Object-oriented programming Inheritance and composition Modules, classes, and objects Python packaging Automated testing Basic game development Basic web development It’ll be hard at first. But soon, you’ll just get it—and that will feel great! This course will reward you for every minute you put into it. Soon, you’ll know one of the world’s most powerful, popular programming languages. You’ll be a Python programmer. This Book Is Perfect For Total beginners with zero programming experience Junior developers who know one or two languages Returning professionals who haven’t written code in years Seasoned professionals looking for a fast, simple, crash course in Python 3
Publisher: Addison-Wesley Professional
ISBN: 0134693906
Category : Computers
Languages : en
Pages : 752
Book Description
You Will Learn Python 3! Zed Shaw has perfected the world’s best system for learning Python 3. Follow it and you will succeed—just like the millions of beginners Zed has taught to date! You bring the discipline, commitment, and persistence; the author supplies everything else. In Learn Python 3 the Hard Way, you’ll learn Python by working through 52 brilliantly crafted exercises. Read them. Type their code precisely. (No copying and pasting!) Fix your mistakes. Watch the programs run. As you do, you’ll learn how a computer works; what good programs look like; and how to read, write, and think about code. Zed then teaches you even more in 5+ hours of video where he shows you how to break, fix, and debug your code—live, as he’s doing the exercises. Install a complete Python environment Organize and write code Fix and break code Basic mathematics Variables Strings and text Interact with users Work with files Looping and logic Data structures using lists and dictionaries Program design Object-oriented programming Inheritance and composition Modules, classes, and objects Python packaging Automated testing Basic game development Basic web development It’ll be hard at first. But soon, you’ll just get it—and that will feel great! This course will reward you for every minute you put into it. Soon, you’ll know one of the world’s most powerful, popular programming languages. You’ll be a Python programmer. This Book Is Perfect For Total beginners with zero programming experience Junior developers who know one or two languages Returning professionals who haven’t written code in years Seasoned professionals looking for a fast, simple, crash course in Python 3
Introduction to Computation and Programming Using Python, second edition
Author: John V. Guttag
Publisher: MIT Press
ISBN: 0262529629
Category : Computers
Languages : en
Pages : 466
Book Description
The new edition of an introductory text that teaches students the art of computational problem solving, covering topics ranging from simple algorithms to information visualization. This book introduces students with little or no prior programming experience to the art of computational problem solving using Python and various Python libraries, including PyLab. It provides students with skills that will enable them to make productive use of computational techniques, including some of the tools and techniques of data science for using computation to model and interpret data. The book is based on an MIT course (which became the most popular course offered through MIT's OpenCourseWare) and was developed for use not only in a conventional classroom but in in a massive open online course (MOOC). This new edition has been updated for Python 3, reorganized to make it easier to use for courses that cover only a subset of the material, and offers additional material including five new chapters. Students are introduced to Python and the basics of programming in the context of such computational concepts and techniques as exhaustive enumeration, bisection search, and efficient approximation algorithms. Although it covers such traditional topics as computational complexity and simple algorithms, the book focuses on a wide range of topics not found in most introductory texts, including information visualization, simulations to model randomness, computational techniques to understand data, and statistical techniques that inform (and misinform) as well as two related but relatively advanced topics: optimization problems and dynamic programming. This edition offers expanded material on statistics and machine learning and new chapters on Frequentist and Bayesian statistics.
Publisher: MIT Press
ISBN: 0262529629
Category : Computers
Languages : en
Pages : 466
Book Description
The new edition of an introductory text that teaches students the art of computational problem solving, covering topics ranging from simple algorithms to information visualization. This book introduces students with little or no prior programming experience to the art of computational problem solving using Python and various Python libraries, including PyLab. It provides students with skills that will enable them to make productive use of computational techniques, including some of the tools and techniques of data science for using computation to model and interpret data. The book is based on an MIT course (which became the most popular course offered through MIT's OpenCourseWare) and was developed for use not only in a conventional classroom but in in a massive open online course (MOOC). This new edition has been updated for Python 3, reorganized to make it easier to use for courses that cover only a subset of the material, and offers additional material including five new chapters. Students are introduced to Python and the basics of programming in the context of such computational concepts and techniques as exhaustive enumeration, bisection search, and efficient approximation algorithms. Although it covers such traditional topics as computational complexity and simple algorithms, the book focuses on a wide range of topics not found in most introductory texts, including information visualization, simulations to model randomness, computational techniques to understand data, and statistical techniques that inform (and misinform) as well as two related but relatively advanced topics: optimization problems and dynamic programming. This edition offers expanded material on statistics and machine learning and new chapters on Frequentist and Bayesian statistics.