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 second edition of the best-selling Python book in the world (over 1 million copies sold!). A fast-paced, no-nonsense guide to programming in Python. Updated and thoroughly revised to reflect the latest in Python code and practices. Python Crash Course is the world's best-selling guide to the Python programming language. This fast-paced, thorough introduction to programming with Python 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 basic programming concepts, such as variables, lists, classes, and loops, and practice writing clean code with exercises for each topic. You'll also learn how to make your programs interactive and test your code safely before adding it to a project. In the second half, you'll put your new knowledge into practice with three substantial projects: a Space Invaders-inspired arcade game, a set of data visualizations with Python's handy libraries, and a simple web app you can deploy online. As you work through the book, you'll learn how to: • Use powerful Python libraries and tools, including Pygame, Matplotlib, Plotly, and Django • Make 2D games that respond to keypresses and mouse clicks, and that increase in difficulty • Use 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 about digging into programming, Python Crash Course will get you writing real programs fast. Why wait any longer? Start your engines and code!
The Business Value of Developer RelationsMary Thengvall
Discover the true value of Developer Relations as you learn to build and maintain positive relationships with your developer community. Use the principles laid out in this book to walk through your company goals and discover how you can formulate a plan tailored to your specific needs. First you will understand the value of a technical community: why you need to foster a community and how to do it. Then you will learn how to be involved in community building on a daily basis: finding the right audience, walking the tightrope between representing the company and building a personal brand, in-person events, and more. Featuring interviews with Developer Relations professionals from many successful companies including Red Hat, Google, Chef, Docker, Mozilla, SparkPost, Heroku, Twilio, CoreOS, and more, and with a foreword by Jono Bacon, The Business Value of Developer Relations is the perfect book for anyone who is working in the tech industry and wants to understand where DevRel is now and how to get involved. Don’t get left behind – join the community today.
Developing Inclusive Mobile AppsRob Whitaker
By failing to consider those with needs different to ourselves, we are telling these people they are not welcome in our app, and therefore that technology as a whole, is not for them. This is not hyperbole—23% of people in the US with a registered disability aren't online at all, that's three times more likely than the general population. When asked why they're not online, disabled respondents say their disability prevents them or that using the internet is too hard. To combat the issue of online exclusion, this book covers considerations mobile developers, or anyone creating mobile experiences, can use to make mobile work better for those with disabilities—mental or physical—and how to create a better experience for everyone. Software is not made up of cold, unthinking algorithms. Accessibility really plays down to your skills as a developer. Software is a craft in the truest sense of the word, and one of the greatest tools you can have as a craftsperson is empathy for the people who will be using your app. Each one of whom is an individual with different abilities, experiences, knowledge, and circumstances. You will:Create mobile experiences that work for as many people as possible Incorporate a worldview of accessibility and customer service into your design Work with accessibility tools and techniques commonly available for developers
Swift 5.3 Cheat SheetAmit Chaudhary
This book has covered the latest Swift 5.3 using Xcode 12. Use this book as a quick reference guide (like a cheat sheet) for Swift programming language. Access any topic inside a chapter in just one tap. For beginners and for dummies, this book is a step-by-step guide to understanding object-oriented programming with Swift. If you are an experienced developer who knows at least one modern programming language well, then this book is designed to teach you how to think and program in Swift Programming language. Each topic is covered with clear and concise examples for Swift programming language using Playground. I hope you find this book to be a useful and worthy addition to your library. I've had a great time writing it. Hopefully you'll have a great time reading and learning the latest version of Swift 5.3. I will keep updating this book to make it much simpler and more productive. Thank you for purchasing a copy! -Amit Chaudhary, 13th January 2021 Chapters Covered in this book: 1. Basics 2. Constants Variables 3. Data Types 4. Operators 5. String and Characters 6. Control Flow 7. Collection Types (Arrays, Sets, and Dictionaries) 8. Functions 9. Closures 10. Enumerators 11. Structures 12. Classes 13. Properties 14. Subscripts 15. Methods 16. Inheritance 17. Initializers 18. De-Initializers/ Deallocation 19. Protocols 20. Extensions/ Categories 21. Automatic Reference Counting 22. Type Casting/ Type Checking 23. Generics 24. Optional Chaining 25. Nested Types 26. Access Control 27. Error Handling
Cracking the Coding Interview: 189 Programming Questions and Solutions 6th EditionGayle Laakmann McDowell
I am not a recruiter. I am a software engineer. And as such, I know what it's like to be asked to whip up brilliant algorithms on the spot and then write flawless code on a whiteboard. I've been through this as a candidate and as an interviewer. Cracking the Coding Interview, 6th Edition is here to help you through this process, teaching you what you need to know and enabling you to perform at your very best. I've coached and interviewed hundreds of software engineers. The result is this book. Learn how to uncover the hints and hidden details in a question, discover how to break down a problem into manageable chunks, develop techniques to unstick yourself when stuck, learn (or re-learn) core computer science concepts, and practice on 189 interview questions and solutions. These interview questions are real; they are not pulled out of computer science textbooks. They reflect what's truly being asked at the top companies, so that you can be as prepared as possible. WHAT'S INSIDE? 189 programming interview questions, ranging from the basics to the trickiest algorithm problems. A walk-through of how to derive each solution, so that you can learn how to get there yourself. Hints on how to solve each of the 189 questions, just like what you would get in a real interview. Five proven strategies to tackle algorithm questions, so that you can solve questions you haven't seen. Extensive coverage of essential topics, such as big O time, data structures, and core algorithms. A behind the scenes look at how top companies like Google and Facebook hire developers. Techniques to prepare for and ace the soft side of the interview: behavioral questions. For interviewers and companies: details on what makes a good interview question and hiring process.
Third Edition: thoroughly revised and expanded! Over 20% new material. Updated for Python 3.9. Quickly learn the right way to build attractive and modern graphical user interfaces with Python and Tkinter. You know some Python. You want to create a user interface for your application. You don't want to waste time messing around with things you don't need. Enter Tkinter. It's built right into Python. Everything you need is included in the standard Python distributions. No extra downloads. Your Python and Tkinter scripts will work on Windows, Mac and Linux. Tkinter has a simple, clean, Pythonic API and takes care of much of the housekeeping needed in GUI programming. You can focus on what's unique in your application. One HUGE Problem Tkinter has been around for a very long time. There's a lot of documentation, much of it created years ago. Nearly everything you'd find in that documentation still works today. But it's all wrong. Tkinter has a reputation for ugly and outdated user interfaces that don't fit in with modern systems. And if you follow the old documentation, that's exactly what you'll get. Because Tkinter has taken a quantum leap forward since all that documentation was written. There are new and better ways to build your user interface. Your program needs to be written differently to take advantage of that. Modern Tkinter shows you the right way to do it. You'll learn all the modern best practices. You'll build your user interface the right way the first time, without having to learn anything extra or irrelevant. It starts at the beginning, shows you what you need to know, and covers all the essential elements of building your modern user interface. This includes: - all the standard GUI widgets - attractively laying out your user interface - managing menus, windows, and standard dialogs - organizing more complex user interfaces - Tkinter's powerhouse widgets: canvas and text - customizing the look of your user interface - making it all work on Mac, Windows, and Linux You may have been using older documentation, or are trying to update a Tkinter program written years ago. If so, you'll find warnings of what to avoid using, and how to replace it with a modern solution. There's even a full case study of modernizing the user interface of a seriously out-of-date Tkinter application you may be familiar with. Who this book is for This book is for everyday Python programmers looking to quickly create desktop user interfaces. You may be new to Tkinter, or want to bring your knowledge up to date. You don't need to be an expert on OOP, MVC architecture, multithreading or any other advanced topics. In fact, you're not going to see any of those things in this book. This book uses Python 3.9, but everything you learn will apply (with small tweaks) to any Python 3.x version. It won't help you if you're using Python 2.x. Let veteran software developer Mark Roseman show you the right way to build user interfaces with Python and Tkinter. He's been using and Tk (the technology behind Tkinter) since its early days and has shipped dozens of open source tools and commercial applications based on it. He's also the author of the multi-lingual TkDocs website, the de facto reference for building modern Tk user interfaces. This book brings together Python-specific information from that site and supports its further development.
Learn FileMaker Pro 19Mark Conway Munro
Discover how easy it is to create multi-user, cross-platform custom solutions with FileMaker Pro, the relational database platform published by Apple subsidiary Claris International, Inc. Meticulously rewritten with clearer lessons, more real-world examples and updated to include feature changes introduced in recent versions, this book makes it easier to get started planning, building and deploying a custom database solution. The material is presented in an easy to follow manner with each chapter building on the last. After an initial review of the user environment and application basics, it begins a deep exploration of the integrated development environment that seamlessly combines the full stack of data table schema, business logic and interface layers into one visual programming experience. This book includes everything a beginner needs to get started building custom databases and contains advanced material that seasoned professionals will appreciate. Written by a professional developer with decades of real-world experience, Learn FileMaker Pro 19 is your comprehensive learning and reference guide. Join millions of users and developers worldwide in achieving a new level of workflow efficiency with FileMaker Pro. You will: Discover interface and feature changes in FileMaker 17-19Create and maintain healthy filesPlan and create custom tables, fields, relationshipsWrite calculations using built-in and custom functionsBuild recursive and repeating formulasDiscover advanced features using cURL, JSON, SQL, ODBC and FM URL Manipulate data files in the computer directory with scriptsDeploy solutions to a server and share with desktop, iOS and web clients
Python All-in-One For DummiesJohn C. Shovic & Alan Simpson
The one-stop resource for all your Python queries Powerful and flexible, Python is one of the most popular programming languages in the world. It's got all the right stuff for the software driving the cutting-edge of the development world—machine learning, robotics, artificial intelligence, data science, etc. The good news is that it’s also pretty straightforward to learn, with a simplified syntax, natural-language flow, and an amazingly supportive user community. The latest edition of Python All-in-One For Dummies gives you an inside look at the exciting possibilities offered in the Python world and provides a springboard to launch yourself into wherever you want your coding career to take you. These 7 straightforward and friendly mini-books assume the reader is a beginning programmer, and cover everything from the basic elements of Python code to introductions to the specific applications where you'll use it. Intended as a hands-on reference, the focus is on practice over theory, providing you with examples to follow as well as code for you to copy and start modifying in the "real world"—helping you get up and running in your area of interest almost right away. This means you'll be finishing off your first app or building and remote-controlling your own robot much faster than you can believe. Get a thorough grounding in the language basics Learn how the syntax is applied in high-profile industries Apply Python to projects in enterprise Find out how Python can get you into hot careers in AI, big data, and more Whether you're a newbie coder or just want to add Python to your magic box of tricks, this is the perfect, practical introduction—and one you'll return to as you grow your career.
Algorithms for DummiesJohn Paul Mueller & Luca Massaron
Discover how algorithms shape and impact our digital world All data, big or small, starts with algorithms. Algorithms are mathematical equations that determine what we see—based on our likes, dislikes, queries, views, interests, relationships, and more—online. They are, in a sense, the electronic gatekeepers to our digital, as well as our physical, world. This book demystifies the subject of algorithms so you can understand how important they are business and scientific decision making. Algorithms for Dummies is a clear and concise primer for everyday people who are interested in algorithms and how they impact our digital lives. Based on the fact that we already live in a world where algorithms are behind most of the technology we use, this book offers eye-opening information on the pervasiveness and importance of this mathematical science—how it plays out in our everyday digestion of news and entertainment, as well as in its influence on our social interactions and consumerism. Readers even learn how to program an algorithm using Python! Become well-versed in the major areas comprising algorithms Examine the incredible history behind algorithms Get familiar with real-world applications of problem-solving procedures Experience hands-on development of an algorithm from start to finish with Python If you have a nagging curiosity about why an ad for that hammock you checked out on Amazon is appearing on your Facebook page, you'll find Algorithm for Dummies to be an enlightening introduction to this integral realm of math, science, and business.
Deep Learning For DummiesJohn Paul Mueller & Luca Massaron
Take a deep dive into deep learning Deep learning provides the means for discerning patterns in the data that drive online business and social media outlets. Deep Learning for Dummies gives you the information you need to take the mystery out of the topic—and all of the underlying technologies associated with it. In no time, you’ll make sense of those increasingly confusing algorithms, and find a simple and safe environment to experiment with deep learning. The book develops a sense of precisely what deep learning can do at a high level and then provides examples of the major deep learning application types. Includes sample code Provides real-world examples within the approachable text Offers hands-on activities to make learning easier Shows you how to use Deep Learning more effectively with the right tools This book is perfect for those who want to better understand the basis of the underlying technologies that we use each and every day.
The Art of Game DesignJesse Schell
The Art of Game Design guides you through the design process step-by-step, helping you to develop new and innovative games that will be played again and again. It explains the fundamental principles of game design and demonstrates how tactics used in classic board, card and athletic games also work in top-quality video games. Good game design happens when you view your game from as many perspectives as possible, and award-winning author Jesse Schell presents over 100 sets of questions to ask yourself as you build, play and change your game until you finalise your design. This latest third edition includes examples from new VR and AR platforms as well as from modern games such as Uncharted 4 and The Last of Us, Free to Play games, hybrid games, transformational games, and more. Whatever your role in video game development an understanding of the principles of game design will make you better at what you do. For over 10 years this book has provided inspiration and guidance to budding and experienced game designers - helping to make better games faster.
SQL CookbookAnthony Molinaro & Robert de Graaf
You may know SQL basics, but are you taking advantage of its expressive power? This second edition applies a highly practical approach to Structured Query Language (SQL) so you can create and manipulate large stores of data. Based on real-world examples, this updated cookbook provides a framework to help you construct solutions and executable examples in severalflavors of SQL, including Oracle, DB2, SQL Server, MySQL, andPostgreSQL. SQL programmers, analysts, data scientists, database administrators, and even relatively casual SQL users will find SQL Cookbook to be a valuable problem-solving guide for everyday issues. No other resource offers recipes in this unique format to help you tackle nagging day-to-day conundrums with SQL. The second edition includes: Fully revised recipes that recognize the greater adoption of window functions in SQL implementationsAdditional recipes that reflect the widespread adoption of common table expressions (CTEs) for more readable, easier-to-implement solutionsNew recipes to make SQL more useful for people who aren’t database experts, including data scientistsExpanded solutions for working with numbers and stringsUp-to-date SQL recipes throughout the book to guide you through the basics
Python and REST APIs TutorialTab W. Keith
Python and REST APIs Tutorial Python and REST APIs: Interacting With Web Services There’s an amazing amount of data available on the Web. Many web services, like YouTube and GitHub, make their data accessible to third-party applications through an application programming interface (API). One of the most popular ways to build APIs is the REST architecture style. Python provides some great tools not only to get data from REST APIs but also to build your own Python REST APIs.
Head First SwiftParis Buttfield-Addison & Jon Manning
What will you learn from this book? Swift is best known as Apple's programming language of choice for developing apps on iOS, iPadOS, macOS, watchOS, and tvOS. But it's far more versatile than that. Open source Swift is also gaining ground as a language for systems programming and server-side code, and it runs on Linux and Windows. So where do you start? With Head First Swift , you'll explore from the ground up: from collecting and controlling data to reusing code, producing custom data types, and structuring programs and user interfaces with SwiftUI by building safe, protocol-driven code. With Swift under your belt, you'll be ready to build everything from mobile and web apps to games, frameworks, command-line tools, and beyond. What's so special about this book? If you've read a Head First book, you know what to expect--a visually rich format designed for the way your brain works. If you haven't, you're in for a treat. With this book, you'll learn Swift through a multisensory experience that engages your mind rather than a text-heavy approach that puts you to sleep.
Writing Excel Macros with VBASteven Roman, PhD
Newly updated for Excel 2002, Writing Excel Macros with VBA, 2nd Edition provides Excel power-users, as well as programmers who are unfamiliar with the Excel object model, with a solid introduction to writing Visual Basic for Applications (VBA) macros and programs for Excel. In particular, the book focuses on: The Visual Basic Editor and the Excel VBA programming environment. Excel features a complete, state-of-the-art integrated development environment for writing, running, testing, and debugging VBA macros.The VBA programming language, the same programming language used by the other applications in Microsoft Office XP and 2000, as well as by the retail editions of Visual Basic 6.0. The Excel object model, including new objects and new members of existing objects in Excel 2002. Excel exposes nearly all of its functionality through its object model, which is the means by which Excel can be controlled programmatically using VBA. While the Excel object model, with 192 objects, is the second largest among the Office applications, you need to be familiar with only a handful of objects to write effective macros. Writing Excel Macros focuses on these essential objects, but includes a discussion of many more objects as well. Writing Excel Macros with VBA, 2nd Edition is written in a terse, no-nonsense manner that is characteristic of Steven Roman's straightforward, practical approach. Instead of a slow-paced tutorial with a lot of handholding, Roman offers the essential information about Excel VBA that you must master to write macros effectively. This tutorial is reinforced by interesting and useful examples that solve common problems you're sure to have encountered. Writing Excel Macros with VBA, 2nd Edition is the book you need to delve into the basics of Excel VBA programming, enabling you to increase your power and productivity.
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!
Getting Started with p5.jsLauren McCarthy, Casey Reas & Ben Fry
Pro Spring 5Iuliana Cosmina, Rob Harrop, Chris Schaefer & Clarence Ho
Master Spring basics and core topics, and share the authors’ insights and real–world experiences with remoting, Hibernate, and EJB. Beyond the basics, you'll learn how to leverage the Spring Framework to build the various tiers and parts of an enterprise Java application: transactions, web and presentation tiers, deployment, and much more. A full sample application allows you to apply many of the technologies and techniques covered in Pro Spring 5 and see how they work together. This book updates the perennial bestseller with the latest that the new Spring Framework 5 has to offer. Now in its fifth edition, this popular title is by far the most comprehensive and definitive treatment of Spring available. It covers the new functional web framework, microservices and more, including interoperability with Java 9. After reading this definitive book, you'll be armed with the power of Spring to build complex Spring applications, top to bottom. The agile, lightweight, open-source Spring Framework continues to be the de facto leading enterprise Java application development framework for today's Java programmers and developers. It works with other leading open-source, agile, and lightweight Java technologies such as Hibernate, Groovy, MyBatis, and more. Spring now works with Java EE and JPA 2 as well. You will: Discover what’s new in Spring Framework 5 Use the Spring Framework with Java 9 Master data access and transactions Work with the new functional web framework Create microservices and other web services
Designing iOS mobile apps using simple Swift codes and libraries. KEY FEATURES ● Combines the fundamentals of Swift and power-packed libraries, including SwiftUI. ● Includes graphical illustrations and step-by-step instructions on coding your first iOS application. ● Covers end-to-end iOS app development with code debugging and best practices. DESCRIPTION 'Swift in 30 Days' teaches young graduates and coding applicants to enter the field of rapid development of applications through simplified, pragmatic, and quick programming learning without much theory. The book examines the basics of Swift programming, fundamental Swift building blocks, how to write syntax, constructs, define classes, arrays, model data with interfaces, and several examples of Swift programming. The book will help you to create the environment for app development, including tools and libraries like Xcode and SwiftUI. You will learn to work with Xcode and Swift libraries and finally make an independently developed Swift application. You will have access to design patterns and learn how to handle errors, debug, and work with protocols. By the end of this book, you will become a trusted Swift programmer and a successful iOS developer who will dive deeper into Apple's intelligent app programming challenge. WHAT YOU WILL LEARN ● Create an iOS app from scratch and learn fundamental Swift concepts such as operators and control flow. ● Create intuitive and intelligent user interfaces with an understanding of self-design and constraints. ● Recap OOP concepts and Swift protocol-based programming. ● Work with design patterns, write clean codes, and build expert tables and navigations. ● Work with Xcode and SwiftUI 2.0. WHO THIS BOOK IS FOR This book is for students, graduates, and entry-level coders who want to learn iOS app development without prior Swift or mobile app development experience. AUTHOR BIO Gaurang Ratnaparkhi has over a decade-long experience as a software developer with a specialization in iOS app development. Starting from Objective C and now to Swift 5.0, he has been able to work on a wide range of applications, from small calculators to apps in the aviation domain. His career highlight has been his position as a Team Lead for an iOS app in the restaurant domain. Followed by being a Tech lead for Cognizant IT solutions. He is a graduate from the University of Grenoble Alpes, France, and a certified Scrum Master. After moving to Xamarin and Windows development for a while, he returned to iOS development. He loves teaching and learning new languages. He is currently living in Toulouse, France.
Effective CRobert C. Seacord
A detailed introduction to the C programming language for experienced programmers. The world runs on code written in the C programming language, yet most schools begin the curriculum with Python or Java. Effective C bridges this gap and brings C into the modern era--covering the modern C17 Standard as well as potential C2x features. With the aid of this instant classic, you'll soon be writing professional, portable, and secure C programs to power robust systems and solve real-world problems. Robert C. Seacord introduces C and the C Standard Library while addressing best practices, common errors, and open debates in the C community. Developed together with other C Standards committee experts, Effective C will teach you how to debug, test, and analyze C programs. You'll benefit from Seacord's concise explanations of C language constructs and behaviors, and from his 40 years of coding experience. You'll learn: • How to identify and handle undefined behavior in a C program • The range and representations of integers and floating-point values • How dynamic memory allocation works and how to use nonstandard functions • How to use character encodings and types • How to perform I/O with terminals and filesystems using C Standard streams and POSIX file descriptors • How to understand the C compiler's translation phases and the role of the preprocessor • How to test, debug, and analyze C programs Effective C will teach you how to write professional, secure, and portable C code that will stand the test of time and help strengthen the foundation of the computing world.
Pro Microservices in .NET 6Sean Whitesell, rob richardson & Matthew D. Groves
Know the fundamentals of creating and deploying microservices using .NET 6 and gain insight from prescriptive guidance in this book on the when and why to incorporate them. The microservices architecture is a way of distributing process workloads to independent applications. This distribution allows for the independent applications to scale and evolve separately. It also enables developers to dismantle large applications into smaller, easier-to-maintain, scalable parts. While the return is valuable and the concept straightforward, applying it to an application is far more complicated. Where do you start? How do you find the optimal dividing point for your app, and strategically, how should your app be parceled out into separate services? Pro Microservices in .NET 6 will introduce you to all that and more. The authors get you started with an overview of microservices, .NET 6, event storming, and domain-driven design. You will use that foundational information to build a reference application throughout the book. From there, you will create your first microservice using .NET 6 that you can deploy into Docker and Azure Kubernetes Service. You will also learn about communication styles, decentralizing data, and testing microservices. Finally, you will learn about logging, metrics, tracing, and use that information for debugging. What You Will Learn Build a foundation of basic microservices architecture design Follow an example of using event storming and domain-driven design to understand the monolithic application modified for microservices Understand, via detailed commands, how Docker is used to containerize applications Get an overview of creating microservices from a monolithic application Call microservices using RPC and messaging communication styles with MassTransit Comprehend decentralizing data and handling distributed transactionsUse Azure Kubernetes Service to host and scale your microservicesKnow the methods to make your microservices more robust Discover testing techniques for RPC and messaging communication styles Apply the applications you build for actual use Practice cross-cutting concerns such as logging, metrics, and tracing This book is for developers and software architects. Readers should have basic familiarity with Visual Studio and experience with .NET, ASP.NET, and C#. Sean Whitesell is a Microsoft MVP and cloud architect at TokenEx, where he designs cloud-based architectural solutions for hosting internal services for TokenEx. He serves as President of the Tulsa Developers Association. He regularly presents in the community at developer events, conferences, and local MeetUps. Rob Richardson is a software craftsman, building web properties in ASP.NET and Node, React, and Vue. He is a Microsoft MVP, published author, frequent speaker at conferences, user groups, and community events, and a diligent teacher and student of high-quality software development. You can find his recent work at robrich.org/presentations. Matthew D. Groves is a Microsoft MVP who loves to code. From C# to jQuery, or PHP, he will submit pull requests for anything. He got his start writing a QuickBASIC point-of-sale app for his parent's pizza shop back in the 1990s. Currently a Product Marketing Manager for Couchbase, he is the author of the book AOP in .NET , and the video Creating and Managing Your First Couchbase Cluster .
Game Programming PatternsRobert Nystrom
The biggest challenge facing many game programmers is completing their game. Most game projects fizzle out, overwhelmed by the complexity of their own code. Game Programming Patterns tackles that exact problem. Based on years of experience in shipped AAA titles, this book collects proven patterns to untangle and optimize your game, organized as independent recipes so you can pick just the patterns you need. You will learn how to write a robust game loop, how to organize your entities using components, and take advantage of the CPUs cache to improve your performance. You'll dive deep into how scripting engines encode behavior, how quadtrees and other spatial partitions optimize your engine, and how other classic design patterns can be used in games.
R for DummiesAndrie de Vries & Joris Meys
Mastering R has never been easier Picking up R can be tough, even for seasoned statisticians and data analysts. R For Dummies , 2nd Edition provides a quick and painless way to master all the R you'll ever need. Requiring no prior programming experience and packed with tons of practical examples, step-by-step exercises, and sample code, this friendly and accessible guide shows you how to know your way around lists, data frames, and other R data structures, while learning to interact with other programs, such as Microsoft Excel. You'll learn how to reshape and manipulate data, merge data sets, split and combine data, perform calculations on vectors and arrays, and so much more. R is an open source statistical environment and programming language that has become very popular in varied fields for the management and analysis of data. R provides a wide array of statistical and graphical techniques, and has become the standard among statisticians for software development and data analysis. R For Dummies, 2nd Edition takes the intimidation out of working with R and arms you with the knowledge and know-how to master the programming language of choice among statisticians and data analysts worldwide. Covers downloading, installing, and configuring R Includes tips for getting data in and out of R Offers advice on fitting regression models and ANOVA Provides helpful hints for working with graphics R For Dummies, 2nd Edition is an ideal introduction to R for complete beginners, as well as an excellent technical reference for experienced R programmers.
Django 3 By ExampleAntonio Mele
Rules of PlayKatie Salen Tekinbas & Eric Zimmerman
An impassioned look at games and game design that offers the most ambitious framework for understanding them to date. As pop culture, games are as important as film or television—but game design has yet to develop a theoretical framework or critical vocabulary. In Rules of Play Katie Salen and Eric Zimmerman present a much-needed primer for this emerging field. They offer a unified model for looking at all kinds of games, from board games and sports to computer and video games. As active participants in game culture, the authors have written Rules of Play as a catalyst for innovation, filled with new concepts, strategies, and methodologies for creating and understanding games. Building an aesthetics of interactive systems, Salen and Zimmerman define core concepts like "play," "design," and "interactivity." They look at games through a series of eighteen "game design schemas," or conceptual frameworks, including games as systems of emergence and information, as contexts for social play, as a storytelling medium, and as sites of cultural resistance. Written for game scholars, game developers, and interactive designers, Rules of Play is a textbook, reference book, and theoretical guide. It is the first comprehensive attempt to establish a solid theoretical framework for the emerging discipline of game design.
Beginning RPG Maker MVDarrin Perez
UIKit for MastermindsJohn D Gauchat
Learn how to create apps with all the new features introduced to the UIKit framework, and how to build asynchronous and concurrent applications to take advantage of the multiple cores available in Apple Silicon chips (M1, M1 Pro, and M1 Max) UIKit for Masterminds guides you step by step through the process of creating applications for iPhones, iPads, and Mac computers. After reading this book, you will know how to program in Swift, how to design user interfaces with UIKit and Storyboards, and how to work with the most powerful frameworks available for app development. This book is a comprehensive course on how to build applications for Apple devices. Each chapter explores basic and complex concepts; from computer programming and the Swift language to everything you need to know to develop an application from scratch. The information is supported by practical examples that gradually introduce the technologies involved and make them accessible to everyone. UIKit for Masterminds was designed to prepare you for the future and was written for the mastermind in you. This book includes: Introduction to Swift 5.5 Swift Paradigm Concurrency Foundation Framework UIKit Framework Auto Layout Size Classes Navigation Controllers Scroll Views Stack Views Table Views Collection Views Split View Controller Alert Views Notifications Files Archiving Core Data iCloud CloudKit AVFoundation Camera and Photo Library Map Kit Web Kit Views Gesture Recognizers Timers Operation Queues Error Handling Image and Video Mac Catalyst ...and more! Learn app development with iOS 15, Xcode 13, and Swift 5.5 today!
Modern C++ Programming CookbookMarius Bancila
A pragmatic recipe book for acquiring a comprehensive understanding of the complexities and core fundamentals of C++ programming Key Features Explore the latest language and library features of C++20 such as modules, coroutines, concepts, and ranges Shed new light on the core concepts in C++ programming, including functions, algorithms, threading, and concurrency, through practical self-contained recipes Leverage C++ features like smart pointers, move semantics, constexpr, and more for increased robustness and performance Book Description C++ has come a long way to be one of the most widely used general-purpose languages that is fast, efficient, and high-performance at its core. The updated second edition of Modern C++ Programming Cookbook addresses the latest features of C++20, such as modules, concepts, coroutines, and the many additions to the standard library, including ranges and text formatting. The book is organized in the form of practical recipes covering a wide range of problems faced by modern developers. The book also delves into the details of all the core concepts in modern C++ programming, such as functions and classes, iterators and algorithms, streams and the file system, threading and concurrency, smart pointers and move semantics, and many others. It goes into the performance aspects of programming in depth, teaching developers how to write fast and lean code with the help of best practices. Furthermore, the book explores useful patterns and delves into the implementation of many idioms, including pimpl, named parameter, and attorney-client, teaching techniques such as avoiding repetition with the factory pattern. There is also a chapter dedicated to unit testing, where you are introduced to three of the most widely used libraries for C++: Boost.Test, Google Test, and Catch2. By the end of the book, you will be able to effectively leverage the features and techniques of C++11/14/17/20 programming to enhance the performance, scalability, and efficiency of your applications. What you will learn Understand the new C++20 language and library features and the problems they solve Become skilled at using the standard support for threading and concurrency for daily tasks Leverage the standard library and work with containers, algorithms, and iterators Solve text searching and replacement problems using regular expressions Work with different types of strings and learn the various aspects of compilation Take advantage of the file system library to work with files and directories Implement various useful patterns and idioms Explore the widely used testing frameworks for C++ Who this book is for The book is designed for entry- or medium-level C++ programmers who have a basic knowledge of C++ and want to master the language and become prolific modern C++ developers. Experienced C++ programmers can leverage this book to strengthen their command of C++ and find a good reference to many language and library features of C++11/14/17/20.
Exercises in Programming StyleCristina Videira Lopes
The first edition of Exercises in Programming Style was honored as an ACM Notable Book and praised as "The best programming book of the decade." This new edition retains the same presentation but has been upgraded to Python 3, and there is a new section on neural network styles. Using a simple computational task (term frequency) to illustrate different programming styles, Exercises in Programming Style helps readers understand the various ways of writing programs and designing systems. It is designed to be used in conjunction with code provided on an online repository. The book complements and explains the raw code in a way that is accessible to anyone who regularly practices the art of programming. The book can also be used in advanced programming courses in computer science and software engineering programs. The book contains 40 different styles for writing the term frequency task. The styles are grouped into ten categories: historical, basic, function composition, objects and object interactions, reflection and metaprogramming, adversity, data-centric, concurrency, interactivity, and neural networks. The author states the constraints in each style and explains the example programs. Each chapter first presents the constraints of the style, next shows an example program, and then gives a detailed explanation of the code. Most chapters also have sections focusing on the use of the style in systems design as well as sections describing the historical context in which the programming style emerged.
MoCap for ArtistsMidori Kitagawa & Brian Windsor
Make motion capture part of your graphics and effects arsenal. This introduction to motion capture principles and techniques delivers a working understanding of today's state-of-the-art systems and workflows without the arcane pseudocodes and equations. Learn about the alternative systems, how they have evolved, and how they are typically used, as well as tried-and-true workflows that you can put to work for optimal effect. Demo files and tutorials provided on the companion CD deliver first-hand experience with some of the core processes.
Learn to Code in Swift While Building Apps: Videos & TextJohn Gallaugher
Designed for motivated absolute beginners, learn to code and build iOS apps by following along with an award-winning University professor as he takes you through over 100 videos, accompanied by reference material, additional exercises, and more. This full text is used with the linked flipped-class videos, and has been used by hundreds of students and improved over multiple semesters. Start from never having coded and build apps while you learn Swift and Apple's UIKit framework. You'll learn a broad set of fundamental Swift concepts from basic variables through complex API access and JSON parsing. The text also covers iOS concepts like playing sound, animation, local notifications, passing data with view controllers, working with dates, times, and time zones,, swipeable page view controllers, and more. You'll also learn GooglePlaces AutoComplete, you'll use Google Firebase to authenticate users, store Cloud Firestore data, and save images to the cloud. Your app-building journey starts today!
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.
Effective TypeScriptDan Vanderkam
Python: For Beginners A Crash Course Guide To Learn Python in 1 WeekTimothy C. Needham
Become a Python Programming Expert With Ease! Python is a simple yet powerful programming language that can enable you to start thinking like a programmer right from the beginning. It is very readable and the stress many beginners face about memorizing arcane syntax typically presented by other programming languages will not affect you at all. Conversely, you will be able to concentrate on learning concepts and paradigms of programming. This book shall introduce you to an easy way to learn Python in just 7 days and in this time, be able to complete your own projects! By reading the book and implementing what you learn herein, you will realize just why major institutions like NASA, Google, Mozilla, Yahoo, Dropbox, IBM, Facebook and many others prefer to use python in their core products, services and business processes. Let's begin.
There was a time when Information Technology was only known as "Electronic Data Processing." Despite the fuss about innovative techniques, data process is still the heart of every system in the world—and even more so as the data sizes that are being managed today seems to grow at an exponential rate. Some of the architectural preferences are complete long shots on the future. You will definitely not only need an exceptionally firm grasp on the theoretical knowledge, but also rigor. However, those characteristics are essentials of any art. This book is definitely not a SQL cookbook wherein all possible problems and their solutions are listed. The aim is to impart not only a firm grasp of the fundamentals of database query language, but also a good working knowledge of the relational theory of SQL. It is also the aim of this book to help budding developers—and their administrators—to raise exceptionally good questions. There's a big chance that you'll still write bad code—inefficient queries after going through this book. A developer, from time to time, has to. Hopefully, however, it'll be knowingly and with perfectly good reason. Welcome readers to the world of SQL. Let's begin your journey.
SwiftUI for MastermindsJ.D. Gauchat
Learn how to develop applications with SwiftUI today! SwiftUI for Masterminds takes the reader step by step through the technologies required to develop applications for iPhones, iPads and Mac computers. After reading this book, you will know how to program in Swift, how to design user interfaces, and how to combine traditional frameworks with the advanced features provided by SwiftUI to build modern applications. This book is a complete course on app development for Apple devices. Every chapter explores basic and advanced topics, from computer programming to graphics and databases. The information is supported by examples that guide beginners and experts through the development process and gradually introduce them to complex topics. The goal of SwiftUI for Masterminds is to familiarize you with the latest technologies introduced by Apple for app development. It was designed to prepare you for the future and was written for the genius inside you, for Masterminds. Introduction to Swift 5.1 Swift Paradigm Declarative User Interfaces SwiftUI Framework Combine Framework Layout and Navigation Mac Catalyst UIKit in SwiftUI Collection Views Text Views MapKit Graphics and Animations Files Archiving Core Data iCloud CloudKit AVFoundation Camera and Photos Library WebKit Views Gesture Recognizers Timers Notifications Operation Queues Error Handling ...and more! iOS app development with iOS 13, Xcode 11 and Swift 5.1 App development, Swift programming, Create apps, Create app, iPhone apps, Build app, Swift language, develop application, Objective-C, Apple development, iOS development, iOS Apps, Program apps.
iOS 15 Programming Fundamentals with SwiftMatt Neuburg
Move into iOS development by getting a firm grasp of its fundamentals, including the Xcode 13 IDE, Cocoa Touch, and the latest version of Apple's acclaimed programming language, Swift 5.5. With this thoroughly updated guide, you'll learn the Swift language, understand Apple's Xcode development tools, and discover the Cocoa framework. Explore Swift's object-oriented conceptsBecome familiar with built-in Swift typesDive deep into Swift objects, protocols, and genericsTour the life cycle of an Xcode projectLearn how nibs are loadedUnderstand Cocoa's event-driven designCommunicate with C and Objective-C In this edition, catch up on the latest iOS programming features: Structured concurrency: async/await, tasks, and actorsSwift native formatters and attributed stringsLazy locals and throwing gettersEnhanced collections with the Swift Algorithms and Collections packagesXcode tweaks: column breakpoints, package collections, and Info.plist build settingsImprovements in Git integration, localization, unit testing, documentation, and distributionAnd more!
Beyond the Basic Stuff with PythonAl Sweigart
BRIDGE THE GAP BETWEEN NOVICE AND PROFESSIONAL You've completed a basic Python programming tutorial or finished Al Sweigart's bestseller, Automate the Boring Stuff with Python . What's the next step toward becoming a capable, confident software developer? Welcome to Beyond the Basic Stuff with Python . More than a mere collection of advanced syntax and masterful tips for writing clean code, you'll learn how to advance your Python programming skills by using the command line and other professional tools like code formatters, type checkers, linters, and version control. Sweigart takes you through best practices for setting up your development environment, naming variables, and improving readability, then tackles documentation, organization and performance measurement, as well as object-oriented design and the Big-O algorithm analysis commonly used in coding interviews. The skills you learn will boost your ability to program--not just in Python but in any language. You'll learn: • Coding style, and how to use Python's Black auto-formatting tool for cleaner code • Common sources of bugs, and how to detect them with static analyzers • How to structure the files in your code projects with the Cookiecutter template tool • Functional programming techniques like lambda and higher-order functions • How to profile the speed of your code with Python's built-in timeit and cProfile modules • The computer science behind Big-O algorithm analysis • How to make your comments and docstrings informative, and how often to write them • How to create classes in object-oriented programming, and why they're used to organize code Toward the end of the book you'll read a detailed source-code breakdown of two classic command-line games, the Tower of Hanoi (a logic puzzle) and Four-in-a-Row (a two-player tile-dropping game), and a breakdown of how their code follows the book's best practices. You'll test your skills by implementing the program yourself. Of course, no single book can make you a professional software developer. But Beyond the Basic Stuff with Python will get you further down that path and make you a better programmer, as you learn to write readable code that's easy to debug and perfectly Pythonic Requirements: Covers Python 3.6 and higher
SwiftUI CookbookGiordano Scalzo & Edgar Nzokwe
Find practical, logical, and efficient recipes for building cross-platform apps for iOS 15, macOS, and watchOS using Swift 5.5, Xcode 13, and SwiftUI 3.0 Key Features Apply the declarative programming paradigm to build cross-platform UIs for Apple devicesLearn to integrate UIkit, Core Data, Firebase, and Sign in with Apple with SwiftUIAdopt the new SwiftUI 3.0 features to build visually appealing UIs speedily Book Description SwiftUI provides an innovative and simple way to build beautiful user interfaces (UIs) for all Apple platforms, from iOS and macOS through to watchOS and tvOS, using the Swift programming language. In this recipe-based cookbook, you'll cover the foundations of SwiftUI as well as the new SwiftUI 3 features introduced in iOS 15 and explore a range of essential techniques and concepts that will help you through the development process. The cookbook begins by explaining how to use basic SwiftUI components. Once you've learned the core concepts of UI development, such as Views, Controls, Lists, and ScrollViews, using practical implementations in Swift, you'll advance to adding useful features to SwiftUI using drawings, built-in shapes, animations, and transitions. You'll understand how to integrate SwiftUI with exciting new components in the Apple development ecosystem, such as Combine for managing events and Core Data for managing app data. Finally, you'll write iOS, macOS, and watchOS apps by sharing the same SwiftUI codebase. By the end of this SwiftUI book, you'll have discovered a range of simple, direct solutions to common problems encountered when building SwiftUI apps. What you will learn Explore various layout presentations in SwiftUI such as HStack, VStack, LazyHStack, and LazyVGridCreate widgets to quickly display relevant content at glanceGet up to speed with drawings in SwiftUI using built-in shapes, custom paths, and polygonsDiscover modern animation and transition techniques in SwiftUIAdd user authentication using Firebase and Sign in with AppleManage concurrency with Combine and async/await in SwiftUISolve the most common SwiftUI problems, such as integrating a MapKit map, unit testing, snapshot testing, and previewing layouts Who this book is for This book is for mobile developers who want to learn SwiftUI as well as experienced iOS developers transitioning from UIkit to SwiftUI. The book assumes knowledge of the Swift programming language. Knowledge of object-oriented design and data structures will be useful but not necessary. You'll also find this book to be a helpful resource if you're looking for reference material regarding the implementation of various features in SwiftUI.
Create GUI Applications with Python & Qt5 (PyQt5 Edition)Martin Fitzpatrick
Building desktop applications doesn't have to be difficult. Using Python & Qt5 you can create fully functional desktop apps in minutes. This is the 4th Edition of Create GUI Applications, updated for 2020 & PyQt5 Starting from the very basics, this book takes you on a tour of the key features of PyQt5 you can use to build real-life applications. Learn the fundamental building blocks of Qt applications — Widgets, Layouts & Signals and learn how Qt uses the event loop to handle and respond to user input. Design beautiful UIs with Qt Designer and customize the look and feel of your applications with Qt Style Sheets and custom widgets. Use Qt's MVC-like ModelViews framework to connect data sources to your widgets, including SQL databases, numpy and pandas data tables, to build-data driven application. Visualize data using matplotlib & PyQtGraph and connect with external data sources to build live dashboards. Learn how to use threads and processes to manage long-running tasks and communicate with external services. Parse data and visualize the output in logs and progress bars. The book includes usability and architectural tips to help you build maintainable and usable PyQt5 applications from the start. Finally, once your application is ready to be released, discover how to package it up into professional-quality installers, ready to ship. - 665 pages of hands-on PyQt5 exercises - 211 code examples to experiment with - Support forum for all readers - Includes 4 example apps - Compatible with Python 3.4+ - Code free to reuse in your own projects
Just 20 years ago, the Web went world wide — and you could count the number of Web sites on one hand. Today, there are about 9 billion active Web sites, with thousands more going live every day. Creating a Web site can be a great way to market a new product, promote your business plan, promote yourself, or simply share a few details about your life with the world. How to Build Your Own Web Site With Little or No Money can show you how. You will learn how to buy a domain name and host your Web site for less than $15. You will learn how to use open source software like WordPress, Joomla!, and Mambo to create a platform on which you can build near anything you want. This book details which free Web site resources to avoid, as well as how to find and install open-source modules and tools to enhance the look and feel of your site. You will learn where you can find copyright-free images to use on your Web site and how to write copy that will draw traffic and entertain your visitors. You will learn how to keep a free Web site from falling into the traps major search engines set to stop spam and ultimately how to leverage new business contacts and interactions out of your Web site. If you are now or have ever considered building your own Web site before, this book will map the way for you.
Build production-ready machine learning and NLP systems using functional programming, development platforms, and cloud deployment. KEY FEATURES ● In-depth explanation and code samples highlighting the features of the Julia language. ● Extensive coverage of the Julia development ecosystem, package management, DevOps environment integration, and performance management tools. ● Exposure to the most important Julia packages that aid in Data and Text Analytics and Deep Learning. DESCRIPTION The Julia Programming language enables data scientists and programmers to create prototypes without sacrificing performance. Nonetheless, skeptics question its readiness for production deployments as a new platform with a 1.0 release in 2018. This book removes these doubts and offers a comprehensive glimpse at the language's use throughout developing and deploying production-ready applications. The first part of the book teaches experienced programmers and scientists about the Julia language features in great detail. The second part consists of gaining hands-on experience with the development environment, debugging, programming guidelines, package management, and cloud deployment strategies. In the final section, readers are introduced to a variety of third-party packages available in the Julia ecosystem for Data Processing, Text Analytics, and developing Deep Learning models. This book provides an extensive overview of the programming language and broadens understanding of the Julia ecosystem. As a result, it assists programmers, scientists, and information architects in selecting Julia for their next production deployments. WHAT YOU WILL LEARN ● Get to know the complete fundamentals of Julia programming. ● Explore Julia development frameworks and how to work with them. ● Dig deeper into the concepts and applications of functional programming. ● Uncover the Julia infrastructure for development, testing, and deployment. ● Learn to practice Julia libraries and the Julia package ecosystem. ● Processing Data, Deep Learning, and Natural Language Processing with Julia. WHO THIS BOOK IS FOR This book is for Data Scientists and application developers who want to learn about Julia application development. No prior Julia knowledge is required but knowing the basics of programming helps understand the objectives of this book. AUTHOR BIO Sambit Kumar Dash is an accomplished business manager who focuses on bringing technology product ideas to reality. He has over 20 years of experience in product and business management, architecture, and research and development. He has conceived and developed a PDF reader library in the Julia language.
The second edition of this best-selling Python book (over 500,000 copies sold!) uses Python 3 to teach even the technically uninclined how to write programs that do in minutes what would take hours to do by hand. There is no prior programming experience required and the book is loved by liberal arts majors and geeks alike. If you've ever spent hours renaming files or updating hundreds of spreadsheet cells, you know how tedious tasks like these can be. But what if you could have your computer do them for you? In this fully revised second edition of the best-selling classic Automate the Boring Stuff with Python , you'll learn how to use Python to write programs that do in minutes what would take you hours to do by hand--no prior programming experience required. You'll learn the basics of Python and explore Python's rich library of modules for performing specific tasks, like scraping data off websites, reading PDF and Word documents, and automating clicking and typing tasks. The second edition of this international fan favorite includes a brand-new chapter on input validation, as well as tutorials on automating Gmail and Google Sheets, plus tips on automatically updating CSV files. You'll learn how to create programs that effortlessly perform useful feats of automation to: • Search for text in a file or across multiple files • Create, update, move, and rename files and folders • Search the Web and download online content • Update and format data in Excel spreadsheets of any size • Split, merge, watermark, and encrypt PDFs • Send email responses and text notifications • Fill out online forms Step-by-step instructions walk you through each program, 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. Don't spend your time doing work a well-trained monkey could do. Even if you've never written a line of code, you can make your computer do the grunt work. Learn how in Automate the Boring Stuff with Python, 2nd Edition .
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.
Elements of Game DesignRobert Zubek
An introduction to the basic concepts of game design, focusing on techniques used in commercial game production. This textbook by a well-known game designer introduces the basics of game design, covering tools and techniques used by practitioners in commercial game production. It presents a model for analyzing game design in terms of three interconnected levels--mechanics and systems, gameplay, and player experience--and explains how novice game designers can use these three levels as a framework to guide their design process. The text is notable for emphasizing models and vocabulary used in industry practice and focusing on the design of games as dynamic systems of gameplay.
Guide to Competitive ProgrammingAntti Laaksonen
This invaluable textbook presents a comprehensive introduction to modern competitive programming. The text highlights how competitive programming has proven to be an excellent way to learn algorithms, by encouraging the design of algorithms that actually work, stimulating the improvement of programming and debugging skills, and reinforcing the type of thinking required to solve problems in a competitive setting. The book contains many “folklore” algorithm design tricks that are known by experienced competitive programmers, yet which have previously only been formally discussed in online forums and blog posts. Topics and features: Reviews the features of the C++ programming language, and describes how to create efficient algorithms that can quickly process large data setsDiscusses sorting algorithms and binary search, and examines a selection of data structures of the C++ standard libraryIntroduces the algorithm design technique of dynamic programming, and investigates elementary graph algorithmsCovers such advanced algorithm design topics as bit-parallelism and amortized analysis, and presents a focus on efficiently processing array range queriesSurveys specialized algorithms for trees, and discusses the mathematical topics that are relevant in competitive programmingExamines advanced graph techniques, geometric algorithms, and string techniquesDescribes a selection of more advanced topics, including square root algorithms and dynamic programming optimization This easy-to-follow guide is an ideal reference for all students wishing to learn algorithms, and practice for programming contests. Knowledge of the basics of programming is assumed, but previous background in algorithm design or programming contests is not necessary. Due to the broad range of topics covered at various levels of difficulty, this book is suitable for both beginners and more experienced readers. Dr. Antti Laaksonen has worked as a teacher and researcher at the University of Helsinki and Aalto University, Finland. He has served as one of the organizers of the Finnish Olympiad in Informatics since 2008, and as the Scientific Chair of the Baltic Olympiad in Informatics in 2016. He has also coached and led the Finnish team at several international programming contests, including the International Olympiad in Informatics 2009–2016, and has established experience in teaching programming and algorithms.
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 learning • New material on topics including solving recurrence equations, hash tables, potential functions, and suffix arrays • 140 new exercises and 22 new problems • Reader feedback–informed improvements to old problems • Clearer, more personal, and gender-neutral writing style • Color added to improve visual presentation • Notes, bibliography, and index updated to reflect developments in the field • Website with new supplementary material