Etudes for Programmers

Etudes for Programmers

Author: Charles Wetherell

Publisher: Prentice Hall

Published: 1978

Total Pages: 220

ISBN-13:

DOWNLOAD EBOOK

A collection of large—scale problems for “learning by doing.” With detailed and careful analysis of the real world situations surrounding common programming problems. -- Back cover.


Invent Your Own Computer Games with Python, 4th Edition

Invent Your Own Computer Games with Python, 4th Edition

Author: Al Sweigart

Publisher: No Starch Press

Published: 2016-12-16

Total Pages: 377

ISBN-13: 1593277954

DOWNLOAD EBOOK

Invent Your Own Computer Games with Python will teach you how to make computer games using the popular Python programming language—even if you’ve never programmed before! Begin by building classic games like Hangman, Guess the Number, and Tic-Tac-Toe, and then work your way up to more advanced games, like a text-based treasure hunting game and an animated collision-dodging game with sound effects. Along the way, you’ll learn key programming and math concepts that will help you take your game programming to the next level. Learn how to: –Combine loops, variables, and flow control statements into real working programs –Choose the right data structures for the job, such as lists, dictionaries, and tuples –Add graphics and animation to your games with the pygame module –Handle keyboard and mouse input –Program simple artificial intelligence so you can play against the computer –Use cryptography to convert text messages into secret code –Debug your programs and find common errors As you work through each game, you’ll build a solid foundation in Python and an understanding of computer science fundamentals. What new game will you create with the power of Python? The projects in this book are compatible with Python 3.


Learn to Program

Learn to Program

Author: Chris Pine

Publisher: Pragmatic Bookshelf

Published: 2021-06-17

Total Pages: 317

ISBN-13: 1680508725

DOWNLOAD EBOOK

It's easier to learn how to program a computer than it has ever been before. Now everyone can learn to write programs for themselves - no previous experience is necessary. Chris Pine takes a thorough, but lighthearted approach that teaches you the fundamentals of computer programming, with a minimum of fuss or bother. Whether you are interested in a new hobby or a new career, this book is your doorway into the world of programming. Computers are everywhere, and being able to program them is more important than it has ever been. But since most books on programming are written for other programmers, it can be hard to break in. At least it used to be. Chris Pine will teach you how to program. You'll learn to use your computer better, to get it to do what you want it to do. Starting with small, simple one-line programs to calculate your age in seconds, you'll see how to write interactive programs, to use APIs to fetch live data from the internet, to rename your photos from your digital camera, and more. You'll learn the same technology used to drive modern dynamic websites and large, professional applications. Whether you are looking for a fun new hobby or are interested in entering the tech world as a professional, this book gives you a solid foundation in programming. Chris teaches the basics, but also shows you how to think like a programmer. You'll learn through tons of examples, and through programming challenges throughout the book. When you finish, you'll know how and where to learn more - you'll be on your way. What You Need: All you need to learn how to program is a computer (Windows, macOS, or Linux) and an internet connection. Chris Pine will lead you through setting set up with the software you will need to start writing programs of your own.


Connected Code

Connected Code

Author: Yasmin B. Kafai

Publisher: MIT Press

Published: 2016-09-02

Total Pages: 200

ISBN-13: 026252967X

DOWNLOAD EBOOK

Why every child needs to learn to code: the shift from “computational thinking” to computational participation. Coding, once considered an arcane craft practiced by solitary techies, is now recognized by educators and theorists as a crucial skill, even a new literacy, for all children. Programming is often promoted in K-12 schools as a way to encourage “computational thinking”—which has now become the umbrella term for understanding what computer science has to contribute to reasoning and communicating in an ever-increasingly digital world. In Connected Code, Yasmin Kafai and Quinn Burke argue that although computational thinking represents an excellent starting point, the broader conception of “computational participation” better captures the twenty-first-century reality. Computational participation moves beyond the individual to focus on wider social networks and a DIY culture of digital “making.” Kafai and Burke describe contemporary examples of computational participation: students who code not for the sake of coding but to create games, stories, and animations to share; the emergence of youth programming communities; the practices and ethical challenges of remixing (rather than starting from scratch); and the move beyond stationary screens to programmable toys, tools, and textiles.


Learning to Program

Learning to Program

Author: Steven Foote

Publisher: Pearson Education

Published: 2014

Total Pages: 336

ISBN-13: 0789753391

DOWNLOAD EBOOK

Learning to Program will help students build a solid foundation in programming that can prepare them to achieve just about any programming goal. Whether they want to become a professional software programmer, learn how to more effectively communicate with programmers, or are just curious about how programming works, this book is a great first step in helping to get there.


Get Programming

Get Programming

Author: Ana Bell

Publisher: Simon and Schuster

Published: 2018-03-27

Total Pages: 645

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


Beyond Coding

Beyond Coding

Author: Marina Umaschi Bers

Publisher: MIT Press

