Crash Course: A Hands-On, Project-Based Introduction to Programming

It is a fast-paced, thorough introduction to programming 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 it’s super-handy libraries, and a simple web app you can deploy online. As you work through the Crash Course, you’ll learn how to: Use powerful the language libraries and tools, including matplotlib, NumPy, and PygalMake 2D games that respond to keypresses and mouse clicks, and that grow more difficult as the game progresses…
Automate the Boring Stuff: Practical Programming for Total Beginners

If you’ve ever spent hours renaming files or updating hundreds of spreadsheet cells, you know how tedious tasks like these can be. But what if you could have your computer do them for you?In Automate the Boring Stuff, you’ll learn how to use the programming language to write programs that do in minutes what would take you hours to do by hand—no prior programming experience required. Once you’ve mastered the basics of programming, you’ll create programs that effortlessly perform useful and impressive feats of automation to:Search for text in a file or across multiple filesCreate, update, move, and rename files and foldersSearch the Web and download online contentUpdate and format data in Excel spreadsheets of any sizeSplit, merge, watermark, and encrypt PDFsSend reminder emails and text notificationsFill out online formsStep-by-step instructions walk you through each program, and practice projects at the end of each chapter challenge you to improve those programs…
for Kids: A Playful Introduction to Programming

For Kids Aged 10+ (And Their Parents)The code in this book runs on almost anything: Windows, Mac, Linux, even an OLPC laptop or Raspberry Pi! It is a powerful, expressive programming language that’s easy to learn and fun to use! But books about learning to program can be kind of dull, gray, and boring, and that’s no fun for anyone. for Kids brings the language to life and brings you (and your parents) into the world of programming. The ever-patient Jason R. Briggs will guide you through the basics as you experiment with unique (and often hilarious) example programs that feature ravenous monsters, secret agents, thieving ravens, and more. New terms are defined; code is colored, dissected, and explained; and quirky, full-color illustrations keep things on the lighter side.Chapters end with programming puzzles designed to stretch your brain and strengthen your understanding. By the end of the book you’ll have programmed two complete games: a clone of the famous Pong…
Learning Python, 5th Edition

Get a comprehensive, in-depth introduction to the core language with this hands-on book. Based on author Mark Lutz’s popular training course, this updated fifth edition will help you quickly write efficient, high-quality code. It’s an ideal way to begin, whether you’re new to programming or a professional developer versed in other languages. Complete with quizzes, exercises, and helpful illustrations, this easy-to-follow, self-paced tutorial gets you started with both version 2.7 and 3.3 — the latest releases in the 3.X and 2.X lines—plus all other releases in common use today. You’ll also learn some advanced language features that recently have become more common in code. Explore the major built-in object types such as numbers, lists, and dictionaries. Create and process objects with statements, and learn it’s general syntax model. Use functions to avoid code redundancy and package code for reuse. Organize statements, functions, and other tools into larger components with modules. Dive into classes…
Data Science from Scratch: First Principles

Data science libraries, frameworks, modules, and toolkits are great for doing data science, but they’re also a good way to dive into the discipline without actually understanding data science. In this book, you’ll learn how many of the most fundamental data science tools and algorithms work by implementing them from scratch. If you have an aptitude for mathematics and some programming skills, author Joel Grus will help you get comfortable with the math and statistics at the core of data science, and with hacking skills you need to get started as a data scientist. Today’s messy glut of data holds answers to questions no one’s even thought to ask. This book provides you with the know-how to dig those answers out. Get a crash course. Learn the basics of linear algebra, statistics, and probability—and understand how and when they’re used in data science. Collect, explore, clean, munge, and manipulate data. Dive into the fundamentals of machine learning. Implement models…
Programming: An Introduction to Computer Science

This is the second edition of John Zelle’s reading, updated for version 3. This book is designed to be used as the primary textbook in a college-level first course in computing. It takes a fairly traditional approach, emphasizing problem solving, design, and programming as the core skills of computer science. However, these ideas are illustrated using a non-traditional language. Although it is used as the language, teaching it is not the main point of this book. Rather, it is used to illustrate fundamental principles of design and programming that apply in any language or computing environment. In some places, I have purposely avoided certain features and idioms that are not generally found in other languages…
Elements of Programming Interviews: The Insiders’ Guide

Before you buy this book, please first head over to our sample page. The sampler should give you a very good idea of the quality and style of our book. In particular, be sure you are comfortable with the level and with our coding style. Solutions include code snippets. Since different candidates have different time constraints, EPI includes a study guide with several scenarios, ranging from weekend Hackathon to semester long preparation with a recommended a subset of problems for each scenario. All problems are classified in terms of their difficulty level and include many variants to help you apply what you have learned more widely…
for Data Analysis: Data Wrangling with Pandas, NumPy, and IPython

It is concerned with the nuts and bolts of manipulating, processing, cleaning, and crunching data. It is also a practical, modern introduction to scientific computing, tailored for data-intensive applications. This is a book about the parts of the language and libraries you’ll need to effectively solve a broad set of data analysis problems. This book is not an exposition on analytical methods as the implementation language. Written by Wes McKinney, the main author of the pandas library, this hands-on book is packed with practical cases studies. It’s ideal for analysts newbies and for programmers new to scientific computing. Use the interactive shell as your primary development environment. Learn basic and advanced NumPy features. Get started with data analysis tools in the pandas libraryUse high-performance tools to load, clean, transform, merge, and reshape…
Fluent: Clear, Concise, and Effective Programming

It’s simplicity lets you become productive quickly, but this often means you aren’t using everything it has to offer. With this hands-on guide, you’ll learn how to write effective, idiomatic code by leveraging its best—and possibly most neglected—features. Author Luciano Ramalho takes you through the core language features and libraries, and shows you how to make your code shorter, faster, and more readable at the same time. Many experienced programmers try to bend it to fit patterns they learned from other languages, and never discover the features outside of their experience. With this book, those programmers will thoroughly learn how to become proficient in version 3. This book covers: The data model: understand how special methods are the key to the consistent behavior of objects. Data structures: take full advantage of built-in types, and understand the text vs bytes duality in the Unicode age. Functions as objects: view functions as first-class objects…
Learn the Hard Way: A Very Simple Introduction to the Terrifyingly Beautiful World of Computers and Code (3rd Edition)

You Will Learn it! Zed Shaw has perfected the world’s best system for learning the language. Follow it and you will succeed-just like the hundreds of thousands of beginners Zed has taught to date! You bring the discipline, commitment, and persistence; the author supplies everything else. In Learn the Hard Way, Third Edition, you’ll learn it 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 software works; what good programs look like; how to read, write, and think about code; and how to find and fix your mistakes using tricks professional programmers use. Most importantly, you’ll learn the following, which you need to start writing excellent software of your own: Installing a complete environment; Organizing and writing code; Basic mathematics; Variables, Strings and text…