Currently used at many colleges, universities, and high schools, this hands-on introduction to computer science is ideal for people with little or no programming experience. The goal of this concise book is not just to teach you Java, but to help you think like a computer scientist. You'll learn how to program - a useful skill by itself—but you'll also discover how to use programming as a means to an end.
Authors Allen Downey and Chris Mayfield start with the most basic concepts and gradually move into topics that are more complex, such as recursion and object-oriented programming. Each brief chapter covers the material for one week of a college course and includes exercises to help you practice what you've learned.
||Building Maintainable Software, C# Edition|
Have you ever felt frustrated working with someone else's code? Difficult-to-maintain source code is a big problem in software development today, leading to costly delays and defects. Be part of the solution. With this practical book, you'll learn 10 easy-to-follow guidelines for delivering C# software that's easy to maintain and adapt. These guidelines have been derived from analyzing hundreds of real-world systems.
Written by consultants from the Software Improvement Group (SIG), this book provides clear and concise explanations, with advice for turning the guidelines into practice. Examples for this edition are written in C#, while our companion Java book provides clear examples in that language.
||Efficient R Programming|
Become a more productive programmer with Efficient R Programming. Drawing on years of experience teaching R courses, authors Colin Gillespie and Robin Lovelace give practical advice on a range of topics - from optimizing set-up of RStudio to leveraging C++ - that make this book a valuable asset for both experienced and novice programmers. It's suitable for academics, business users, and programmers from a wide range of backgrounds.
Get practical, tried-and-true advice from longtime R instructors; Dive into a wide range of topics, including RStudio set-up and leveraging C++, suitable for all skill levels; Gain insight into RStudio's functionality to boost code-writing productivity; Learn the necessary skills for team-based R programming work; Save time, and energy, debugging code and searching online forums.
||Switching to the Mac: The Missing Manual, El Capitan Edition|
Those who have made the switch from a Windows PC to a Mac have made Switching to the Mac: The Missing Manual a runaway bestseller. The latest edition of this guide delivers what Apple doesn't - everything you need to know to successfully and painlessly move your files and adapt to Mac's way of doing things. Written with wit and objectivity by Missing Manual series creator and bestselling author David Pogue, this book will have you up and running on your new Mac in no time.
||Table Layout in CSS|
Isn't table layout something web designers want to avoid? Yes, but rather than use tables for layout, this book is about the ways that tables themselves are laid out by CSS, a process more complicated than it appears. This concise guide takes you on a deep dive into the concepts necessary for understanding CSS and tables in your web layout, including table formatting, cell alignment, and table width.
Short and deep, this book is an excerpt from the upcoming fourth edition of CSS: The Definitive Guide. When you purchase either the print or the ebook edition of Table Layout in CSS, you'll receive a discount on the entire Definitive Guide once it's released. Why wait? Make your web pages come alive today.
||RESTful Web Clients|
Web-based REST and Hypermedia services are becoming more common every day, but very few client libraries take advantage of these powerful API features—mostly because the techniques and patterns needed to create successful hypermedia clients have been ignored. Yet, when done right, hypermedia-based client applications exhibit more stability and flexibility than typical one-off custom client code.
This practical book takes you on a journey from custom bespoke implementations to powerful general-purpose client applications and, along the way, shows how you can harness many of the basic principles that underpin the Web. Throughout the book, you'll find practical, approachable examples and dialogs, as well as clear guidance on how to understand this increasingly important conversation.
||High Performance Spark|
If you've successfully used Apache Spark to solve medium sized-problems, but still struggle to realize the "Spark promise" of unparalleled performance on big data, this book is for you. High Performance Spark shows you how take advantage of Spark at scale, so you can grow beyond the novice-level. It's ideal for software engineers, data engineers, developers, and system administrators working with large-scale data applications.
Learn how to make Spark jobs run faster; Productionize exploratory data science with Spark; Handle even larger data sets with Spark; Reduce pipeline running times for faster insights.
||Introduction to Machine Learning with Python|
Many Python developers are curious about what machine learning is and how it can be concretely applied to solve issues faced in businesses handling medium to large amount of data. Introduction to Machine Learning with Python teaches you the basics of machine learning and provides a thorough hands-on understanding of the subject.
You'll learn important machine learning concepts and algorithms, when to use them, and how to use them. The book will cover a machine learning workflow: data preprocessing and working with data, training algorithms, evaluating results, and implementing those algorithms into a production-level system.
If you want to get started with PHP, this book is essential. Author David Sklar (PHP Cookbook) guides you through aspects of the language you need to build dynamic server-side websites. By exploring features of PHP 5.x and the exciting enhancements in the latest release, PHP 7, you'll learn how to work with web servers, browsers, databases, and web services. End-of-chapter exercises help you make the lessons stick.
Whether you're a hobbyist looking to build dynamic websites, a frontend developer ready to add server-side programs, or an experienced programmer who wants to get up to speed with this language, this gentle introduction also covers aspects of modern PHP, such as internationalization, using PHP from the command line, and package management.
Get hands-on experience with Apple's Swift programming language by building real working apps. With this practical guide, skilled programmers with little or no knowledge of Apple development will learn how to code with Swift 2 by developing three complete, tightly linked versions of the Notes application for the OS X, iOS, and watchOS platforms.
In the process, you'll learn Swift's fundamentals, including its syntax and features, along with the basics of the Cocoa, CocoaTouch, and WatchKit frameworks. This book teaches you how to use common design patterns for Swift, how to structure an application for Apple's platforms, and how to submit working apps to the App Store.
||Raspberry Pi Cookbook, 2nd Edition|
With millions of new users and several new models, the Raspberry Pi ecosystem continues to expand - along with a lot of new questions about the Pi's capabilities. The second edition of this popular cookbook provides more than 240 hands-on recipes for running this tiny low-cost computer with Linux, programming it with Python, and hooking up sensors, motors, and other hardware - including Arduino and the Internet of Things.
Prolific hacker and author Simon Monk also teaches basic principles to help you use new technologies with Raspberry Pi as its ecosystem continues to develop. This cookbook is ideal for programmers and hobbyists familiar with the Pi through resources, including Getting Started with Raspberry Pi. Python and other code examples from the book are available on GitHub.