{"product_id":"learning-python-with-raspberry-pi-isbn-9781118717059","title":"Learning Python with Raspberry Pi","description":"\u003cp\u003e\u003cb\u003eThe must-have companion guide to the Raspberry Pi User Guide!\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eRaspberry Pi chose Python as its teaching language of choice to encourage a new generation of programmers to learn how to program. This approachable book serves as an ideal resource for anyone wanting to use Raspberry Pi to learn to program and helps you get started with the Python programming language. Aimed at first-time developers with no prior programming language assumed, this beginner book gets you up and running.\u003c\/p\u003e \u003cul\u003e \u003cli\u003eCovers variables, loops, and functions\u003c\/li\u003e \u003cli\u003eAddresses 3D graphics programming\u003c\/li\u003e \u003cli\u003eWalks you through programming Minecraft\u003c\/li\u003e \u003cli\u003eZeroes in on Python for scripting\u003c\/li\u003e \u003c\/ul\u003e \u003cp\u003e\u003ci\u003eLearning Python with Raspberry Pi\u003c\/i\u003e proves itself to be a fantastic introduction to coding.\u003c\/p\u003e \u003cp\u003e\u003cb\u003eIntroduction 1\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eWhat Is Programming? 1\u003c\/p\u003e \u003cp\u003eWhy the Raspberry Pi? 2\u003c\/p\u003e \u003cp\u003eHow Does this Book Work? 2\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 1 Getting Up and Running 5\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eSetting Up Your Raspberry Pi 5\u003c\/p\u003e \u003cp\u003eSolving Problems 6\u003c\/p\u003e \u003cp\u003eA Quick Tour of Raspbian 7\u003c\/p\u003e \u003cp\u003eUsing LXDE (Lightweight X11 Desktop Environment) 7\u003c\/p\u003e \u003cp\u003eUsing the Terminal 8\u003c\/p\u003e \u003cp\u003eChanging Configurations with Raspi-Config 10\u003c\/p\u003e \u003cp\u003eInstalling Software 10\u003c\/p\u003e \u003cp\u003ePython 3 11\u003c\/p\u003e \u003cp\u003eThe Python Interpreter 11\u003c\/p\u003e \u003cp\u003eRunning Python Programs 11\u003c\/p\u003e \u003cp\u003eSummary 12\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 2 A Really Quick Introduction to Python 13\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eDrawing Picture with Turtles 13\u003c\/p\u003e \u003cp\u003eUsing Loops 16\u003c\/p\u003e \u003cp\u003eConditionals: if, elif, and else 18\u003c\/p\u003e \u003cp\u003eUsing Functions and Methods to Structure Code 20\u003c\/p\u003e \u003cp\u003eA Python Game of Cat and Mouse 21\u003c\/p\u003e \u003cp\u003eUnderstanding Variables 24\u003c\/p\u003e \u003cp\u003eDefining Functions 24\u003c\/p\u003e \u003cp\u003eLooping Through the Game 25\u003c\/p\u003e \u003cp\u003eSummary 26\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 3 Python Basics 27\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eVariables, Values, and Types 27\u003c\/p\u003e \u003cp\u003eValues Have Types 28\u003c\/p\u003e \u003cp\u003eStoring Numbers 29\u003c\/p\u003e \u003cp\u003eKeeping Text in Strings 30\u003c\/p\u003e \u003cp\u003eBoolean: True or False 31\u003c\/p\u003e \u003cp\u003eConverting Between Data Types 32\u003c\/p\u003e \u003cp\u003eTest Your Knowledge 32\u003c\/p\u003e \u003cp\u003eExercise 1 33\u003c\/p\u003e \u003cp\u003eStoring Values in Structures 33\u003c\/p\u003e \u003cp\u003eNon-Sequential Values in Dictionaries and Sets 37\u003c\/p\u003e \u003cp\u003eTest Your Knowledge 38\u003c\/p\u003e \u003cp\u003eControlling the Way the Program Flows 38\u003c\/p\u003e \u003cp\u003eMoving Through Data with for Loops 39\u003c\/p\u003e \u003cp\u003eGoing Deeper with Nested Loops 40\u003c\/p\u003e \u003cp\u003eBranching Execution with if Statements 41\u003c\/p\u003e \u003cp\u003eCatching Exceptions 42\u003c\/p\u003e \u003cp\u003eExercise 2 43\u003c\/p\u003e \u003cp\u003eMaking Code Reusable with Functions 43\u003c\/p\u003e \u003cp\u003eOptional Parameters 46\u003c\/p\u003e \u003cp\u003eBringing Everything Together 46\u003c\/p\u003e \u003cp\u003eExercise 3 48\u003c\/p\u003e \u003cp\u003eBuilding Objects with Classes 49\u003c\/p\u003e \u003cp\u003eGetting Extra Features from Modules 54\u003c\/p\u003e \u003cp\u003eSummary 55\u003c\/p\u003e \u003cp\u003eSolutions to Exercises 56\u003c\/p\u003e \u003cp\u003eExercise 1 56\u003c\/p\u003e \u003cp\u003eExercise 2 56\u003c\/p\u003e \u003cp\u003eExercise 3 56\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 4 Graphical Programming 57\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eGraphical User Interface (GUI) Programming 58\u003c\/p\u003e \u003cp\u003eAdding Controls 60\u003c\/p\u003e \u003cp\u003eTest Your Knowledge 62\u003c\/p\u003e \u003cp\u003eExercise 1 62\u003c\/p\u003e \u003cp\u003eCreating a Web Browser 62\u003c\/p\u003e \u003cp\u003eAdding Window Menus 71\u003c\/p\u003e \u003cp\u003eTest Your Knowledge 73\u003c\/p\u003e \u003cp\u003eExercise 2 73\u003c\/p\u003e \u003cp\u003eSummary 74\u003c\/p\u003e \u003cp\u003eSolutions to Exercises 74\u003c\/p\u003e \u003cp\u003eExercise 1 74\u003c\/p\u003e \u003cp\u003eExercise 2 76\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 5 Creating Games 77\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eBuilding a Game 79\u003c\/p\u003e \u003cp\u003eInitialising PyGame 82\u003c\/p\u003e \u003cp\u003eCreating a World 86\u003c\/p\u003e \u003cp\u003eDetecting Collisions 88\u003c\/p\u003e \u003cp\u003eMoving Left and Right 90\u003c\/p\u003e \u003cp\u003eReaching the Goal 92\u003c\/p\u003e \u003cp\u003eMaking a Challenge 93\u003c\/p\u003e \u003cp\u003eMaking It Your Own 97\u003c\/p\u003e \u003cp\u003eAdding Sound 98\u003c\/p\u003e \u003cp\u003eAdding Scenery 99\u003c\/p\u003e \u003cp\u003eAdding the Finishing Touches 101\u003c\/p\u003e \u003cp\u003eTaking the Game to the Next Level 102\u003c\/p\u003e \u003cp\u003eRealistic Game Physics 103\u003c\/p\u003e \u003cp\u003eSummary 108\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 6 Creating Graphics with OpenGL 109\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eGetting Modules 110\u003c\/p\u003e \u003cp\u003eCreating a Spinning Cube 110\u003c\/p\u003e \u003cp\u003eVectors and Matrices 112\u003c\/p\u003e \u003cp\u003eBringing It All Together 116\u003c\/p\u003e \u003cp\u003eLet There Be Light 120\u003c\/p\u003e \u003cp\u003eCalculating the Distance of the Point from the Light Source 120\u003c\/p\u003e \u003cp\u003eCalculating Reflecting Angles 121\u003c\/p\u003e \u003cp\u003eMaking the Screen Dance 126\u003c\/p\u003e \u003cp\u003eBuilding the 3D Model 128\u003c\/p\u003e \u003cp\u003eCalculating the Sound Level 129\u003c\/p\u003e \u003cp\u003eTaking Things Further 135\u003c\/p\u003e \u003cp\u003eAdding Some Texture 136\u003c\/p\u003e \u003cp\u003eSummary 136\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 7 Networked Python 139\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eUnderstanding Hosts, Ports, and Sockets 139\u003c\/p\u003e \u003cp\u003eLocating Computers with IP Addresses 140\u003c\/p\u003e \u003cp\u003eBuilding a Chat Server 141\u003c\/p\u003e \u003cp\u003eTweeting to the World 144\u003c\/p\u003e \u003cp\u003eWeather Forecasts with JSON 147\u003c\/p\u003e \u003cp\u003eTesting Your Knowledge 149\u003c\/p\u003e \u003cp\u003eExercise 1 149\u003c\/p\u003e \u003cp\u003eGetting On the Web 149\u003c\/p\u003e \u003cp\u003eMaking Your Website Dynamic 151\u003c\/p\u003e \u003cp\u003eUsing Templates 153\u003c\/p\u003e \u003cp\u003eSending Data Back with Forms 153\u003c\/p\u003e \u003cp\u003eExercise 2 155\u003c\/p\u003e \u003cp\u003eKeeping Things Secure 155\u003c\/p\u003e \u003cp\u003eSummary 159\u003c\/p\u003e \u003cp\u003eSolutions to Exercises 160\u003c\/p\u003e \u003cp\u003eExercise 1 160\u003c\/p\u003e \u003cp\u003eExercise 2 161\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 8 Minecraft 163\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eExploring Minecraft 164\u003c\/p\u003e \u003cp\u003eControlling Your Minecraft World 164\u003c\/p\u003e \u003cp\u003eCreating Minecraft Worlds in Python 165\u003c\/p\u003e \u003cp\u003eBuilding Worlds 166\u003c\/p\u003e \u003cp\u003eDrawing Pictures 166\u003c\/p\u003e \u003cp\u003eTaking Things Further 169\u003c\/p\u003e \u003cp\u003eMaking the Game Snake 169\u003c\/p\u003e \u003cp\u003eMoving the Snake 173\u003c\/p\u003e \u003cp\u003eGrowing the Snake 173\u003c\/p\u003e \u003cp\u003eAdding the Apples 174\u003c\/p\u003e \u003cp\u003eTaking Things Further 175\u003c\/p\u003e \u003cp\u003eSummary 175\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 9 Multimedia 177\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eUsing PyAudio to Get Sound into Your Computer 177\u003c\/p\u003e \u003cp\u003eRecording the Sound 179\u003c\/p\u003e \u003cp\u003eSpeaking to Your Pi 180\u003c\/p\u003e \u003cp\u003eAsking the Program Questions 181\u003c\/p\u003e \u003cp\u003ePutting It All Together 182\u003c\/p\u003e \u003cp\u003eTaking Things Further 184\u003c\/p\u003e \u003cp\u003eMaking Movies 184\u003c\/p\u003e \u003cp\u003eUsing USB Webcams 185\u003c\/p\u003e \u003cp\u003eAdding Computer Vision Features with OpenCV 187\u003c\/p\u003e \u003cp\u003eTaking Things Further 190\u003c\/p\u003e \u003cp\u003eUsing the Raspberry Pi Camera Module 190\u003c\/p\u003e \u003cp\u003eCreating Live Streams 193\u003c\/p\u003e \u003cp\u003eTaking Things Further 196\u003c\/p\u003e \u003cp\u003eSummary 196\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 10 Scripting 197\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eGetting Started with the Linux Command Line 197\u003c\/p\u003e \u003cp\u003eUsing the Subprocess Module 200\u003c\/p\u003e \u003cp\u003eCommand-Line Flags 202\u003c\/p\u003e \u003cp\u003eRegular Expressions 203\u003c\/p\u003e \u003cp\u003eTesting Your Knowledge 206\u003c\/p\u003e \u003cp\u003eScripting with Networking 207\u003c\/p\u003e \u003cp\u003eBringing It All Together 209\u003c\/p\u003e \u003cp\u003eWorking with Files in Python 216\u003c\/p\u003e \u003cp\u003eSummary 217\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 11 Interfacing with Hardware 219\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eSetting Up Your Hardware Options 219\u003c\/p\u003e \u003cp\u003eFemale to Male Jumper Wires 219\u003c\/p\u003e \u003cp\u003ePi Cobbler 220\u003c\/p\u003e \u003cp\u003eSolderless Breadboard 221\u003c\/p\u003e \u003cp\u003eStripboards and Prototyping Boards 221\u003c\/p\u003e \u003cp\u003ePCB Manufacturing 222\u003c\/p\u003e \u003cp\u003eGetting the Best Tools 222\u003c\/p\u003e \u003cp\u003eWire Cutters\/Strippers 222\u003c\/p\u003e \u003cp\u003eMultimeters 222\u003c\/p\u003e \u003cp\u003eSoldering Irons 222\u003c\/p\u003e \u003cp\u003eHardware Needed for this Chapter 223\u003c\/p\u003e \u003cp\u003eThe First Circuit 224\u003c\/p\u003e \u003cp\u003eProtecting Your Pi 228\u003c\/p\u003e \u003cp\u003ePower Limits 229\u003c\/p\u003e \u003cp\u003eGetting Input 229\u003c\/p\u003e \u003cp\u003eExpanding the GPIO Options with I2C, SPI, and Serial 231\u003c\/p\u003e \u003cp\u003eThe SPI Communications Protocol 231\u003c\/p\u003e \u003cp\u003eThe I2C Communications Protocol 235\u003c\/p\u003e \u003cp\u003eThe Serial Communications Protocol 236\u003c\/p\u003e \u003cp\u003eTaking the Example Further 236\u003c\/p\u003e \u003cp\u003eArduino 236\u003c\/p\u003e \u003cp\u003ePiFace 237\u003c\/p\u003e \u003cp\u003eGertboard 237\u003c\/p\u003e \u003cp\u003eWireless Inventor’s Kit 238\u003c\/p\u003e \u003cp\u003eTrying Some Popular Projects 238\u003c\/p\u003e \u003cp\u003eRobots 238\u003c\/p\u003e \u003cp\u003eHome Automation 239\u003c\/p\u003e \u003cp\u003eBurglar Alarms 239\u003c\/p\u003e \u003cp\u003eDigital Art 239\u003c\/p\u003e \u003cp\u003eSummary 239\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 12 Testing and Debugging 241\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eInvestigating Bugs by Printing Out the Values 241\u003c\/p\u003e \u003cp\u003eFinding Bugs by Testing 245\u003c\/p\u003e \u003cp\u003eChecking Bits of Code with Unit Tests 245\u003c\/p\u003e \u003cp\u003eGetting More Assertive 250\u003c\/p\u003e \u003cp\u003eUsing Test Suites for Regression Testing 252\u003c\/p\u003e \u003cp\u003eTesting the Whole Package 253\u003c\/p\u003e \u003cp\u003eMaking Sure Your Software’s Usable 254\u003c\/p\u003e \u003cp\u003eHow Much Should You Test? 254\u003c\/p\u003e \u003cp\u003eSummary 255\u003c\/p\u003e \u003cp\u003eIndex 257\u003c\/p\u003e  \u003cp\u003e\"An excellent book for beginners to both the Raspberry Pi and the Python Language.\" (\u003cem\u003eLinux Voice,\u003c\/em\u003e June 2014) \u003c\/p\u003e\u003cp\u003e\"... I'd fully recommend the book to anyone wanting to get into Python.... This is great for beginners to the language and for those seeking to go deeper into some of the available libraries. Congratulations??should go out to the authors on the creation of a great resource.\" (\u003cem\u003eRaspberry Pi Pod,\u003c\/em\u003e June 2014)  \u003c\/p\u003e\u003cp\u003e\u003cb\u003eAlex Bradbury (Cambridge, UK)\u003c\/b\u003e is the Lead Software Developer on the Raspberry Pi.\u003c\/p\u003e \u003cp\u003e\u003cb\u003eRussel Winder (London, UK)\u003c\/b\u003e was Professor of Computer Science at Kings College London and is the co-author of several tech books, including Developing Java Software and Python for Rookies. He lectures on Python at Skills Matter.\u003c\/p\u003e","brand":"Wiley","offers":[{"title":"Default Title","offer_id":47989522006245,"sku":"NP9781118717059","price":34.0,"currency_code":"USD","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1842\/7735\/files\/9781118717059.jpg?v=1761784444","url":"https:\/\/k12savings.com\/es\/products\/learning-python-with-raspberry-pi-isbn-9781118717059","provider":"K12savings","version":"1.0","type":"link"}