The Self Taught Programmer

The Self Taught Programmer Author Cory Althoff
ISBN-10 1520288174
Year 2017-01-24
Pages 299
Language en

I am a self-taught programmer. After a year of self-study, I learned to program well enough to land a job as a software engineer II at eBay. Once I got there, I realized I was severely under-prepared. I was overwhelmed by the amount of things I needed to know but hadn't learned yet. My journey learning to program, and my experience at my first job as a software engineer were the inspiration for this book. This book is not just about learning to program; although you will learn to code. If you want to program professionally, it is not enough to learn to code; that is why, in addition to helping you learn to program, I also cover the rest of the things you need to know to program professionally that classes and books don't teach you. "The Self-taught Programmer" is a roadmap, a guide to take you from writing your first Python program, to passing your first technical interview. I divided the book into six sections: 1. Learn to program in Python 3 and build your first program. 2. Learn Object-oriented programming and create a powerful Python program to get you hooked. 3. Learn to use tools like Git, Bash, regular expressions and databases. Then use your new coding skills to build a web scraper. 4. Study Computer Science fundamentals including computer architecture, data structures, algorithms and network programming. 5. Learn to program for production: I cover the software development process, testing, and best coding practices.6. Finish with tips for working with a team and landing a programming job.You CAN learn to program professionally. The path is there. Will you take it?


Code Author Charles Petzold
ISBN-10 9780735638723
Year 2000-10-11
Pages 400
Language en
Publisher Microsoft Press

What do flashlights, the British invasion, black cats, and seesaws have to do with computers? In CODE, they show us the ingenious ways we manipulate language and invent new means of communicating with each other. And through CODE, we see how this ingenuity and our very human compulsion to communicate have driven the technological innovations of the past two centuries. Using everyday objects and familiar language systems such as Braille and Morse code, author Charles Petzold weaves an illuminating narrative for anyone who’s ever wondered about the secret inner life of computers and other smart machines. It’s a cleverly illustrated and eminently comprehensible story—and along the way, you’ll discover you’ve gained a real context for understanding today’s world of PCs, digital media, and the Internet. No matter what your level of technical savvy, CODE will charm you—and perhaps even awaken the technophile within.

JavaScript The Definitive Guide

JavaScript  The Definitive Guide Author David Flanagan
ISBN-10 0596554478
Year 2006-08-17
Pages 1032
Language en
Publisher "O'Reilly Media, Inc."

This Fifth Edition is completely revised and expanded to cover JavaScript as it is used in today's Web 2.0 applications. This book is both an example-driven programmer's guide and a keep-on-your-desk reference, with new chapters that explain everything you need to know to get the most out of JavaScript, including: Scripted HTTP and Ajax XML processing Client-side graphics using the canvas tag Namespaces in JavaScript--essential when writing complex programs Classes, closures, persistence, Flash, and JavaScript embedded in Java applications Part I explains the core JavaScript language in detail. If you are new to JavaScript, it will teach you the language. If you are already a JavaScript programmer, Part I will sharpen your skills and deepen your understanding of the language. Part II explains the scripting environment provided by web browsers, with a focus on DOM scripting with unobtrusive JavaScript. The broad and deep coverage of client-side JavaScript is illustrated with many sophisticated examples that demonstrate how to: Generate a table of contents for an HTML document Display DHTML animations Automate form validation Draw dynamic pie charts Make HTML elements draggable Define keyboard shortcuts for web applications Create Ajax-enabled tool tips Use XPath and XSLT on XML documents loaded with Ajax And much more Part III is a complete reference for core JavaScript. It documents every class, object, constructor, method, function, property, and constant defined by JavaScript 1.5 and ECMAScript Version 3. Part IV is a reference for client-side JavaScript, covering legacy web browser APIs, the standard Level 2 DOM API, and emerging standards such as the XMLHttpRequest object and the canvas tag. More than 300,000 JavaScript programmers around the world have madethis their indispensable reference book for building JavaScript applications. "A must-have reference for expert JavaScript programmers...well-organized and detailed." -- Brendan Eich, creator of JavaScript

Beginning Programming All In One Desk Reference For Dummies

Beginning Programming All In One Desk Reference For Dummies Author Wallace Wang
ISBN-10 111805122X
Year 2011-02-08
Pages 720
Language en
Publisher John Wiley & Sons

