The Little Book of Algorithms 2.0: A Workbook to Develop Fluency in Python Programming


Book Description

This workbook is designed to help those learning and teaching Computer Science at secondary school level. The aim of the book is to help students build fluency in their Python programming. The book would suit students who have already been introduced to the three basic programming constructs of structured programming, namely sequence, selection and iteration. The learning curve for programming can be quite steep and this book aims to ease this transition by encouraging practise and gradually introducing more complex concepts such as lists and 2D lists and file writing. Originally, the book was written for 14-16 year old students studying for their GCSE Computer Science programming exam. However, a wide range of students and teachers will find this book useful.The Little Book of Algorithms concisely presents eighteen problems which computer science students will commonly encounter. These problems are solved efficiently using programs written using Python. However, reading these programs is not enough, so this new version of the book now comes with 48 challenges so that you can apply what you have learnt in various ways: Writing your own programsSolving Parson's puzzlesCompleting quizzes Tracing Gap fillsThis range of exercises will help you to become more fluent in Python and ensure that you are comfortable with any question format in a programming exam. Solutions are provided in the back and a series of video tutorials is also provided so that you can code along with the author, hearing his thought processes as he programs.After finishing this book, you should feel more familiar with: While loops and For loopsConcatenating different data typesUsing procedures and functionsWorking with 1D and 2D lists and arraysFile reading and writing This book will show you how to write better Python programs and will expose you to the key skills that are required to do well in any secondary school programming assignment or exa




The Little Book of Julia Algorithms


Book Description

Targeted at middle and high school programmers, this book aims to explain basic computer science concepts while teaching the Julia programming language. As a fast and productive high level language, Julia is ideal for beginner programmers. The learning curve for programming can be quite steep and this book aims to ease this transition by encouraging practise and gradually introducing more complex concepts. The book contains 50 programming challenges that encourages the reader to write their own programs. The solutions to all challenges are given at the end of the book. This book will make readers comfortable with using computers to solve any problems, and leave them well prepared for more significant programming in their maths, science or computer science courses at college. After finishing the exercises in this book, the reader should feel more familiar with: Loops and conditionals, Structuring code with functions, Reading and writing files, Installing and using packages, Sorting and searching, and Simple Statistics and Plotting. With a foreword by Jeff Bezanson, co-creator of the Julia programming language.




The Constitution of Algorithms


Book Description

A laboratory study that investigates how algorithms come into existence. Algorithms--often associated with the terms big data, machine learning, or artificial intelligence--underlie the technologies we use every day, and disputes over the consequences, actual or potential, of new algorithms arise regularly. In this book, Florian Jaton offers a new way to study computerized methods, providing an account of where algorithms come from and how they are constituted, investigating the practical activities by which algorithms are progressively assembled rather than what they may suggest or require once they are assembled.




Tanmay Teaches Julia for Beginners: A Springboard to Machine Learning for All Ages


Book Description

Publisher's Note: Products purchased from Third Party sellers are not guaranteed by the publisher for quality, authenticity, or access to any online entitlements included with the product. A quick guide to start writing your own fun and useful Julia apps—no prior experience required! This engaging guide shows, step by step, how to build custom programs using Julia, the open-source, intuitive scripting language. Written by 15-year-old technology phenom Tanmay Bakshi, the book is presented in an accessible style that makes learning easy and enjoyable. Tanmay Teaches Julia for Beginners: A Springboard to Machine Learning for All Ages clearly explains the basics of Julia programming and takes a look at cutting-edge machine learning applications. You will also discover how to interface your Julia apps with code written in Python. Inside, you’ll learn to: • Set up and configure your Julia environment • Get up and running writing your own Julia apps • Define variables and use them in your programs • Use conditions, iterations, for-loops, and while-loops • Create, go through, and modify arrays • Build an app to manage things you lend and get back from your friends • Create and utilize dictionaries • Simplify maintenance of your code using functions • Apply functions on arrays and use functions recursively and generically • Understand and program basic machine learning apps




The Algorithm Design Manual


Book Description

This newly expanded and updated second edition of the best-selling classic continues to take the "mystery" out of designing algorithms, and analyzing their efficacy and efficiency. Expanding on the first edition, the book now serves as the primary textbook of choice for algorithm design courses while maintaining its status as the premier practical reference guide to algorithms for programmers, researchers, and students. The reader-friendly Algorithm Design Manual provides straightforward access to combinatorial algorithms technology, stressing design over analysis. The first part, Techniques, provides accessible instruction on methods for designing and analyzing computer algorithms. The second part, Resources, is intended for browsing and reference, and comprises the catalog of algorithmic resources, implementations and an extensive bibliography. NEW to the second edition: • Doubles the tutorial material and exercises over the first edition • Provides full online support for lecturers, and a completely updated and improved website component with lecture slides, audio and video • Contains a unique catalog identifying the 75 algorithmic problems that arise most often in practice, leading the reader down the right path to solve them • Includes several NEW "war stories" relating experiences from real-world applications • Provides up-to-date links leading to the very best algorithm implementations available in C, C++, and Java