Published: 2022-03-22

Total Pages: 230

ISBN-13: 026254332X

DOWNLOAD EBOOK

Why children should be taught coding not as a technical skill but as a new literacy—a way to express themselves and engage with the world. Today, schools are introducing STEM education and robotics to children in ever-lower grades. In Beyond Coding, Marina Umaschi Bers lays out a pedagogical roadmap for teaching code that encompasses the cultivation of character along with technical knowledge and skills. Presenting code as a universal language, she shows how children discover new ways of thinking, relating, and behaving through creative coding activities. Today’s children will undoubtedly have the technical knowledge to change the world. But cultivating strength of character, socioeconomic maturity, and a moral compass alongside that knowledge, says Bers, is crucial. Bers, a leading proponent of teaching computational thinking and coding as early as preschool and kindergarten, presents examples of children and teachers using the Scratch Jr. and Kibo robotics platforms to make explicit some of the positive values implicit in the process of learning computer science. If we are to do right by our children, our approach to coding must incorporate the elements of a moral education: the use of narrative to explore identity and values, the development of logical thinking to think critically and solve technical and ethical problems, and experiences in the community to enable personal relationships. Through learning the language of programming, says Bers, it is possible for diverse cultural and religious groups to find points of connection, put assumptions and stereotypes behind them, and work together toward a common goal.


Learn Programming

Learn Programming

Author: Antti Salonen

Publisher: Createspace Independent Publishing Platform

Published: 2018-08-17

Total Pages: 490

ISBN-13: 9781722834920

DOWNLOAD EBOOK

This book is aimed at readers who are interested in software development but have very little to no prior experience. The book focuses on teaching the core principles around software development. It uses several technologies to this goal (e.g. C, Python, JavaScript, HTML, etc.) but is not a book about the technologies themselves. The reader will learn the basics (or in some cases more) of various technologies along the way, but the focus is on building a foundation for software development. The book is your guided tour through the programming jungle, aiming to provide some clarity and build the foundation for software development skills. The book web site is https: //progbook.org/


Programming Machine Learning

Programming Machine Learning

Author: Paolo Perrotta

Publisher: Pragmatic Bookshelf

Published: 2020-03-31

Total Pages: 437

ISBN-13: 1680507710

DOWNLOAD EBOOK

You've decided to tackle machine learning - because you're job hunting, embarking on a new project, or just think self-driving cars are cool. But where to start? It's easy to be intimidated, even as a software developer. The good news is that it doesn't have to be that hard. Master machine learning by writing code one line at a time, from simple learning programs all the way to a true deep learning system. Tackle the hard topics by breaking them down so they're easier to understand, and build your confidence by getting your hands dirty. Peel away the obscurities of machine learning, starting from scratch and going all the way to deep learning. Machine learning can be intimidating, with its reliance on math and algorithms that most programmers don't encounter in their regular work. Take a hands-on approach, writing the Python code yourself, without any libraries to obscure what's really going on. Iterate on your design, and add layers of complexity as you go. Build an image recognition application from scratch with supervised learning. Predict the future with linear regression. Dive into gradient descent, a fundamental algorithm that drives most of machine learning. Create perceptrons to classify data. Build neural networks to tackle more complex and sophisticated data sets. Train and refine those networks with backpropagation and batching. Layer the neural networks, eliminate overfitting, and add convolution to transform your neural network into a true deep learning system. Start from the beginning and code your way to machine learning mastery. What You Need: The examples in this book are written in Python, but don't worry if you don't know this language: you'll pick up all the Python you need very quickly. Apart from that, you'll only need your computer, and your code-adept brain.


How to Design Programs, second edition

How to Design Programs, second edition

Author: Matthias Felleisen

Publisher: MIT Press

Published: 2018-05-25

Total Pages: 793

ISBN-13: 0262344122

DOWNLOAD EBOOK

A completely revised edition, offering new design recipes for interactive programs and support for images as plain values, testing, event-driven programming, and even distributed programming. This introduction to programming places computer science at the core of a liberal arts education. Unlike other introductory books, it focuses on the program design process, presenting program design guidelines that show the reader how to analyze a problem statement, how to formulate concise goals, how to make up examples, how to develop an outline of the solution, how to finish the program, and how to test it. Because learning to design programs is about the study of principles and the acquisition of transferable skills, the text does not use an off-the-shelf industrial language but presents a tailor-made teaching language. For the same reason, it offers DrRacket, a programming environment for novices that supports playful, feedback-oriented learning. The environment grows with readers as they master the material in the book until it supports a full-fledged language for the whole spectrum of programming tasks. This second edition has been completely revised. While the book continues to teach a systematic approach to program design, the second edition introduces different design recipes for interactive programs with graphical interfaces and batch programs. It also enriches its design recipes for functions with numerous new hints. Finally, the teaching languages and their IDE now come with support for images as plain values, testing, event-driven programming, and even distributed programming.