So you want to be a programmer? Or maybe you just want to be able to make your computer do what YOU want for a change? Maybe you enjoy the challenge of identifying a problem and solving it. If programming intrigues you for whatever reason, Beginning Programming All-In-One Desk Reference For Dummies is like having a starter programming library all in one handy, if beefy, book. In this practical guide, you’ll find out about compiling, algorithms, best practices, debugging your programs, and much more. The concepts are illustrated in several different programming languages, so you’ll get a feel for the variety of languages and the needs they fill. Seven minibooks cover: Getting started Programming basics Data structures Algorithms Web programming Programming language syntax Applications Beginning Programming All-In-One Desk Reference For Dummies shows you how to decide what you want your program to do, turn your instructions into “machine language” that the computer understands, use programming best practices, explore the “how” and “why” of data structuring, and more. You’ll even get a look into various applications like database management, bioinformatics, computer security, and artificial intelligence. Soon you’ll realize that — wow! You’re a programmer! Note: CD-ROM/DVD and other supplementary materials are not included as part of eBook file.

Rapid GUI Programming with Python and Qt

Rapid GUI Programming with Python and Qt Author Mark Summerfield
ISBN-10 0132703068
Year 2007-10-18
Pages 648
Language en
Publisher Pearson Education

Whether you're building GUI prototypes or full-fledged cross-platform GUI applications with native look-and-feel, PyQt 4 is your fastest, easiest, most powerful solution. Qt expert Mark Summerfield has written the definitive best-practice guide to PyQt 4 development. With Rapid GUI Programming with Python and Qt you'll learn how to build efficient GUI applications that run on all major operating systems, including Windows, Mac OS X, Linux, and many versions of Unix, using the same source code for all of them. Summerfield systematically introduces every core GUI development technique: from dialogs and windows to data handling; from events to printing; and more. Through the book's realistic examples you'll discover a completely new PyQt 4-based programming approach, as well as coverage of many new topics, from PyQt 4's rich text engine to advanced model/view and graphics/view programming. Every key concept is illuminated with realistic, downloadable examples–all tested on Windows, Mac OS X, and Linux with Python 2.5, Qt 4.2, and PyQt 4.2, and on Windows and Linux with Qt 4.3 and PyQt 4.3.

Beginning JavaScript

Beginning JavaScript Author Paul Wilton
ISBN-10 9781118057384
Year 2011-01-21
Pages 792
Language en
Publisher John Wiley & Sons

The perennial bestseller returns with new details for using the latest tools and techniques available with JavaScript JavaScript is the definitive language for making the Web a dynamic, rich, interactive medium. This guide to JavaScript builds on the success of previous editions and introduces you to many new advances in JavaScript development. The reorganization of the chapters helps streamline your learning process while new examples provide you with updated JavaScript programming techniques. You'll get all-new coverage of Ajax for remote scripting, JavaScript frameworks, JavaScript and XML, and the latest features in modern Web browsers. Plus, all the featured code has been updated to ensure compliance with the most recent popular Web browsers. Introduces you to the latest capabilities of JavaScript, the definitive language for developing dynamic, rich, interactive Web sites Features new coverage of data types and variables, JavaScript and XML, Ajax for remote scripting, and popular JavaScript frameworks Offers updated code that ensures compliance with the most popular Web browsers Includes improved examples on the most up-to-date JavaScript programming techniques Continuing in the superlative tradition of the first three editions, Beginning JavaScript, Fourth Edition, gets you up to speed on all the new advances in JavaScript development.

Practical Object Oriented Design in Ruby

Practical Object Oriented Design in Ruby Author Sandi Metz
ISBN-10 9780132930888
Year 2012-09-05
Pages 272
Language en
Publisher Addison-Wesley

The Complete Guide to Writing More Maintainable, Manageable, Pleasing, and Powerful Ruby Applications Ruby’s widely admired ease of use has a downside: Too many Ruby and Rails applications have been created without concern for their long-term maintenance or evolution. The Web is awash in Ruby code that is now virtually impossible to change or extend. This text helps you solve that problem by using powerful real-world object-oriented design techniques, which it thoroughly explains using simple and practical Ruby examples. Sandi Metz has distilled a lifetime of conversations and presentations about object-oriented design into a set of Ruby-focused practices for crafting manageable, extensible, and pleasing code. She shows you how to build new applications that can survive success and repair existing applications that have become impossible to change. Each technique is illustrated with extended examples, all downloadable from the companion Web site, The first title to focus squarely on object-oriented Ruby application design, Practical Object-Oriented Design in Ruby will guide you to superior outcomes, whatever your previous Ruby experience. Novice Ruby programmers will find specific rules to live by; intermediate Ruby programmers will find valuable principles they can flexibly interpret and apply; and advanced Ruby programmers will find a common language they can use to lead development and guide their colleagues. This guide will help you Understand how object-oriented programming can help you craft Ruby code that is easier to maintain and upgrade Decide what belongs in a single Ruby class Avoid entangling objects that should be kept separate Define flexible interfaces among objects Reduce programming overhead costs with duck typing Successfully apply inheritance Build objects via composition Design cost-effective tests Solve common problems associated with poorly designed Ruby code