Python Workout


Book Description

The only way to master a skill is to practice. In Python Workout, author Reuven M. Lerner guides you through 50 carefully selected exercises that invite you to flex your programming muscles. As you take on each new challenge, you’ll build programming skill and confidence. Summary The only way to master a skill is to practice. In Python Workout, author Reuven M. Lerner guides you through 50 carefully selected exercises that invite you to flex your programming muscles. As you take on each new challenge, you’ll build programming skill and confidence. The thorough explanations help you lock in what you’ve learned and apply it to your own projects. Along the way, Python Workout provides over four hours of video instruction walking you through the solutions to each exercise and dozens of additional exercises for you to try on your own. Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. About the technology To become a champion Python programmer you need to work out, building mental muscle with your hands on the keyboard. Each carefully selected exercise in this unique book adds to your Python prowess—one important skill at a time. About the book Python Workout presents 50 exercises that focus on key Python 3 features. In it, expert Python coach Reuven Lerner guides you through a series of small projects, practicing the skills you need to tackle everyday tasks. You’ll appreciate the clear explanations of each technique, and you can watch Reuven solve each exercise in the accompanying videos. What's inside 50 hands-on exercises and solutions Coverage of all Python data types Dozens more bonus exercises for extra practice About the reader For readers with basic Python knowledge. About the author Reuven M. Lerner teaches Python and data science to companies around the world. Table of Contents 1 Numeric types 2 Strings 3 Lists and tuples 4 Dictionaries and sets 5 Files 6 Functions 7 Functional programming with comprehensions 8 Modules and packages 9 Objects 10 Iterators and generators




Python Projects for Beginners


Book Description

Immerse yourself in learning Python and introductory data analytics with this book’s project-based approach. Through the structure of a ten-week coding bootcamp course, you’ll learn key concepts and gain hands-on experience through weekly projects. Each chapter in this book is presented as a full week of topics, with Monday through Thursday covering specific concepts, leading up to Friday, when you are challenged to create a project using the skills learned throughout the week. Topics include Python basics and essential intermediate concepts such as list comprehension, generators and iterators, understanding algorithmic complexity, and data analysis with pandas. From beginning to end, this book builds up your abilities through exercises and challenges, culminating in your solid understanding of Python. Challenge yourself with the intensity of a coding bootcamp experience or learn at your own pace. With this hands-on learning approach, you will gain the skills you need to jumpstart a new career in programming or further your current one as a software developer. What You Will Learn Understand beginning and more advanced concepts of the Python languageBe introduced to data analysis using pandas, the Python Data Analysis libraryWalk through the process of interviewing and answering technical questionsCreate real-world applications with the Python languageLearn how to use Anaconda, Jupyter Notebooks, and the Python Shell Who This Book Is For Those trying to jumpstart a new career into programming, and those already in the software development industry and would like to learn Python programming.




Think Like a Programmer


Book Description

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.




C++17 STL Cookbook


Book Description

Over 90 recipes that leverage the powerful features of the Standard Library in C++17 About This Book Learn the latest features of C++ and how to write better code by using the Standard Library (STL). Reduce the development time for your applications. Understand the scope and power of STL features to deal with real-world problems. Compose your own algorithms without forfeiting the simplicity and elegance of the STL way. Who This Book Is For This book is for intermediate-to-advanced C++ programmers who want to get the most out of the Standard Template Library of the newest version of C++: C++ 17. What You Will Learn Learn about the new core language features and the problems they were intended to solve Understand the inner workings and requirements of iterators by implementing them Explore algorithms, functional programming style, and lambda expressions Leverage the rich, portable, fast, and well-tested set of well-designed algorithms provided in the STL Work with strings the STL way instead of handcrafting C-style code Understand standard support classes for concurrency and synchronization, and how to put them to work Use the filesystem library addition available with the C++17 STL In Detail C++ has come a long way and is in use in every area of the industry. Fast, efficient, and flexible, it is used to solve many problems. The upcoming version of C++ will see programmers change the way they code. If you want to grasp the practical usefulness of the C++17 STL in order to write smarter, fully portable code, then this book is for you. Beginning with new language features, this book will help you understand the language's mechanics and library features, and offers insight into how they work. Unlike other books, ours takes an implementation-specific, problem-solution approach that will help you quickly overcome hurdles. You will learn the core STL concepts, such as containers, algorithms, utility classes, lambda expressions, iterators, and more, while working on practical real-world recipes. These recipes will help you get the most from the STL and show you how to program in a better way. By the end of the book, you will be up to date with the latest C++17 features and save time and effort while solving tasks elegantly using the STL. Style and approach This recipe-based guide will show you how to make the best use of C++ together with the STL to squeeze more out of the standard language




Introduction to Computing


Book Description

Introduction to Computing is a comprehensive text designed for the CS0 (Intro to CS) course at the college level. It may also be used as a primary text for the Advanced Placement Computer Science course at the high school level.