Algorithmic Thinking

Algorithmic Thinking
Author: Daniel Zingaro
Publsiher: No Starch Press
Total Pages: 409
Release: 2020-12-15
Genre: Computers
ISBN: 9781718500815

Download Algorithmic Thinking Book in PDF, Epub and Kindle

A hands-on, problem-based introduction to building algorithms and data structures to solve problems with a computer. Algorithmic Thinking will teach you how to solve challenging programming problems and design your own algorithms. Daniel Zingaro, a master teacher, draws his examples from world-class programming competitions like USACO and IOI. You'll learn how to classify problems, choose data structures, and identify appropriate algorithms. You'll also learn how your choice of data structure, whether a hash table, heap, or tree, can affect runtime and speed up your algorithms; and how to adopt powerful strategies like recursion, dynamic programming, and binary search to solve challenging problems. Line-by-line breakdowns of the code will teach you how to use algorithms and data structures like: The breadth-first search algorithm to find the optimal way to play a board game or find the best way to translate a book Dijkstra's algorithm to determine how many mice can exit a maze or the number of fastest routes between two locations The union-find data structure to answer questions about connections in a social network or determine who are friends or enemies The heap data structure to determine the amount of money given away in a promotion The hash-table data structure to determine whether snowflakes are unique or identify compound words in a dictionary NOTE: Each problem in this book is available on a programming-judge website. You'll find the site's URL and problem ID in the description. What's better than a free correctness check?

Think Like a Programmer

Think Like a Programmer
Author: V. Anton Spraul
Publsiher: No Starch Press
Total Pages: 260
Release: 2012-08-12
Genre: Computers
ISBN: 9781593274566

Download Think Like a Programmer Book in PDF, Epub and Kindle

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.

Head First Learn to Code

Head First Learn to Code
Author: Eric Freeman
Publsiher: "O'Reilly Media, Inc."
Total Pages: 1033
Release: 2018-01-02
Genre: Computers
ISBN: 9781491958810

Download Head First Learn to Code Book in PDF, Epub and Kindle

What will you learn from this book? Itâ??s no secret the world around you is becoming more connected, more configurable, more programmable, more computational. You can remain a passive participant, or you can learn to code. With Head First Learn to Code youâ??ll learn how to think computationally and how to write code to make your computer, mobile device, or anything with a CPU do things for you. Using the Python programming language, youâ??ll learn step by step the core concepts of programming as well as many fundamental topics from computer science, such as data structures, storage, abstraction, recursion, and modularity. Why does this book look so different? Based on the latest research in cognitive science and learning theory, Head First Learn to Code uses a visually rich format to engage your mind, rather than a text-heavy approach that puts you to sleep. Why waste your time struggling with new concepts? This multi-sensory learning experience is designed for the way your brain really works.

The Big Book of Small Python Projects

The Big Book of Small Python Projects
Author: Al Sweigart
Publsiher: No Starch Press
Total Pages: 433
Release: 2021-06-25
Genre: Computers
ISBN: 9781718501249

Download The Big Book of Small Python Projects Book in PDF, Epub and Kindle

Best-selling author Al Sweigart shows you how to easily build over 80 fun programs with minimal code and maximum creativity. If you’ve mastered basic Python syntax and you’re ready to start writing programs, you’ll find The Big Book of Small Python Projects both enlightening and fun. This collection of 81 Python projects will have you making digital art, games, animations, counting pro- grams, and more right away. Once you see how the code works, you’ll practice re-creating the programs and experiment by adding your own custom touches. These simple, text-based programs are 256 lines of code or less. And whether it’s a vintage screensaver, a snail-racing game, a clickbait headline generator, or animated strands of DNA, each project is designed to be self-contained so you can easily share it online. You’ll create: • Hangman, Blackjack, and other games to play against your friends or the computer • Simulations of a forest fire, a million dice rolls, and a Japanese abacus • Animations like a virtual fish tank, a rotating cube, and a bouncing DVD logo screensaver • A first-person 3D maze game • Encryption programs that use ciphers like ROT13 and Vigenère to conceal text If you’re tired of standard step-by-step tutorials, you’ll love the learn-by-doing approach of The Big Book of Small Python Projects. It’s proof that good things come in small programs!