Python Crash Course

Python Crash Course Author Eric Matthes
ISBN-10 9781593276034
Year 2015-11-20
Pages 560
Language en
Publisher No Starch Press

Learn Python—Fast! Python Crash Course is a fast-paced, thorough introduction to Python 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 Python’s super-handy libraries, and a simple web app you can deploy online. As you work through Python Crash Course you’ll learn how to: *Use powerful Python libraries and tools, including matplotlib, NumPy, and Pygal *Make 2D games that respond to keypresses and mouse clicks, and that grow more difficult as the game progresses *Work with data to generate interactive visualizations *Create and customize Web apps and deploy them safely online *Deal with mistakes and errors so you can solve your own programming problems If you’ve been thinking seriously about digging into programming, Python Crash Course will get you up to speed and have you writing real programs fast. Why wait any longer? Start your engines and code! Uses Python 2 and 3

Beginning Programming For Dummies

Beginning Programming For Dummies Author Wallace Wang
ISBN-10 1118051076
Year 2011-02-25
Pages 408
Language en
Publisher John Wiley & Sons

Do you think the programmers who work at your office are magical wizards who hold special powers that manipulate your computer? Believe it or not, anyone can learn how to write programs, and it doesn’t take a higher math and science education to start. Beginning Programming for Dummies shows you how computer programming works without all the technical details or hard programming language. It explores the common parts of every computer programming language and how to write for multiple platforms like Windows, Mac OS X, or Linux. This easily accessible guide provides you with the tools you need to: Create programs and divide them into subprograms Develop variables and use constants Manipulate strings and convert them into numbers Use an array as storage space Reuse and rewrite code Isolate data Create a user interface Write programs for the Internet Utilize JavaScript and Java Applets In addition to these essential building blocks, this guide features a companion CD-ROM containing Liberty BASIC compiler and code in several languages. It also provides valuable programming resources and lets you in on cool careers for programmers. With Beginning Programming of Dummies, you can take charge of your computer and begin programming today!

The Definitive Guide to SQLite

The Definitive Guide to SQLite Author Grant Allen
ISBN-10 9781430232261
Year 2011-01-26
Pages 368
Language en
Publisher Apress

Outside of the world of enterprise computing, there is one database that enables a huge range of software and hardware to flex relational database capabilities, without the baggage and cost of traditional database management systems. That database is SQLite—an embeddable database with an amazingly small footprint, yet able to handle databases of enormous size. SQLite comes equipped with an array of powerful features available through a host of programming and development environments. It is supported by languages such as C, Java, Perl, PHP, Python, Ruby, TCL, and more. The Definitive Guide to SQLite, Second Edition is devoted to complete coverage of the latest version of this powerful database. It offers a thorough overview of SQLite’s capabilities and APIs. The book also uses SQLite as the basis for helping newcomers make their first foray into database development. In only a short time you can be writing programs as diverse as a server-side browser plug-in or the next great iPhone or Android application! Learn about SQLite extensions for C, Java, Perl, PHP, Python, Ruby, and Tcl. Get solid coverage of SQLite internals. Explore developing iOS (iPhone) and Android applications with SQLite. SQLite is the solution chosen for thousands of products around the world, from mobile phones and GPS devices to set-top boxes and web browsers. You almost certainly use SQLite every day without even realizing it!

Code Complete

Code Complete Author Steve McConnell
ISBN-10 9780735636972
Year 2004-06-09
Pages 960
Language en
Publisher Pearson Education

Widely considered one of the best practical guides to programming, Steve McConnell’s original CODE COMPLETE has been helping developers write better software for more than a decade. Now this classic book has been fully updated and revised with leading-edge practices—and hundreds of new code samples—illustrating the art and science of software construction. Capturing the body of knowledge available from research, academia, and everyday commercial practice, McConnell synthesizes the most effective techniques and must-know principles into clear, pragmatic guidance. No matter what your experience level, development environment, or project size, this book will inform and stimulate your thinking—and help you build the highest quality code. Discover the timeless techniques and strategies that help you: Design for minimum complexity and maximum creativity Reap the benefits of collaborative development Apply defensive programming techniques to reduce and flush out errors Exploit opportunities to refactor—or evolve—code, and do it safely Use construction practices that are right-weight for your project Debug problems quickly and effectively Resolve critical construction issues early and correctly Build quality into the beginning, middle, and end of your project

