Python Crash Course, 2nd EditionEric Matthes
The most popular and best selling computer programming ebooks at the Apple iBookstore.
Chart of the top computer programming ebook best sellers was last updated:
Python Crash Course, 2nd EditionEric Matthes
The best-selling Python book in the world, with over 1 million copies sold! A fast-paced, no-nonsense, updated guide to programming in Python. If you've been thinking about learning how to code or picking up Python, this internationally bestselling guide to the most popular programming language is your quickest, easiest way to get started and go! Even if you have no experience whatsoever, Python Crash Course, 2nd Edition , will have you writing programs, solving problems, building computer games, and creating data visualizations in no time. You’ll begin with basic concepts like variables, lists, classes, and loops—with the help of fun skill-strengthening exercises for every topic—then move on to making interactive programs and best practices for testing your code. Later chapters put your new knowledge into play with three cool projects: a 2D Space Invaders-style arcade game, a set of responsive data visualizations you’ll build with Python's handy libraries (Pygame, Matplotlib, Plotly, Django), and a customized web app you can deploy online. Why wait any longer? Start your engine and code!
Graphics and Animations with SwiftUIJohn D Gauchat
Quick Guides for Masterminds are excerpts from our best-selling books SwiftUI for Masterminds, UIKit for Masterminds, and HTML5 for Masterminds, providing a cost-effective alternative to getting the information you need. Description With this guide, you will learn how to create graphics and animations using the SwiftUI framework. After reading this guide, you will know how to create and combine primitives and drawing paths, how to draw images and graphics on a canvas, and how to animate SwiftUI views and create transitions. Swift 5.6 | iOS 15 | Xcode 13 Table of Contents GRAPHICS AND ANIMATIONS Shapes Common Shapes Gradients Images Paths Path View Custom Shapes Transformations Canvas ANIMATIONS Animating Custom Shapes Canvas Animations Transitions This guide assumes that you have a basic knowledge of app development, Xcode, and the Swift language. You should also know how to work with basic SwiftUI views. For a complete course on app development with SwiftUI, read our book SwiftUI for Masterminds. This guide is a collection of excerpts from the book SwiftUI for Masterminds. The information included in this guide will help you understand a particular aspect of app development, but it will not teach you everything you need to know to develop an app for Apple devices. If you are looking for a complete course on app development with SwiftUI, read our book SwiftUI for Masterminds. For more information, visit our website at www.formasterminds.com.
Core Data with SwiftUIJohn D Gauchat
Quick Guides for Masterminds are excerpts from our best-selling books SwiftUI for Masterminds, UIKit for Masterminds, and HTML5 for Masterminds, providing a cost-effective alternative to getting the information you need. Description With this guide, you will learn how to store data in a database with Core Data and the SwiftUI framework. After reading this guide, you will know how to work with the Core Data framework, how to create and manage a database, and how to store, search, and retrieve information from the user's device. Swift 5.6 | iOS 15 | Xcode 13 Table of Contents CORE DATA Data Model Core Data Stack Managed Objects Fetch Request Asynchronous Access Core Data Application Previews Sort Descriptors Predicates Delete Objects Modify Objects Custom Fetch Requests Sections To-Many Relationships This guide assumes that you have a basic knowledge of app development, Xcode, and the Swift language. You should also know how to create and display basic SwiftUI views. For a complete course on app development with SwiftUI, read our book SwiftUI for Masterminds. This guide is a collection of excerpts from the book SwiftUI for Masterminds. The information included in this guide will help you understand a particular aspect of app development, but it will not teach you everything you need to know to develop an app for Apple devices. If you are looking for a complete course on app development with SwiftUI, read our book SwiftUI for Masterminds. For more information, visit our website at www.formasterminds.com.
PowerShell for SysadminsAdam Bertram
Learn to use PowerShell, Microsoft's scripting language, to automate real-world tasks that IT professionals and system administrators deal with every day. Save Time. Automate. PowerShell® is both a scripting language and an administrative shell that lets you control and automate nearly every aspect of IT. In PowerShell for Sysadmins , five-time Microsoft® MVP "Adam the Automator" Bertram shows you how to use PowerShell to manage and automate your desktop and server environments so that you can head out for an early lunch. You'll learn how to: Combine commands, control flow, handle errors, write scripts, run scripts remotely, and test scripts with the PowerShell testing framework, PesterParse structured data like XML and JSON, work with common domains (like Active Directory, Azure, and Amazon Web Services), and create a real-world server inventory scriptDesign and build a PowerShell module to demonstrate PowerShell isn't just about ad-hoc scriptsUse PowerShell to create a hands-off, completely automated Windows deploymentBuild an entire Active Directory forest from nothing but a Hyper-V host and a few ISO filesCreate endless Web and SQL servers with just a few lines of code! Real-world examples throughout help bridge the gap between theory and actual system, and the author's anecdotes keep things lively. Stop with the expensive software and fancy consultants. Learn how to manage your own environment with PowerShell for Sysadmins and make everyone happy. Covers Windows PowerShell v5.1
Swift ProgrammingMatthew Mathias
Through this guide's carefully constructed explanations and examples, you will develop an understanding of Swift grammar and the elements of effective Swift style - all thoroughly revised for Swift 5.3 and Xcode 12. Based on Big Nerd Ranch’s popular Swift training and its well-tested materials and methodology, this guide teaches concepts and coding through hands-on exercises. You will explore Swift features in Xcode playgrounds, and you will end by building sample apps for the command line and for macOS and iOS. After working through the book, you will have the skills to confidently dive into learning app development for Apple platforms like iOS and macOS.
97 Things Every Programmer Should KnowKevlin Henney
Tap into the wisdom of experts to learn what every programmer should know, no matter what language you use. With the 97 short and extremely useful tips for programmers in this book, you'll expand your skills by adopting new approaches to old problems, learning appropriate best practices, and honing your craft through sound advice. With contributions from some of the most experienced and respected practitioners in the industry--including Michael Feathers, Pete Goodliffe, Diomidis Spinellis, Cay Horstmann, Verity Stob, and many more--this book contains practical knowledge and principles that you can apply to all kinds of projects. A few of the 97 things you should know: "Code in the Language of the Domain" by Dan North"Write Tests for People" by Gerard Meszaros"Convenience Is Not an -ility" by Gregor Hohpe"Know Your IDE" by Heinz Kabutz"A Message to the Future" by Linda Rising"The Boy Scout Rule" by Robert C. Martin (Uncle Bob)"Beware the Share" by Udi Dahan
Computer Programming Languages for BeginnersAdesh Silva
Computer programming is one of the top sought-after skills in today's ever-evolving society. Jump on the bandwagon before it's too late... Have you always wanted to learn the ways of computer programming, but don't know how to take your first steps into this quite intimidating world? Are you looking to open up a new career option that will practically guarantee you a much higher pay than what you earn now? If so, you've come to the right place. According to Bureau of Labor Statistics, the average salary for Computer Programmers in 2018 was $84,280, which is more than 150% the average individual income of $55,880 in the US. Imagine all the financial freedom that would bring to your life, immensely reducing the constant stress of expenses. And all of this is attainable just by learning a new skill set available for you to explore in the comfort of your own home, while also at your own pace. How much more convenient could that be? Oh, and even more so, everything you need in order to jumpstart your journey is right before your eyes. In Computer Programming Languages for Beginners, you will discover: ● How knowing different types of programming languages will open up new opportunities you didn't even know existed● Which newbie language to master before entering the world of code● The #1 reason Java stands apart from the rest of the computer programming languages● Why Python is one of the most popular among programmers, including the common frustration many people experience with it and how to avoid it● The key language you need to know if you are an administrator of a website● What minute details to focus on for each programming language● What mathematical conditions and functions you should know to make coding substantially easier to understand● The power of SQL in making the navigation of online records a breeze And much more. You may be thinking, "I can't handle this, I have way too much on my plate to even think about taking on a new skill," but the beauty of self-learning is you decide the pace and you dictate which direction you want to go with it. No one else is telling you what to do, it's all up to your own desires. Even if you are a complete newbie in the field of computer programming, that's perfectly fine. By starting out with a beginner's guide, everything will be thoroughly explained for you to eliminate any confusion you may have along the way. Not only is this considerably cheaper than enrolling in an online course or attending college lectures, but it also allows for flexibility in your tight schedule so you don't have to worry about deadlines or being thrown out of class for too many absences. This is freedom. Freedom to do things however you want, whenever you want. It's all up to you. It's time to take your first steps and uncover what it is you've been missing out on. If you want to discover the endless possibilities that computer programming has to offer you and pursue your way to a higher salary, then scroll up and click the "Add to Cart" button right now.
500 React JS Interview Questions and AnswersVamsee Puligadda
Knowledge for Free... Get that job, you aspire for! Want to switch to that high paying job? Or are you already been preparing hard to give interview the next weekend? Do you know how many people get rejected in interviews by preparing only concepts but not focusing on actually which questions will be asked in the interview? Don't be that person this time. This is the most comprehensive React JS interview questions book that you can ever find out. It contains: 500 most frequently asked and important React JS interview questions and answers Wide range of questions which cover not only basics in React JS but also most advanced and complex questions which will help freshers, experienced professionals, senior developers, testers to crack their interviews.
Time Series Forecasting using Deep Learning: Combining PyTorch, RNN, TCN, and Deep Neural Network Models to Provide Production-Ready Prediction SolutionsIvan Gridin
Explore the infinite possibilities offered by Artificial Intelligence and Neural Networks KEY FEATURES ● Covers numerous concepts, techniques, best practices and troubleshooting tips by community experts. ● Includes practical demonstration of robust deep learning prediction models with exciting use-cases. ● Covers the use of the most powerful research toolkit such as Python, PyTorch, and Neural Network Intelligence. DESCRIPTION This book is amid at teaching the readers how to apply the deep learning techniques to the time series forecasting challenges and how to build prediction models using PyTorch. The readers will learn the fundamentals of PyTorch in the early stages of the book. Next, the time series forecasting is covered in greater depth after the programme has been developed. You will try to use machine learning to identify the patterns that can help us forecast the future results. It covers methodologies such as Recurrent Neural Network, Encoder-decoder model, and Temporal Convolutional Network, all of which are state-of-the-art neural network architectures. Furthermore, for good measure, we have also introduced the neural architecture search, which automates searching for an ideal neural network design for a certain task. Finally by the end of the book, readers would be able to solve complex real-world prediction issues by applying the models and strategies learnt throughout the course of the book. This book also offers another great way of mastering deep learning and its various techniques. WHAT YOU WILL LEARN ● Work with the Encoder-Decoder concept and Temporal Convolutional Network mechanics. ● Learn the basics of neural architecture search with Neural Network Intelligence. ● Combine standard statistical analysis methods with deep learning approaches. ● Automate the search for optimal predictive architecture. ● Design your custom neural network architecture for specific tasks. ● Apply predictive models to real-world problems of forecasting stock quotes, weather, and natural processes. WHO THIS BOOK IS FOR This book is written for engineers, data scientists, and stock traders who want to build time series forecasting programs using deep learning. Possessing some familiarity of Python is sufficient, while a basic understanding of machine learning is desirable but not needed. AUTHOR BIO Ivan Gridin is a Mathematician, Fullstack Developer, Data Scientist, and Machine Learning Expert living in Moscow, Russia. Over the years, he worked on distributive high-load systems and implemented different machine learning approaches in practice. One of the key areas of his research is the design and analysis of predictive time series models. Ivan has fundamental math skills in probability theory, random process theory, time series analysis, machine learning, deep learning, and optimization. He also has in-depth knowledge and understanding of various programming languages such as Java, Python, PHP and MATLAB. Loving father, husband, and collector of old math books.
Think Like a UX ResearcherDavid Travis & Philip Hodgson
Think Like a UX Researcher will challenge your preconceptions about user experience (UX) research and encourage you to think beyond the obvious. You’ll discover how to plan and conduct UX research, analyze data, persuade teams to take action on the results and build a career in UX. The book will help you take a more strategic view of product design so you can focus on optimizing the user’s experience. UX Researchers, Designers, Project Managers, Scrum Masters, Business Analysts and Marketing Managers will find tools, inspiration and ideas to rejuvenate their thinking, inspire their team and improve their craft. Key Features A dive-in-anywhere book that offers practical advice and topical examples. Thought triggers, exercises and scenarios to test your knowledge of UX research. Workshop ideas to build a development team’s UX maturity. War stories from seasoned researchers to show you how UX research methods can be tailored to your own organization.
Table Views with UIKitJohn D Gauchat
Quick Guides for Masterminds are excerpts from our best-selling books SwiftUI for Masterminds, UIKit for Masterminds, and HTML5 for Masterminds, providing a cost-effective alternative to getting the information you need. Description With this guide, you will learn how to configure and display items in a list with Table Views. After reading this guide, you will know how to work with Table Views, how to define and configure standard and custom cells, and how to search and manage the items on a table. Swift 5.6 | iOS 15 | Xcode 13 Table of Contents TABLE VIEWS Table Views Table View Cells Data Source Index Paths and Identifiers Implementing Table Views Background States Cell Subclass Custom Cell Table View Delegates TABLE VIEWS IN NAVIGATION CONTROLLERS Adding Rows Deleting Rows Moving Rows Modifying Rows TABLE VIEW CONTROLLER Refresh Control Search Search Bar Sections Deleting Sections Static Tables This guide assumes that you have a basic knowledge of app development, Xcode, and the Swift language. For a complete course on app development with UIKit, read our book UIKit for Masterminds. This guide is a collection of excerpts from the book UIKit for Masterminds. The information included in this guide will help you understand a particular aspect of app development, but it will not teach you everything you need to know to develop an app for Apple devices. If you are looking for a complete course on app development with UIKit, read our book UIKit for Masterminds. For more information, visit our website at www.formasterminds.com.
Introduction to Computation and Programming Using Python, third editionJohn V. Guttag
The new edition of an introduction to the art of computational problem solving using Python. 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 numpy, matplotlib, random, pandas, and sklearn. 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 as well as substantial material on machine learning. All of the code in the book and an errata sheet are available on the book’s web page on the MIT Press website.
Fluent PythonLuciano Ramalho
Don't waste time bending Python to fit patterns you've learned in other languages. Python's simplicity lets you become productive quickly, but often this means you aren't using everything the language has to offer. With the updated edition of this hands-on guide, you'll learn how to write effective, modern Python 3 code by leveraging its best ideas. Discover and apply idiomatic Python 3 features beyond your past experience. Author Luciano Ramalho guides you through Python's core language features and libraries and teaches you how to make your code shorter, faster, and more readable. Complete with major updates throughout, this new edition features five parts that work as five short books within the book: Data structures: Sequences, dicts, sets, Unicode, and data classes Functions as objects: First-class functions, related design patterns, and type hints in function declarations Object-oriented idioms: Composition, inheritance, mixins, interfaces, operator overloading, protocols, and more static types Control flow: Context managers, generators, coroutines, async/await, and thread/process pools Metaprogramming: Properties, attribute descriptors, class decorators, and new class metaprogramming hooks that replace or simplify metaclasses
The Rust Programming Language (Covers Rust 2018)Steve Klabnik & Carol Nichols
The official book on the Rust programming language, written by the Rust development team at the Mozilla Foundation, fully updated for Rust 2018. The Rust Programming Language is the official book on Rust: an open source systems programming language that helps you write faster, more reliable software. Rust offers control over low-level details (such as memory usage) in combination with high-level ergonomics, eliminating the hassle traditionally associated with low-level languages. The authors of The Rust Programming Language , members of the Rust Core Team, share their knowledge and experience to show you how to take full advantage of Rust's features--from installation to creating robust and scalable programs. You'll begin with basics like creating functions, choosing data types, and binding variables and then move on to more advanced concepts, such as: Ownership and borrowing, lifetimes, and traitsUsing Rust's memory safety guarantees to build fast, safe programsTesting, error handling, and effective refactoringGenerics, smart pointers, multithreading, trait objects, and advanced pattern matchingUsing Cargo, Rust's built-in package manager, to build, test, and document your code and manage dependenciesHow best to use Rust's advanced compiler with compiler-led programming techniques You'll find plenty of code examples throughout the book, as well as three chapters dedicated to building complete projects to test your learning: a number guessing game, a Rust implementation of a command line tool, and a multithreaded server. New to this edition: An extended section on Rust macros, an expanded chapter on modules, and appendixes on Rust development tools and editions.
Practice of Programming, TheBrian W. Kernighan
With the same insight and authority that made their book The Unix Programming Environment a classic, Brian Kernighan and Rob Pike have written The Practice of Programming to help make individual programmers more effective and productive. The practice of programming is more than just writing code. Programmers must also assess tradeoffs, choose among design alternatives, debug and test, improve performance, and maintain software written by themselves and others. At the same time, they must be concerned with issues like compatibility, robustness, and reliability, while meeting specifications. The Practice of Programming covers all these topics, and more. This book is full of practical advice and real-world examples in C, C++, Java, and a variety of special-purpose languages. It includes chapters on: debugging: finding bugs quickly and methodically testing: guaranteeing that software works correctly and reliably performance: making programs faster and more compact portability: ensuring that programs run everywhere without change design: balancing goals and constraints to decide which algorithms and data structures are best interfaces: using abstraction and information hiding to control the interactions between components style: writing code that works well and is a pleasure to read notation: choosing languages and tools that let the machine do more of the work Kernighan and Pike have distilled years of experience writing programs, teaching, and working with other programmers to create this book. Anyone who writes software will profit from the principles and guidance in The Practice of Programming .
iPad 9th Generation User Guide For Seniors: The Seniors’ Manual to Understanding and Mastering Apple’s Latest iPadBurt Zinger
THE COMPLETE GUIDE TO LEARN AND MASTER THE NEW iPAD 9th Generation IN 2 HOURS OR LESS! Skeptical about your sweet new iPad device with the super smooth processor? Perhaps you're wondering what makes this gadget unique, or you're wondering how to access the cool features. Shouldn't there be a guide for this sort of thing? I wrote this book especially for the proud senior iPad owners and users who would like to make the most of this stunning new device. Why are you still waiting? Kindly click the BUY-NOW button to make this excellent guide yours today!
iPhone 12 Pro Max User ManualScott Edward
The iPhone 12 Pro Max basically has all the latest and greatest features from Apple. Its 6.7-inch display means it's the biggest of all the new models and its camera setup, while similar to the iPhone 12 Pro, allows for more close-up zooming. Whether you like to binge-watch a lot of video on your phone or want to take the absolute best photos and video, the Pro Max will satisfy. The new iOS 14 update brings some useful tools, including the ability to display Triple-lens 3D camera for better video and gaming and more. There's also a slew of New physical design and its ability to do 5G connectivity as well as integrate two forms of 5G: That’s all great. So long as you’re jumping to the iPhone 12 Pro Max, the combination of refreshed hardware, software and accessories supplies a more significant upgrade. This book is a detailed in DEPTH guide that will help you to maximize your iPhone 12 Pro Series. It has ACTIONABLE tips, tricks and hacks. It contains specific step-by-step instructions that are well organized and easy to read. Add this book to your library now!
The 2022 Insanely Easy Guide to the iPad Air (5th Generation) User Guide:The Complete Illustrated Guide to Maximizing The Latest iPad Air 5th GenerationBurt Binger
Get to know the exciting features of your new iPad Air 5th Generation The iPad can do almost anything: entertain you, help you stay in touch with the world, boost your productivity, and more. If you have lots of life experience but are a little less tech savvy, This is here to help you make the most of your wireless device. Learn the essentials of any model of iPad with this friendly, easy-to-follow guide. You'll learn to connect to the Internet, play games, watch movies, listen to music, use video chat, update your social media accounts, read the news, and just about anything else you might want to do.Set up your Apple ID and navigate the iPad screensConnect to the internet, check your e-mail, and update social mediaCue up music, TV, or a movie to stay entertainedTake photos, chat with family and friends, and more! In this edition, you'll also learn how to make life with your new iPad easier and more convenient than ever!
Adventures in Rule-Based ProgrammingGary Riley
Adventures in Rule-Based Programming is a fun introduction to writing applications using CLIPS, a popular rule-based programming language written in C. In this tutorial you'll learn the basic concepts of rule-based programming, where rules are used to specify the logic of what must be accomplished, but an inference engine determines when rules are applied. You'll incrementally create a fully functional text adventure game, and in the process, learn how to write, organize, debug, test, and deploy CLIPS code.
C Programming LanguageBrian W. Kernighan
This ebook is the first authorized digital version of Kernighan and Ritchie’s 1988 classic, The C Programming Language (2nd Ed.). One of the best-selling programming books published in the last fifty years, "K&R" has been called everything from the "bible" to "a landmark in computer science" and it has influenced generations of programmers. Available now for all leading ebook platforms, this concise and beautifully written text is a "must-have" reference for every serious programmer’s digital library. As modestly described by the authors in the Preface to the First Edition, this "is not an introductory programming manual; it assumes some familiarity with basic programming concepts like variables, assignment statements, loops, and functions. Nonetheless, a novice programmer should be able to read along and pick up the language, although access to a more knowledgeable colleague will help."
Learn Excel 2011 for MacGuy Hart-Davis
Microsoft Excel 2011 for Mac OS X is a powerful application, but many of its most impressive features can be difficult to find. Learn Excel 2011 for Mac by Guy Hart-Davis is a practical, hands-on approach to learning all of the details of Excel 2011 in order to get work done efficiently on Mac OS X. From using formulas and functions to creating databases, from analyzing data to automating tasks, you'll learn everything you need to know to put this powerful application to use for a variety of tasks.
Tour of C++, ABjarne Stroustrup
In A Tour of C++, Second Edition, Bjarne Stroustrup, the creator of C++, describes what constitutes modern C++. This concise, self-contained guide covers most major language features and the major standard-library components—not, of course, in great depth, but to a level that gives programmers a meaningful overview of the language, some key examples, and practical help in getting started. Stroustrup presents the C++ features in the context of the programming styles they support, such as object-oriented and generic programming. His tour is remarkably comprehensive. Coverage begins with the basics, then ranges widely through more advanced topics, including many that are new in C++17, such as move semantics, uniform initialization, lambda expressions, improved containers, random numbers, and concurrency. The tour even covers some extensions being made for C++20, such as concepts and modules, and ends with a discussion of the design and evolution of C++. This guide does not aim to teach you how to program (for that, see Stroustrup’s Programming: Principles and Practice Using C++, Second Edition ), nor will it be the only resource you’ll need for C++ mastery (for that, see Stroustrup’s The C++ Programming Language, Fourth Edition, and recommended online sources). If, however, you are a C or C++ programmer wanting greater familiarity with the current C++ language, or a programmer versed in another language wishing to gain an accurate picture of the nature and benefits of modern C++, you can’t find a shorter or simpler introduction than this tour provides.
Serious PythonJulien Danjou
An indispensable collection of practical tips and real-world advice for tackling common Python problems and taking your code to the next level. Features interviews with high-profile Python developers who share their tips, tricks, best practices, and real-world advice gleaned from years of experience. Sharpen your Python skills as you dive deep into the Python programming language with Serious Python . You'll cover a range of advanced topics like multithreading and memorization, get advice from experts on things like designing APIs and dealing with databases, and learn Python internals to help you gain a deeper understanding of the language itself. Written for developers and experienced programmers, Serious Python brings together over 15 years of Python experience to teach you how to avoid common mistakes, write code more efficiently, and build better programs in less time. As you make your way through the book's extensive tutorials, you'll learn how to start a project and tackle topics like versioning, layouts, coding style, and automated checks. You'll learn how to package your software for distribution, optimize performance, use the right data structures, define functions efficiently, pick the right libraries, build future-proof programs, and optimize your programs down to the bytecode. You'll also learn how to: - Make and use effective decorators and methods, including abstract, static, and class methods - Employ Python for functional programming using generators, pure functions, and functional functions - Extend flake8 to work with the abstract syntax tree (AST) to introduce more sophisticated automatic checks into your programs - Apply dynamic performance analysis to identify bottlenecks in your code - Work with relational databases and effectively manage and stream data with PostgreSQL If you've been looking for a way to take your Python skills from good to great, Serious Python will help you get there. Learn from the experts and get seriously good at Python with Serious Python !
Introducing Regular ExpressionsMichael Fitzgerald
Learn More Python 3 the Hard WayZed A. Shaw
Transform Your Ideas into High-Quality Python Code! Zed Shaw has perfected the world’s best system for becoming a truly effective Python 3.x developer. Follow it and you will succeed—just like the tens of millions of programmers he’s already taught. You bring the discipline, commitment, and persistence; the author supplies everything else. In Learn Python 3 the Hard Way, Zed Shaw taught you the basics of Programming with Python 3. Now, in Learn More Python 3 the Hard Way, you’ll go far beyond the basics by working through 52 brilliantly crafted projects. Each one helps you build a key practical skill, combining demos to get you started and challenges to deepen your understanding. Zed then teaches you even more in 12 hours of online videos, where he shows you how to break, fix, and debug your code. First, you’ll discover how to analyze a concept, idea, or problem to implement in software. Then, step by step, you’ll learn to design solutions based on your analyses and implement them as simply and elegantly as possible. Throughout, Shaw stresses process so you can get started and build momentum, creativity to solve new problems, and quality so you’ll build code people can rely on. Manage complex projects with a programmer’s text editor Leverage the immense power of data structures Apply algorithms to process your data structures Master indispensable text parsing and processing techniques Use SQL to efficiently and logically model stored data Learn powerful command-line tools and skills Combine multiple practices in complete projects It’ll be hard at first. But soon, you’ll just get it—and that will feel great! This course will reward you for every minute you put into it. Soon, you’ll go beyond merely writing code that runs: you’ll craft high-quality Python code that solves real problems. You’ll be a serious Python programmer. Perfect for Everyone Who’s Already Started Working with Python, including Junior Developers and Seasoned Python Programmers Upgrading to Python 3.6+ Register your product at informit.com/register for convenient access to downloads, updates, and/or corrections as they become available.
Dive Into SpriteKitPaul Hudson
There are lots of SpriteKit books out there, but Dive Into SpriteKit is the first to introduce a new teaching approach that puts your choices right into the games you make. Four projects: Dive Into SpriteKit gives you four complete game projects for iPad, all built on top of SpriteKit – Apple's high-performance 2D games framework. Short chapters: Each step is written to be as short as possible, so you can make steady progress every five minutes and see your creation come to life. You're in control: At key points the book stops and asks you to decide what should happen next – your choices then affect how the project continues. 200+ Combinations: The book's four projects fan out to over 200 possible combinations as you make choices that decide how your game should look and work. Dive Into SpriteKit starts with four projects, but each project evolves into over 50 combinations as you make choices that decide how the game should develop. For example, the first project teaches you how to make a fast-paced side-scrolling game that could be a space rocket flying around asteroids, a motorbike dodging cars, or a submarine steering clear of mines. But then should the player control the game by tilting their iPad, or by touching and dragging their sprite? And should they earn points by collecting coins, or by staying alive as long as possible? These choices and more are presented while you follow the project, helping ensure you learn the parts that interest you most, make the game you want to make, and most importantly have fun too. Alongside the book you'll also get a companion app you can build and run on your app, which gives you the source code for each project at every step, plus a button that lets you launch the game immediately to see how it looks – check out the video below to see the companion app in action.
Expert C ProgrammingPeter van der Linden
This book is for the knowledgeable C programmer, this is a second book that gives the C programmers advanced tips and tricks. This book will help the C programmer reach new heights as a professional. Organized to make it easy for the reader to scan to sections that are relevant to their immediate needs.
Refactoring to PatternsJoshua Kerievsky
In 1994, Design Patterns changed the landscape of object-oriented development by introducing classic solutions to recurring design problems. In 1999, Refactoring revolutionized design by introducing an effective process for improving code. With the highly anticipated Refactoring to Patterns , Joshua Kerievsky has changed our approach to design by forever uniting patterns with the evolutionary process of refactoring. This book introduces the theory and practice of pattern-directed refactorings: sequences of low-level refactorings that allow designers to safely move designs to, towards, or away from pattern implementations. Using code from real-world projects, Kerievsky documents the thinking and steps underlying over two dozen pattern-based design transformations. Along the way he offers insights into pattern differences and how to implement patterns in the simplest possible ways. Coverage includes: A catalog of twenty-seven pattern-directed refactorings, featuring real-world code examples Descriptions of twelve design smells that indicate the need for this book’s refactorings General information and new insights about patterns and refactoring Detailed implementation mechanics: how low-level refactorings are combined to implement high-level patterns Multiple ways to implement the same pattern–and when to use each Practical ways to get started even if you have little experience with patterns or refactoring Refactoring to Patterns reflects three years of refinement and the insights of more than sixty software engineering thought leaders in the global patterns, refactoring, and agile development communities. Whether you’re focused on legacy or “greenfield” development, this book will make you a better software designer by helping you learn how to make important design changes safely and effectively.
The Art of Assembly Language, 2nd EditionRandall Hyde
Assembly is a low-level programming language that's one step above a computer's native machine language. Although assembly language is commonly used for writing device drivers, emulators, and video games, many programmers find its somewhat unfriendly syntax intimidating to learn and use. Since 1996, Randall Hyde's The Art of Assembly Language has provided a comprehensive, plain-English, and patient introduction to 32-bit x86 assembly for non-assembly programmers. Hyde's primary teaching tool, High Level Assembler (or HLA), incorporates many of the features found in high-level languages (like C, C++, and Java) to help you quickly grasp basic assembly concepts. HLA lets you write true low-level code while enjoying the benefits of high-level language programming. As you read The Art of Assembly Language , you'll learn the low-level theory fundamental to computer science and turn that understanding into real, functional code. You'll learn how to: –Edit, compile, and run HLA programs –Declare and use constants, scalar variables, pointers, arrays, structures, unions, and namespaces –Translate arithmetic expressions (integer and floating point) –Convert high-level control structures This much anticipated second edition of The Art of Assembly Language has been updated to reflect recent changes to HLA and to support Linux, Mac OS X, and FreeBSD. Whether you're new to programming or you have experience with high-level languages, The Art of Assembly Language, 2nd Edition is your essential guide to learning this complex, low-level language.
Physics for Game DevelopersDavid M Bourg & Bryan Bywalec
If you want to enrich your game’s experience with physics-based realism, the expanded edition of this classic book details physics principles applicable to game development. You’ll learn about collisions, explosions, sound, projectiles, and other effects used in games on Wii, PlayStation, Xbox, smartphones, and tablets. You’ll also get a handle on how to take advantage of various sensors such as accelerometers and optical tracking devices. Authors David Bourg and Bryan Bywalec show you how to develop your own solutions to a variety of problems by providing technical background, formulas, and a few code examples. This updated book is indispensable whether you work alone or as part of a team. Refresh your knowledge of classical mechanics, including kinematics, force, kinetics, and collision responseExplore rigid body dynamics, using real-time 2D and 3D simulations to handle rotation and inertiaApply concepts to real-world problems: model the behavior of boats, airplanes, cars, and sports ballsEnhance your games with digital physics, using accelerometers, touch screens, GPS, optical tracking devices, and 3D displaysCapture 3D sound effects with the OpenAL audio API
Clean Code in PythonMariano Anaya
Tackle inefficiencies and errors the Pythonic way Key Features Enhance your coding skills using the new features introduced in Python 3.9Implement the refactoring techniques and SOLID principles in PythonApply microservices to your legacy systems by implementing practical techniques Book Description Experienced professionals in every field face several instances of disorganization, poor readability, and testability due to unstructured code. With updated code and revised content aligned to the new features of Python 3.9, this second edition of Clean Code in Python will provide you with all the tools you need to overcome these obstacles and manage your projects successfully. The book begins by describing the basic elements of writing clean code and how it plays a key role in Python programming. You will learn about writing efficient and readable code using the Python standard library and best practices for software design. The book discusses object-oriented programming in Python and shows you how to use objects with descriptors and generators. It will also show you the design principles of software testing and how to resolve problems by implementing software design patterns in your code. In the concluding chapter, we break down a monolithic application into a microservices-based one starting from the code as the basis for a solid platform. By the end of this clean code book, you will be proficient in applying industry-approved coding practices to design clean, sustainable, and readable real-world Python code. What you will learn Set up a productive development environment by leveraging automatic toolsLeverage the magic methods in Python to write better code, abstracting complexity away and encapsulating detailsCreate advanced object-oriented designs using unique features of Python, such as descriptorsEliminate duplicated code by creating powerful abstractions using software engineering principles of object-oriented designCreate Python-specific solutions using decorators and descriptorsRefactor code effectively with the help of unit testsBuild the foundations for solid architecture with a clean code base as its cornerstone Who this book is for This book is designed to benefit new as well as experienced programmers. It will appeal to team leads, software architects and senior software engineers who would like to write Pythonic code to save on costs and improve efficiency. The book assumes that you have a strong understanding of programming
Write Great Code, Volume 2, 2nd EditionRandall Hyde
Explains how compilers translate high-level language source code (like code written in Python) into low-level machine code (code that the computer can understand) to help readers understand how to produce the best low-level, computer readable machine code. In the beginning, most software was written in assembly, the CPU's low-level language, in order to achieve acceptable performance on relatively slow hardware. Early programmers were sparing in their use of high-level language code, knowing that a high-level language compiler would generate crummy, low-level machine code for their software. Today, however, many programmers write in high-level languages like Python, C/C++/C#, Java, Swift. The result is often sloppy, inefficient code. But you don't need to give up the productivity and portability of high-level languages in order to produce more efficient software. In this second volume of the Write Great Code series, you'll learn: • How to analyze the output of a compiler to verify that your code does, indeed, generate good machine code • The types of machine code statements that compilers typically generate for common control structures, so you can choose the best statements when writing HLL code • Just enough 80x86 and PowerPC assembly language to read compiler output • How compilers convert various constant and variable objects into machine data, and how to use these objects to write faster and shorter programs NEW TO THIS EDITION, COVERAGE OF: • Programming languages like Swift and Java • Code generation on modern 64-bit CPUs • ARM processors on mobile phones and tablets • Stack-based architectures like the Java Virtual Machine • Modern language systems like the Microsoft Common Language Runtime With an understanding of how compilers work, you'll be able to write source code that they can translate into elegant machine code. That understanding starts right here, with Write Great Code, Volume 2: Thinking Low-Level, Writing High-Level .
Beginning Programming All-in-One For DummiesWallace Wang
Let there be code! Beginning Programming All-in-One For Dummies offers one guide packed with 7 books to teach you programming across multiple languages. Coding can seem complex and convoluted, but Dummies makes it simple and easy to understand. You’ll learn all about the principles of programming, algorithms, data structures, debugging programs, unique applications of programming and more while learning about some of the most popular programming languages used today. Move confidently forward in your computer science coursework or straight into the workforce. You’ll come away with a rock-solid foundation in the programming basics, using data, coding for the web, and building killer apps. Learn the basics of coding, including writing and compiling code, using algorithms, and data structures Get comfortable with the syntax of several different programming languages Wrap your mind around interesting programming opportunities such as conducting biological experiments within a computer or programming a video game engine Develop cross-platform applications for desktop and mobile devices This essential guide takes the complexity and convolution out of programming for beginners and arms you with the knowledge you need to follow where the code takes you.
Beginning Hibernate 6Joseph B. Ottinger, Jeff Linwood & Dave Minter
Get started with Hibernate, an open source Java persistence layer and gain a clear introduction to the current standard for object-relational persistence in Java. This updated edition includes the new Hibernate 6.0 framework which covers new configuration, new object relational mapping changes, and enhanced integration with the more general Spring, Boot and Quarkus and other Java frameworks. The book keeps its focus on Hibernate without wasting time on nonessential third-party tools, so you’ll be able to immediately start building transaction-based engines and applications. Experienced authors Joseph Ottinger with Dave Minter and Jeff Linwood provide more in-depth examples than any other book for Hibernate beginners. They present their material in a lively, example-based manner—not a dry, theoretical, hard-to-read fashion. You will: Build enterprise Java-based transaction-type applications that access complex data with HibernateWork with Hibernate 6 using a present-day build processIntegrate into the persistence life cycleSearch and query with the new version of HibernateKeep track of versioned data with Hibernate Envers
Programming in PascalOlga Maria Stefania Cucaro
This work is an overview of the evolution of language very dear to the author because she was the first to study at the time of her school study, Pascal. In the opinion of many, this dated language still surprises us with modern development platforms such as Dev-Pascal, Delphi and Lazarus. In this book we focus first on Pascal in general and on the application of some simple addition and sorting programs in Dev-Pascal and then dedicate ourselves to a more complex platform that also allows the creation of visual applications with the insertion of Form integrated with the language Pascal, Lazarus. Finally we are dedicated to the design and creation of databases and we integrate them into Lazarus applications. With these notions you will be able to create Pascal programs and applications in Lazarus for the solution of the most varied problems.
Coding with Roblox Lua in 24 HoursOfficial Roblox Books(Pearson)
In just 24 lessons of one hour or less, Coding with Roblox Lua in 24 Hours: The Official Roblox Guide helps you learn all the skills and techniques you’ll need to code your own Roblox experiences. Perfect for beginners, each short and easy lesson builds upon everything that’s come before, helping you quickly master the essentials of Lua programming. Step-by-step instructions walk you through common questions, issues, and tasks; Q&As, Quizzes, and Exercises build and test your knowledge; “Did You Know?” tips offer insider advice and shortcuts; and “Watch Out!” alerts help you avoid pitfalls. Learn how to... * Code with properties, variables, functions, if/then statements, and loops * Organize information using arrays and dictionaries * Work with events to make things move, explode, count down, and do whatever you can imagine * Keep your code manageable with abstractions and object-oriented programming * Store data permanently to create leaderboards, inventories, and custom currency * Use raycasting to allow visitors to place their own objects, such as furniture and props, within your world
This seminal book injects the topic of superintelligence into the academic and popular mainstream. What happens when machines surpass humans in general intelligence? Will artificial agents save or destroy us? In a tour de force of analytic thinking, Bostrom lays a foundation for understanding the future of humanity and intelligent life.
Introduction to Algorithms, fourth editionThomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest & Clifford Stein
A comprehensive update of the leading algorithms text, with new material on matchings in bipartite graphs, online algorithms, machine learning, and other topics. Some books on algorithms are rigorous but incomplete; others cover masses of material but lack rigor. Introduction to Algorithms uniquely combines rigor and comprehensiveness. It covers a broad range of algorithms in depth, yet makes their design and analysis accessible to all levels of readers, with self-contained chapters and algorithms in pseudocode. Since the publication of the first edition, Introduction to Algorithms has become the leading algorithms text in universities worldwide as well as the standard reference for professionals. This fourth edition has been updated throughout. New for the fourth edition New chapters on matchings in bipartite graphs, online algorithms, and machine learningNew material on topics including solving recurrence equations, hash tables, potential functions, and suffix arrays140 new exercises and 22 new problemsReader feedback–informed improvements to old problemsClearer, more personal, and gender-neutral writing styleColor added to improve visual presentationNotes, bibliography, and index updated to reflect developments in the fieldWebsite with new supplementary material
Rust for RustaceansJon Gjengset
Master professional-level coding in Rust. For developers who’ve mastered the basics, this book is the next step on your way to professional-level programming in Rust. It covers everything you need to build and maintain larger code bases, write powerful and flexible applications and libraries, and confidently expand the scope and complexity of your projects. Author Jon Gjengset takes you deep into the Rust programming language, dissecting core topics like ownership, traits, concurrency, and unsafe code. You’ll explore key concepts like type layout and trait coherence, delve into the inner workings of concurrent programming and asynchrony with async/await, and take a tour of the world of no_std programming. Gjengset also provides expert guidance on API design, testing strategies, and error handling, and will help develop your understanding of foreign function interfaces, object safety, procedural macros, and much more. You'll Learn: How to design reliable, idiomatic, and ergonomic Rust programs based on best principlesEffective use of declarative and procedural macros, and the difference between themHow asynchrony works in Rust – all the way from the Pin and Waker types used in manual implementations of Futures, to how async/await saves you from thinking about most of those wordsWhat it means for code to be unsafe, and best practices for writing and interacting with unsafe functions and traitsHow to organize and configure more complex Rust projects so that they integrate nicely with the rest of the ecosystemHow to write Rust code that can interoperate with non-Rust libraries and systems, or run in constrained and embedded environments Brimming with practical, pragmatic insights that you can immediately apply, Rust for Rustaceans helps you do more with Rust, while also teaching you its underlying mechanisms.
Engineers' Survival GuideMerih Taze
- Authored by Merih Taze , Senior Software Engineering Lead at Facebook (Previously Microsoft and Snapchat) Paperback version is available on Amazon There are a lot of amazing technical books out there. But what about your life as an engineer ? How you interact with others ? How happy are you with your career ? * Are you tired of the need to put on a fake confidence show ? * Are you having a hard time convincing others ? * Are you interested in getting promoted ? * Are you overworked and can't find a way to get the help you need? * Are you scared of the feedback from your peers? * Do you find yourself in conflicts with no solution in sight? * Want to learn the secrets of having your manager work for you? * Interested in building a career you'll be proud to talk about? If you've been feeling alone in your journey and keep wishing you had a friend or a mentor you could get some advice about non-technical aspects, look no further! Inside, you will find the summary of advice, tactics, and tricks learned the hard way through many years of working on mission-critical components, complex system designs supporting billions of users, and working with thousands of the most brilliant engineers around the world. Have a survival guide for most situations you'll be facing throughout your career as an engineer and learn how to play for the long game . ---------------------------------------------------------------- Topics Covered: Conflict resolution, finding mentors, prioritization, interviews, importance of data, visibility, consensus, design discussions, how to drive meetings, adaptability, ambiguity, networking, meetings with your managers (one on ones), biggest regret, perfectionism, system design, calendar, focus blocks, office jargon, diversification, positive surroundings, being the happy coworker, working at a startup, office politics, playing for the long game
Automate the Boring Stuff with Python, 2nd EditionAl Sweigart
Learn how to code while you write programs that effortlessly perform useful feats of automation! The second edition of this international fan favorite includes a brand-new chapter on input validation, Gmail and Google Sheets automations, tips for updating CSV files, and more. If you've ever spent hours renaming files or updating spreadsheet cells, you know how tedious tasks like these can be. But what if you could have your computer do them for you? Automate the Boring Stuff with Python, 2nd Edition teaches even the technically uninclined how to write programs that do in minutes what would take hours to do by hand—no prior coding experience required! This new, fully revised edition of Al Sweigart’s bestselling Pythonic classic, Automate the Boring Stuff with Python , covers all the basics of Python 3 while exploring its rich library of modules for performing specific tasks, like scraping data off the Web, filling out forms, renaming files, organizing folders, sending email responses, and merging, splitting, or encrypting PDFs. There’s also a brand-new chapter on input validation, tutorials on automating Gmail and Google Sheets, tips on automatically updating CSV files, and other recent feats of automations that improve your efficiency. Detailed, step-by-step instructions walk you through each program, allowing you to create useful tools as you build out your programming skills, and updated practice projects at the end of each chapter challenge you to improve those programs and use your newfound skills to automate similar tasks. Boring tasks no longer have to take to get through—and neither does learning Python!
The Best iPhone SE 2020 User Guide EverBrian McShore
I thought it would be a boring small budget phone, but I was wrong... The iPhone SE 2020 is the smallest, fastest, and cheapest iPhone we’ve seen for a while now. Apple’s most affordable iPhone has finally been updated to the new Apple iPhone SE 2020. Unofficially, SE means special edition, and this phone is indeed impressive. It's loaded with so many useful features, to a point where your jaw might drop. In this book, I talk about the phone’s hidden features, comfort, design and screen quality, performance, camera image quality, and battery life, and more! With this book, you'll learn: Why the iPhone SE 2020 is essentially the classic Apple product. Why everything about this phone feels fluid. Why the iPhone SE 2020 feels like a new iPhone 11 Pro inside the iPhone 8 body. Secret techniques, tips, and tricks to use and improve your iPhone SE 2020 seamlessly. Do you want to know how to: Clean your iPhone the correct way? Switch mobile data and Bluetooth on or off in an instant? Access airplane mode quickly? Check network connection strength? Turn data roaming on or off? Turn Wi-Fi Assist on or off? Use the Control Center for quick access to frequently used settings? Force close non-responding apps? Turn on Low Data Mode to help apps reduce their network data use? Reset your voicemail password? Stop unwanted pop-ups in your browser? Troubleshoot apps for smooth running? Then get this book to solve these and more... It’s never been easier to get into the iPhone and the Apple ecosystem with the iPhone SE 2020. If you’re new to the iPhone or want to brush up on your skills, GET THIS BOOK TO MASTER THE ART OF THE IPHONE SE 2020.
Take Control of the Mac Command Line with Terminal, Third EditionJoe Kissell
Learn how to unleash your inner Unix geek! Version 3.2, updated April 13, 2022 Release your inner geek and harness the power of the Unix underpinnings of macOS! This book from Joe Kissell explains everything you need to know to become comfortable working on the command line in Terminal, and provides numerous "recipes" for performing useful tasks. If you've ever thought you should learn to use the Unix command line that underlies macOS, or felt at sea when typing commands into Terminal, Joe Kissell is here to help! With this 228-page book, you'll become comfortable working on the Mac's command line, starting with the fundamentals and adding more advanced topics as your knowledge increases. Now includes complete coverage of Monterey, Big Sur, Catalina, and zsh! Joe includes 66 real-life "recipes" for tasks that are best done from the command line, as well as directions for working with permissions, carrying out grep-based searches, creating shell scripts, and installing Unix software. The book begins by teaching you these core concepts: • The differences among Unix, a command line, a shell, and Terminal • Exactly how commands, arguments, and flags work • The basics of Terminal's interface and how to customize it Next, it's on to the command line, where you'll learn: • How to navigate your Mac's directory structure • Basic file management: creating, copying, moving, renaming, opening, viewing, and deleting files • Creating symbolic links • The types of command-line programs • How to start and stop a command-line program • How to edit a text file in nano • How to customize your prompt and other shell defaults • The importance of your PATH and how to change it, if you need to • How to get help (Joe goes way beyond telling you to read the man pages) You'll extend your skills as you discover how to: • Create basic shell scripts to automate repetitive tasks. • Make shell scripts that have variables, user input, conditional statements, loops, and math. • See which programs are running and what system resources they're consuming. • Quit programs that refuse to quit normally. • Enable the command line to interact with the Finder. • Control another Mac via its command line with ssh. • Understand and change an item's permissions, owner, and group. • Run commands as the root user using sudo. • Handle output with pipe (|) or redirect (> or <). • Use grep to search for text patterns in files and filter output. • Install new command-line software from scratch or with a package manager. • Use handy shortcuts in the Terminal app itself and in zsh. Questions answered include: • What changed on the command line in macOS 12 Monterey and macOS 11 Big Sur? (Not much, unless you have an M-series Mac!) • What changed on the command line in macOS 10.15 Catalina? (A lot!) • What are the differences between the zsh shell and the bash shell? • Which shell am I using, and how can I change my default shell? • How do I quickly figure out the path to an item on my Mac? • How can I customize my Terminal window so I can see man pages behind it? • How can I make a shortcut to avoid retyping the same long command? • Is there a trick for entering a long path quickly? • What should I say when someone asks if I know how to use vi? • How do I change my prompt to suit my mood or needs? • What is Command Line Tools for Xcode? • When it comes to package managers, which one should I use? Finally, to help you put it all together, the book showcases 66 real-world "recipes" that combine commands to perform useful tasks, such as listing users who've logged in recently, manipulating graphics, using a separate FileVault password, creating and editing user accounts, figuring out why a disk won't eject, copying the source code of a webpage, determining which apps have open connections to the internet, flushing the DNS cache, finding out why a Mac won't sleep, sending an SMS message, and deleting stubborn items from the Trash.
Beginner's Step-by-Step Coding CourseDK
With this visual guide to computer programming for beginners, it has never been easier to learn how to code. Coding skills are in high demand and the need for programmers is still growing. Covering three of the most popular languages for new coders, this book uses a graphic method to break complex subjects into user-friendly chunks, bringing essential skills within easy reach. Each chapter contains tutorials on practical projects designed to teach you the main applications of each language, such as building websites, creating games, and designing apps. The book also looks at many of the main coding languages that are out there, outlining the key applications of each language, so you can choose the right language for you. You'll learn to think like a programmer by breaking a problem down into parts, before turning those parts into lines of code. Short, easy-to-follow steps then show you, piece by piece, how to build a complete program. There are challenges for you to tackle to build your confidence before moving on. Written by a team of expert coders and coding teachers, Beginner's Step-by-Step Coding Course is the ideal way to get to set you on the road to code.
An Introduction to Programming by the Inventor of C++ Preparation for Programming in the Real World The book assumes that you aim eventually to write non-trivial programs, whether for work in software development or in some other technical field. Focus on Fundamental Concepts and Techniques The book explains fundamental concepts and techniques in greater depth than traditional introductions. This approach will give you a solid foundation for writing useful, correct, maintainable, and efficient code. Programming with Today’s C++ (C++11 and C++14) The book is an introduction to programming in general, including object-oriented programming and generic programming. It is also a solid introduction to the C++ programming language, one of the most widely used languages for real-world software. The book presents modern C++ programming techniques from the start, introducing the C++ standard library and C++11 and C++14 features to simplify programming tasks. For Beginners—And Anyone Who Wants to Learn Something New The book is primarily designed for people who have never programmed before, and it has been tested with many thousands of first-year university students. It has also been extensively used for self-study. Also, practitioners and advanced students have gained new insight and guidance by seeing how a master approaches the elements of his art. Provides a Broad View The first half of the book covers a wide range of essential concepts, design and programming techniques, language features, and libraries. Those will enable you to write programs involving input, output, computation, and simple graphics. The second half explores more specialized topics (such as text processing, testing, and the C programming language) and provides abundant reference material. Source code and support supplements are available from the author’s website.
Swift Quick Syntax ReferenceMatthew Campbell
Swift Quick Syntax Reference is a condensed code and syntax reference to the new Apple Swift programming language, which is the alternative new programming language alongside Objective-C behind the APIs found in the Apple iOS SDK 8 and OS X Yosemite SDK. It presents the essential Swift syntax in a well-organized format that can be used as a handy reference. You won’t find any technical jargon, bloated samples, drawn out history lessons, or witty stories in this book. What you will find is a language reference that is concise, to the point, and highly accessible. The book is packed with useful information and is a must-have for any Swift programmer. In the Swift Quick Syntax Reference, you will find a concise reference to the Swift language syntax using the new Playgrounds. Playgrounds lets you type a line of code and the result appears immediately.
Swift Coding ChallengesPaul Hudson
Swift Coding Challenges is an all-new book written from the ground up to put your Swift skills to the test. I've written a variety of coding challenges that start off simple but slowly get harder, and it's down to you to solve them. I outline each problem, provide you with sample input and output, add in some hints in case you hit problems, then provide a sample solution and explain how it works. Give your coding brain the exercise it deserves! Looking for a job? If you're brushing up your skills in the hope of nailing a job interview, Swift Coding Challenges is for you. Never again fear the dreaded whiteboard tests: Swift Coding Challenges will help walk you through some of the most common problems that get thrown at you during interviews, so you'll be able to practice solutions and ensure you're ready. The goal is to solve each challenge yourself, but I always provide hints if you need them, as well as complete solutions and explanations so you always learn something new. Perfect for coding clubs and book groups If you run a Swift meetup or book group, Swift Coding Challenges makes for ideal reading, encouraging discussion, team work, and solution engineering. The book is structured so that each problem is presented in isolation, so you can pick out particular challenges easily and work through them together. Learn with solutions Each challenge is problem presented to you as a simple requirement, just like you would get at a job interview. For example one of the easier ones is, “write a method that returns true if two strings contain the same characters in any order.” You're then given some example input and output, so you can write test cases. In this example, you'd be given something like "the strings 'abc' and 'cba' should return true, but 'dog' and 'cat' should return false." And that's it: you need to write code to solve the challenge. If you get stuck, I provide hints that help point you in the right direction. Ideally you don't need these, but they can help if you struggle with particular problems. Finally, every challenge comes with a complete solution, complete with explanation of how it works so you can compare your code against mine. So if you beat the challenge you can check to make sure your code was optimal, but even if you didn't manage to finish you'll still be able to learn and do better next time. Test your skills Every challenge is graded from easy to hard, then grouped into chapters such as Algorithms, Files, Lists, Strings, and more. This means you can focus your efforts wherever you think you're weakest, then start at the beginning to find your skill level. The book comes with 64 challenges in total, including these: - Given two strings, write a function that returns true if all letters are unique. - Make a version of the min() method that returns the three smallest numbers in an array. - Write an implementation of quicksort for arrays. - Recreate the built-in map() method for collections. - Write a function that returns the frequency of a word in an input file. - Given a Tic-Tac-Toe board, write a function that returns true if either player has won the game. - Write a function that accepts a binary tree and returns true if it's balanced. - Given a string with no duplicate characters, write a function that returns an array containing all letter permutations. - Write a function that accepts an integer array and returns its median value. - Write a function that accepts a linked list that loops back to itself, and returns the item at the start of the loop. And that's just a sample – the full book is packed with challenges at all difficulty levels, complete with hints and solutions. BONUS: You get 90 "Be the compiler" test questions that present you with source code and ask you to figure out what it does. Each answer comes with an explanation so you learn as you go, and the tests are split across three levels so there's something for everyone. Give your coding brain the exercise it deserves!
Swift Protocol-Oriented ProgrammingJon Hoffman
Embrace the Protocol-Oriented Programming paradigm, for better code maintainability and increased performance, with Swift programming. Key Features Leverage the power of Protocol-Oriented Programming in your applications Leverage generics to create very flexible frameworks Learn how to implement common design patterns in a protocol-oriented way Book Description Protocol-oriented programming is an incredibly powerful concept at the heart of Swift's design. Swift's standard library was developed using POP techniques, generics, and first-class value semantics; therefore, it is important for every Swift developer to understand these core concepts and take advantage of them. The fourth edition of this book is improved and updated to the latest version of the Swift programming language. This book will help you understand what protocol-oriented programming is all about and how it is different from other programming paradigms such as object-oriented programming. This book covers topics such as generics, Copy-On-Write, extensions, and of course protocols. It also demonstrates how to use protocol-oriented programming techniques via real-world use cases. By the end of this book, you will know how to use protocol-oriented programming techniques to build powerful and practical applications. What you will learn Learn the differences between object-oriented programming and protocol-oriented programming Understand why value types should be prioritized over reference types Delve into protocols, protocol inheritance, protocol composition, and protocol extensions Learn how to implement COW (Copy-On-Write) within your custom value types Understand how memory management works in Swift and how to avoid common pitfalls Design applications by starting with the protocol rather than the implementation Who this book is for This book is intended for Swift developers who have, at minimum an introductory knowledge of the Swift programming language and would like to understand how they can use Protocol-Oriented Programming techniques in their applications.
MicroPython CookbookMarwan Alsabbagh
Learn how you can control LEDs, make music, and read sensor data using popular microcontrollers such as Adafruit Circuit Playground, ESP8266, and the BBC micro:bit Key Features Load and execute your first program with MicroPython Program an IoT device to retrieve weather data using a RESTful API Get to grips with integrating hardware, programming, and networking concepts with MicroPython Book Description MicroPython is an open source implementation of Python 3 that runs in embedded environments. With MicroPython, you can write clean and simple Python code to control hardware instead of using complex low-level languages like C and C++. This book guides you through all the major applications of the MicroPython platform to build and program projects that use microcontrollers. The MicroPython book covers recipes that'll help you experiment with the programming environment and hardware programmed in MicroPython. You'll find tips and techniques for building a variety of objects and prototypes that can sense and respond to touch, sound, position, heat, and light. This book will take you through the uses of MicroPython with a variety of popular input devices and sensors. You'll learn techniques for handling time delays and sensor readings, and apply advanced coding techniques to create complex projects. As you advance, you'll get to deal with Internet of Things (IoT) devices and integration with other online web services. Furthermore, you'll also use MicroPython to make music with bananas and create portable multiplayer video games that incorporate sound and light animations into the game play. By the end of the book, you'll have mastered tips and tricks to troubleshoot your development problems and push your MicroPython project to the next level! What you will learn Execute code without any need for compiling or uploading using REPL (read-evaluate-print-loop) Program and control LED matrix and NeoPixel drivers to display patterns and colors Build projects that make use of light, temperature, and touch sensors Configure devices to create Wi-Fi access points and use network modules to scan and connect to existing networks Use Pulse Width Modulation to control DC motors and servos Build an IoT device to display live weather data from the Internet at the touch of a button Who this book is for If you want to build and program projects that use microcontrollers, this book will offer you dozens of recipes to guide you through all the major applications of the MicroPython platform. Although no knowledge of MicroPython or microcontrollers is expected, a general understanding of Python is necessary to get started with this book.