1.1 Introduction

Welcome to Python—one of the world’s most widely used computer programming languages and, according to the Popularity of Programming Languages (PYPL) Index, the world’s most popular.1 You’re probably familiar with many of the powerful tasks computers perform. In this textbook, you’ll get intensive, hands-on experience writing Python instructions that command computers to perform those and other tasks. Software (that is, the Python instructions you write, which are also called code) controls hardware (that is, computers and related devices).

Here, we introduce terminology and concepts that lay the groundwork for the Python programming you’ll learn in Chapters 211 and the big-data, artificial-intelligence and cloud-based case studies we present in Chapters 1217. We’ll introduce hardware and software concepts and overview the data hierarchy—from individual bits to databases, which store the massive amounts of data companies need to implement contemporary applications such as Google Search, Waze, Uber, Airbnb and a myriad of others.

We’ll discuss the types of programming languages and introduce object-oriented programming terminology and concepts. You’ll learn why Python has become so popular. We’ll introduce the Python Standard Library and various data-science libraries that help you avoid “reinventing the wheel.” You’ll use these libraries to create software objects that you’ll interact with to perform significant tasks with modest numbers of instructions. We’ll introduce additional software technologies that you’re likely to use as you develop software.

Next, you’ll work through three test-drives showing how to execute Python code:

  • In the first, you’ll use IPython to execute Python instructions interactively and immediately see their results.

  • In the second, you’ll execute a substantial Python application that will display an animated bar chart summarizing rolls of a six-sided die as they occur. You’ll see the “Law of Large Numbers” in action. In Chapter 6, you’ll build this application with the Matplotlib visualization library.

  • In the last, we’ll introduce Jupyter Notebooks using JupyterLab—an interactive, web-browser-based tool in which you can conveniently write and execute Python instructions. Jupyter Notebooks enable you to include text, images, audios, videos, animations and code.

In the past, most computer applications ran on “standalone” computers (that is, not networked together). Today’s applications can be written with the aim of communicating among the world’s computers via the Internet. We’ll introduce the Internet, the World Wide Web, the Cloud and the Internet of Things (IoT), laying the groundwork for the contemporary applications you’ll develop in Chapters 1217.

You’ll learn just how big “big data” is and how quickly it’s getting even bigger. Next, we’ll present a big-data case study on the Waze mobile navigation app, which uses many current technologies to provide dynamic driving directions that get you to your destination as quickly and as safely as possible. As we walk through those technologies, we’ll mention where you’ll use many of them in this book. The chapter closes with our first Intro to Data Science section in which we discuss a key intersection between computer science and data science—artificial intelligence.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.137.218.230