Game Engine Architecture Second Edition

Game Engine Architecture  Second Edition Author Jason Gregory
ISBN-10 9781466560062
Year 2017-03-27
Pages 1052
Language en
Publisher CRC Press

Hailed as a "must-have textbook" (CHOICE, January 2010), the first edition of Game Engine Architecture provided readers with a complete guide to the theory and practice of game engine software development. Updating the content to match today’s landscape of game engine architecture, this second edition continues to thoroughly cover the major components that make up a typical commercial game engine. New to the Second Edition Information on new topics, including the latest variant of the C++ programming language, C++11, and the architecture of the eighth generation of gaming consoles, the Xbox One and PlayStation 4 New chapter on audio technology covering the fundamentals of the physics, mathematics, and technology that go into creating an AAA game audio engine Updated sections on multicore programming, pipelined CPU architecture and optimization, localization, pseudovectors and Grassman algebra, dual quaternions, SIMD vector math, memory alignment, and anti-aliasing Insight into the making of Naughty Dog’s latest hit, The Last of Us The book presents the theory underlying various subsystems that comprise a commercial game engine as well as the data structures, algorithms, and software interfaces that are typically used to implement them. It primarily focuses on the engine itself, including a host of low-level foundation systems, the rendering engine, the collision system, the physics simulation, character animation, and audio. An in-depth discussion on the "gameplay foundation layer" delves into the game’s object model, world editor, event system, and scripting system. The text also touches on some aspects of gameplay programming, including player mechanics, cameras, and AI. An awareness-building tool and a jumping-off point for further learning, Game Engine Architecture, Second Edition gives readers a solid understanding of both the theory and common practices employed within each of the engineering disciplines covered. The book will help readers on their journey through this fascinating and multifaceted field.

Borland C Builder 6 Developer s Guide

Borland C   Builder 6 Developer s Guide Author Bob Swart
ISBN-10 0672324806
Year 2003-01
Pages 1097
Language en
Publisher Sams Publishing

0672324806.ld The definitive guide to the latest version of Borlands powerful C++Builder. Provides complete coverage of C++Builder Web Services development, now a key component of C++Builder. Borland C++Builder remains best in class IDE over the past 5 years for C++ solutions. Written by a team of top C++Builder experts with expertise in a variety of technical areas related to C++ application development. C++Builder 6 Developers Guide is revised for the latest version of C++Builder, the biggest update to C++Builder in years. C++Builder is an ANSI C++ IDE. The version 6 adds BizShape, a tool to build Web Services using XML/SOAP, .NET, and BizTalk from Microsoft, and SunONE from Sun Microsystems. Other new components include WebSnap for Web application development, DataSnap for database development, and CLX, which allows cross-platform development for Unix and Linux. The new NetCLX Internet components allow development of cross-platform applications with Apache, Microsoft IIS, and Netscape Web Server applications. C++Builder 6 Developers Guide continues as the definitive guide for Borlands C++Builder, providing a clear and concise reference for C++ developers. C++Builder Developers Guide is a unique combination of over 35 C++Builder experts from around the globe. This team brings hundreds of thousands of working hours in professional software development to the creation of this extensive work. Leading the team are Jarrod Hollingworth, Bob Swart, Mark Cashman. and Paul Gustavson. Jarrod is running Backslash (;au), loping software applications for the Internet and key business sectors and working as a software development consultant. Bob (aka. Dr.Bob) is an internationally recognized UK Borland Connections member and an independent technical author, trainer, and consultant using C++Builder, Kylix, and Delphi based in The Netherlands. Mark Cashman is an independent C++ developer in the U.S. Paul Gustavson lives in Virginia and is a senior systems engineer for Synetics, Inc., a U.S.-based company providing knowledge management, systems engineering, and enterprise management services.

Think Like a Programmer

Think Like a Programmer Author V. Anton Spraul
ISBN-10 9781593274245
Year 2012
Pages 256
Language en
Publisher No Starch Press

"Think Like a Programmer" teaches readers how to solve problems systematically, offering numerous techniques and examples designed to demonstrate how to organize thoughts, discover solutions, and find strategies to solve certain classes of problems.