Introduction to Computation and Programming Using Python, second edition

Introduction to Computation and Programming Using Python, second edition

Author: John V. Guttag

Publisher: MIT Press

Published: 2016-08-12

Total Pages: 466

ISBN-13: 0262529629

DOWNLOAD EBOOK

The new edition of an introductory text that teaches students the art of computational problem solving, covering topics ranging from simple algorithms to information visualization. This book introduces students with little or no prior programming experience to the art of computational problem solving using Python and various Python libraries, including PyLab. It provides students with skills that will enable them to make productive use of computational techniques, including some of the tools and techniques of data science for using computation to model and interpret data. The book is based on an MIT course (which became the most popular course offered through MIT's OpenCourseWare) and was developed for use not only in a conventional classroom but in in a massive open online course (MOOC). This new edition has been updated for Python 3, reorganized to make it easier to use for courses that cover only a subset of the material, and offers additional material including five new chapters. Students are introduced to Python and the basics of programming in the context of such computational concepts and techniques as exhaustive enumeration, bisection search, and efficient approximation algorithms. Although it covers such traditional topics as computational complexity and simple algorithms, the book focuses on a wide range of topics not found in most introductory texts, including information visualization, simulations to model randomness, computational techniques to understand data, and statistical techniques that inform (and misinform) as well as two related but relatively advanced topics: optimization problems and dynamic programming. This edition offers expanded material on statistics and machine learning and new chapters on Frequentist and Bayesian statistics.


The Practical Handbook of Internet Computing

The Practical Handbook of Internet Computing

Author: Munindar P. Singh

Publisher: CRC Press

Published: 2004-09-29

Total Pages: 1139

ISBN-13: 0203507223

DOWNLOAD EBOOK

The Practical Handbook of Internet Computing analyzes a broad array of technologies and concerns related to the Internet, including corporate intranets. Fresh and insightful articles by recognized experts address the key challenges facing Internet users, designers, integrators, and policymakers. In addition to discussing major applications, it also


A Gentle Introduction to Effective Computing in Quantitative Research

A Gentle Introduction to Effective Computing in Quantitative Research

Author: Harry J. Paarsch

Publisher: MIT Press

Published: 2016-05-06

Total Pages: 777

ISBN-13: 0262333996

DOWNLOAD EBOOK

A practical guide to using modern software effectively in quantitative research in the social and natural sciences. This book offers a practical guide to the computational methods at the heart of most modern quantitative research. It will be essential reading for research assistants needing hands-on experience; students entering PhD programs in business, economics, and other social or natural sciences; and those seeking quantitative jobs in industry. No background in computer science is assumed; a learner need only have a computer with access to the Internet. Using the example as its principal pedagogical device, the book offers tried-and-true prototypes that illustrate many important computational tasks required in quantitative research. The best way to use the book is to read it at the computer keyboard and learn by doing. The book begins by introducing basic skills: how to use the operating system, how to organize data, and how to complete simple programming tasks. For its demonstrations, the book uses a UNIX-based operating system and a set of free software tools: the scripting language Python for programming tasks; the database management system SQLite; and the freely available R for statistical computing and graphics. The book goes on to describe particular tasks: analyzing data, implementing commonly used numerical and simulation methods, and creating extensions to Python to reduce cycle time. Finally, the book describes the use of LaTeX, a document markup language and preparation system.


Deep Learning for Coders with fastai and PyTorch

Deep Learning for Coders with fastai and PyTorch

Author: Jeremy Howard

Publisher: O'Reilly Media

Published: 2020-06-29

Total Pages: 624

ISBN-13: 1492045497

DOWNLOAD EBOOK

Deep learning is often viewed as the exclusive domain of math PhDs and big tech companies. But as this hands-on guide demonstrates, programmers comfortable with Python can achieve impressive results in deep learning with little math background, small amounts of data, and minimal code. How? With fastai, the first library to provide a consistent interface to the most frequently used deep learning applications. Authors Jeremy Howard and Sylvain Gugger, the creators of fastai, show you how to train a model on a wide range of tasks using fastai and PyTorch. You’ll also dive progressively further into deep learning theory to gain a complete understanding of the algorithms behind the scenes. Train models in computer vision, natural language processing, tabular data, and collaborative filtering Learn the latest deep learning techniques that matter most in practice Improve accuracy, speed, and reliability by understanding how deep learning models work Discover how to turn your models into web applications Implement deep learning algorithms from scratch Consider the ethical implications of your work Gain insight from the foreword by PyTorch cofounder, Soumith Chintala


Introduction to Numerical Programming

Introduction to Numerical Programming

Author: Titus A. Beu

Publisher: CRC Press

Published: 2014-09-03

Total Pages: 676

ISBN-13: 1466569670

DOWNLOAD EBOOK

Makes Numerical Programming More Accessible to a Wider Audience Bearing in mind the evolution of modern programming, most specifically emergent programming languages that reflect modern practice, Numerical Programming: A Practical Guide for Scientists and Engineers Using Python and C/C++ utilizes the author’s many years of practical research and teaching experience to offer a systematic approach to relevant programming concepts. Adopting a practical, broad appeal, this user-friendly book offers guidance to anyone interested in using numerical programming to solve science and engineering problems. Emphasizing methods generally used in physics and engineering—from elementary methods to complex algorithms—it gradually incorporates algorithmic elements with increasing complexity. Develop a Combination of Theoretical Knowledge, Efficient Analysis Skills, and Code Design Know-How The book encourages algorithmic thinking, which is essential to numerical analysis. Establishing the fundamental numerical methods, application numerical behavior and graphical output needed to foster algorithmic reasoning, coding dexterity, and a scientific programming style, it enables readers to successfully navigate relevant algorithms, understand coding design, and develop efficient programming skills. The book incorporates real code, and includes examples and problem sets to assist in hands-on learning. Begins with an overview on approximate numbers and programming in Python and C/C++, followed by discussion of basic sorting and indexing methods, as well as portable graphic functionality Contains methods for function evaluation, solving algebraic and transcendental equations, systems of linear algebraic equations, ordinary differential equations, and eigenvalue problems Addresses approximation of tabulated functions, regression, integration of one- and multi-dimensional functions by classical and Gaussian quadratures, Monte Carlo integration techniques, generation of random variables, discretization methods for ordinary and partial differential equations, and stability analysis This text introduces platform-independent numerical programming using Python and C/C++, and appeals to advanced undergraduate and graduate students in natural sciences and engineering, researchers involved in scientific computing, and engineers carrying out applicative calculations.


But how Do it Know?

But how Do it Know?

Author: J. Clark Scott

Publisher: John C Scott

Published: 2009

Total Pages: 223

ISBN-13: 0615303765

DOWNLOAD EBOOK

This book thoroughly explains how computers work. It starts by fully examining a NAND gate, then goes on to build every piece and part of a small, fully operational computer. The necessity and use of codes is presented in parallel with the apprioriate pieces of hardware. The book can be easily understood by anyone whether they have a technical background or not. It could be used as a textbook.


Code

Code

Author: Charles Petzold

Publisher: Microsoft Press

Published: 2022-08-02

Total Pages: 563

ISBN-13: 0137909292

DOWNLOAD EBOOK

The classic guide to how computers work, updated with new chapters and interactive graphics "For me, Code was a revelation. It was the first book about programming that spoke to me. It started with a story, and it built up, layer by layer, analogy by analogy, until I understood not just the Code, but the System. Code is a book that is as much about Systems Thinking and abstractions as it is about code and programming. Code teaches us how many unseen layers there are between the computer systems that we as users look at every day and the magical silicon rocks that we infused with lightning and taught to think." - Scott Hanselman, Partner Program Director, Microsoft, and host of Hanselminutes Computers are everywhere, most obviously in our laptops and smartphones, but also our cars, televisions, microwave ovens, alarm clocks, robot vacuum cleaners, and other smart appliances. Have you ever wondered what goes on inside these devices to make our lives easier but occasionally more infuriating? For more than 20 years, readers have delighted in Charles Petzold's illuminating story of the secret inner life of computers, and now he has revised it for this new age of computing. Cleverly illustrated and easy to understand, this is the book that cracks the mystery. You'll discover what flashlights, black cats, seesaws, and the ride of Paul Revere can teach you about computing, and how human ingenuity and our compulsion to communicate have shaped every electronic device we use. This new expanded edition explores more deeply the bit-by-bit and gate-by-gate construction of the heart of every smart device, the central processing unit that combines the simplest of basic operations to perform the most complex of feats. Petzold's companion website, CodeHiddenLanguage.com, uses animated graphics of key circuits in the book to make computers even easier to comprehend. In addition to substantially revised and updated content, new chapters include: Chapter 18: Let's Build a Clock! Chapter 21: The Arithmetic Logic Unit Chapter 22: Registers and Busses Chapter 23: CPU Control Signals Chapter 24: Jumps, Loops, and Calls Chapter 28: The World Brain From the simple ticking of clocks to the worldwide hum of the internet, Code reveals the essence of the digital revolution.


Ethical Digital Technology in Practice

Ethical Digital Technology in Practice

Author: Simon Rogerson

Publisher: CRC Press

Published: 2022-08-04

Total Pages: 275

ISBN-13: 1000628612

DOWNLOAD EBOOK

This is an important book. Ethics is not an easy topic, and arguably the ethics of IT is less so—not leastdue to its potential for developing and evolving in ways that are either unforeseen or unimaginable . . . . Use this book as a practical resource, an informative and educational source of material in developing expertise, but also as an invaluable toolkit to support practical application of ethical thinking. —Declan Brady, President of the Irish Computer Society and a member of the Board of Directors of the Council of European Professional Informatics Societies Digital technology is about people. It is about those who plan, develop and implement applications which other people use and are affected by. It is about the impact on all these people as well as on the world at large. Ethical Digital Technology in Practice takes a real-world perspective to explore these impacts over time and discover ways in which to promote ethical digital technology through good practice. It draws upon the author’s published articles in trade magazines, professional journals and online blogs. These are synthesised into a blueprint which addresses, in a practical manner, the societal issues surrounding the increasing use and abuse of digital technology. It is a follow-up book to the author’s book The Evolving Landscape of Ethical Digital Technology, which has a researcher’s perspective. This book is a hands-on account of the computer revolution from 1995 to the current day when the world is increasingly dependent on digital technology. It explores some of the social and ethical issues that are part of this revolution. This is not a book about deep philosophical and technical concepts. Nor does it claim to be comprehensive. It is the author’s personal account of technological change and its effects on people. It is written by a boy who was smitten by computer technology at the age of 15, became a computer professional and subsequently spent many years showing young people how to develop and use digital technology in a good way. It is a book based upon the author’s engagement with practitioners, academics and students during the period as well as his continued fascination with this fantastic technology. Ethical Digital Technology in Practice is a book about the real world, of what has happened and what might happen as digital technology continues to pervade.


Get Programming

Get Programming

Author: Ana Bell

Publisher: Simon and Schuster

Published: 2018-03-27

Total Pages: 668

ISBN-13: 1638355924

DOWNLOAD EBOOK

Get Programming: Learn to code with Python teaches you the basics of computer programming using the Python language. In this exercise-driven book, you'll be doing something on nearly every page as you work through 38 compact lessons and 7 engaging capstone projects. By exploring the crystal-clear illustrations, exercises that check your understanding as you go, and tips for what to try next, you'll start thinking like a programmer in no time. This book works perfectly alongside our video course Get Programming with Python in Motion, available exclusively at Manning.com: www.manning.com/livevideo/get-programming-with-python-in-motion Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. What's Inside Programming skills you can use in any language Learn to code—no experience required Learn Python, the language for beginners Dozens of exercises and examples help you learn by doing About the Reader No prior programming experience needed. Table of Contents LEARNING HOW TO PROGRAM Lesson 1 - Why should you learn how to program? Lesson 2 - Basic principles of learning a programming language UNIT 1 - VARIABLES, TYPES, EXPRESSIONS, AND STATEMENTS Lesson 3 - Introducing Python: a programming language Lesson 4 - Variables and expressions: giving names and values to things Lesson 5 - Object types and statements of code 46 Lesson 6 - Capstone project: your first Python program-convert hours to minutes UNIT 2 - STRINGS, TUPLES, AND INTERACTING WITH THE USER Lesson 7 - Introducing string objects: sequences of characters Lesson 8 - Advanced string operations Lesson 9 - Simple error messages Lesson 10 - Tuple objects: sequences of any kind of object Lesson 11 - Interacting with the user Lesson 12 - Capstone project: name mashup UNIT 3 - MAKING DECISIONS IN YOUR PROGRAMS Lesson 13 - Introducing decisions in programs Lesson 14 - Making more-complicated decisions Lesson 15 - Capstone project: choose your own adventure UNIT 4 - REPEATING TASKS Lesson 16 - Repeating tasks with loops Lesson 17 - Customizing loops Lesson 18 - Repeating tasks while conditions hold Lesson 19 - Capstone project: Scrabble, Art Edition UNIT 5 - ORGANIZING YOUR CODE INTO REUSABLE BLOCKS Lesson 20 - Building programs to last Lesson 21 - Achieving modularity and abstraction with functions Lesson 22 - Advanced operations with functions Lesson 23 - Capstone project: analyze your friends UNIT 6 - WORKING WITH MUTABLE DATA TYPES Lesson 24 - Mutable and immutable objects Lesson 25 - Working with lists Lesson 26 - Advanced operations with lists Lesson 27 - Dictionaries as maps between objects Lesson 28 - Aliasing and copying lists and dictionaries Lesson 29 - Capstone project: document similarity UNIT 7 - MAKING YOUR OWN OBJECT TYPES BY USING OBJECT-ORIENTED PROGRAMMING Lesson 30 - Making your own object types Lesson 31 - Creating a class for an object type Lesson 32 - Working with your own object types Lesson 33 - Customizing classes Lesson 34 - Capstone project: card game UNIT 8 - USING LIBRARIES TO ENHANCE YOUR PROGRAMS Lesson 35 - Useful libraries Lesson 36 - Testing and debugging your programs Lesson 37 - A library for graphical user interfaces Lesson 38 - Capstone project: game of tag Appendix A - Answers to lesson exercises Appendix B - Python cheat sheet Appendix C - Interesting Python libraries