Programming for the Puzzled

Programming for the Puzzled
Author: Srini Devadas
Publsiher: MIT Press
Total Pages: 273
Release: 2017-11-16
Genre: Computers
ISBN: 9780262343190

Download Programming for the Puzzled Book in PDF, Epub and Kindle

Learning programming with one of “the coolest applications around”: algorithmic puzzles ranging from scheduling selfie time to verifying the six degrees of separation hypothesis. This book builds a bridge between the recreational world of algorithmic puzzles (puzzles that can be solved by algorithms) and the pragmatic world of computer programming, teaching readers to program while solving puzzles. Few introductory students want to program for programming's sake. Puzzles are real-world applications that are attention grabbing, intriguing, and easy to describe. Each lesson starts with the description of a puzzle. After a failed attempt or two at solving the puzzle, the reader arrives at an Aha! moment—a search strategy, data structure, or mathematical fact—and the solution presents itself. The solution to the puzzle becomes the specification of the code to be written. Readers will thus know what the code is supposed to do before seeing the code itself. This represents a pedagogical philosophy that decouples understanding the functionality of the code from understanding programming language syntax and semantics. Python syntax and semantics required to understand the code are explained as needed for each puzzle. Readers need only the rudimentary grasp of programming concepts that can be obtained from introductory or AP computer science classes in high school. The book includes more than twenty puzzles and more than seventy programming exercises that vary in difficulty. Many of the puzzles are well known and have appeared in publications and on websites in many variations. They range from scheduling selfie time with celebrities to solving Sudoku problems in seconds to verifying the six degrees of separation hypothesis. The code for selected puzzle solutions is downloadable from the book's website; the code for all puzzle solutions is available to instructors.

Real World Python

Real World Python
Author: Lee Vaughan
Publsiher: No Starch Press
Total Pages: 361
Release: 2020-11-10
Genre: Computers
ISBN: 9781718500631

Download Real World Python Book in PDF, Epub and Kindle

A project-based approach to learning Python programming for beginners. Intriguing projects teach you how to tackle challenging problems with code. You've mastered the basics. Now you're ready to explore some of Python's more powerful tools. Real-World Python will show you how. Through a series of hands-on projects, you'll investigate and solve real-world problems using sophisticated computer vision, machine learning, data analysis, and language processing tools. You'll be introduced to important modules like OpenCV, NumPy, Pandas, NLTK, Bokeh, Beautiful Soup, Requests, HoloViews, Tkinter, turtle, matplotlib, and more. You'll create complete, working programs and think through intriguing projects that show you how to: Save shipwrecked sailors with an algorithm designed to prove the existence of God Detect asteroids and comets moving against a starfield Program a sentry gun to shoot your enemies and spare your friends Select landing sites for a Mars probe using real NASA maps Send unbreakable messages based on a book code Survive a zombie outbreak using data science Discover exoplanets and alien megastructures orbiting distant stars Test the hypothesis that we're all living in a computer simulation And more! If you're tired of learning the bare essentials of Python Programming with isolated snippets of code, you'll relish the relevant and geeky fun of Real-World Python!

Learn Python 3 the Hard Way

Learn Python 3 the Hard Way
Author: Zed A. Shaw
Publsiher: Addison-Wesley Professional
Total Pages: 752
Release: 2017-06-26
Genre: Computers
ISBN: 9780134693903

Download Learn Python 3 the Hard Way Book in PDF, Epub and Kindle

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

Learn Python the Hard Way

Learn Python the Hard Way
Author: Zed A. Shaw
Publsiher: Addison-Wesley
Total Pages: 308
Release: 2013-09-27
Genre: Computers
ISBN: 9780133124347

Download Learn Python the Hard Way Book in PDF, Epub and Kindle

You Will Learn Python! Zed Shaw has perfected the world's best system for learning Python. 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 Python the Hard Way, Third Edition, 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 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 Python software of your own: Installing a complete Python environment Organizing and writing code Basic mathematics Variables Strings and text Interacting with users Working 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 Debugging 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 tutorial 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. Watch Zed, too! The accompanying DVD contains 5+ hours of passionate, powerful teaching: a complete Python video course!