Best of
Coding

2018

Refactoring UI


Adam Wathan - 2018
    Learn how to design beautiful user interfaces by yourself using specific tactics explained from a developer's point-of-view.

Dive Into Design Patterns


Alexander Shvets - 2018
    You can’t just find a pattern and copy it into your program, the way you can with off-the-shelf functions or libraries. The pattern is not a specific piece of code, but a general concept for solving a particular problem. They are like pre-made blueprints that you can customize to solve a recurring design problem in your code.The book Dive Into Design Patterns illustrates 22 classic design patterns and 8 design principles that these patterns are based on.- Every chapter starts from a discussion of a real life software design problem which is then progressively solved by applying one of the patterns.- Then goes a detailed review of the pattern’s structure and its variations, followed by a code example.- Then the books shows various applications of the pattern and teaches how to implement the pattern step by step, even in an existing program.- Each chapter concludes with a discussion of pros and cons of the pattern and its relations, similarities and differences with other patterns.

How to Code a Sandcastle


Josh Funk - 2018
    Pearl breaks the big we-need-a-sandcastle problem into smaller steps, then uses conditionals, loops, and other basic coding concepts to tell Pascal exactly what to do. But building a sandcastle isn’t as easy as it sounds when surfboards, mischievous dogs, and coding mishaps get in the way! Just when it looks like the sandcastle might never work, Pearl uses her coding skills to save the day and create something even better: a gorgeous sandcastle kingdom!

CSS in Depth


Keith J. Grant - 2018
    This instantly useful book is packed with creative examples and powerful best practices that will sharpen your technical skills and inspire your sense of design.Foreword by Chris Coyier, Cofounder of CodePen.Dig even deeper into the secrets of CSS with our video course CSS in Depth in Motion, available exclusively at Manning.com (www.manning.com/livevideo/css-in-dept...)!Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.About the TechnologySome websites really pop. They look great, they're visually consistent, and they feel interactive and responsive. You can bet their developers knew CSS in depth. CSS specifies everything from the structural layout of page elements to their individual look and feel. True masters know the patterns of CSS development, the techniques to implement them, and the subtle touches that result in beautiful typography, fluid transitions, and balanced graphics. Join them!About the BookCSS in Depth exposes you to a world of CSS techniques that range from clever to mind-blowing. This instantly useful book is packed with creative examples and powerful best practices that will sharpen your technical skills and inspire your sense of design. You'll gain new insights into familiar features like floats and units, and experiment with emerging ideas like responsive design and pattern libraries. Bottom line: this book will make you a better web designer and your apps will look fantastic!What's InsideAvoid common CSS pitfallsMaster misunderstood conceptsUse flexbox and grid layoutResponsive designs for any deviceCode for reuse and maintainabilityAbout the ReaderWritten for web developers who know the basics of CSS and HTML.About the AuthorKeith J. Grant is a senior web developer who builds and maintains web applications and websites, including The New York Stock Exchange site.Table of ContentsPART 1 - REVIEWING THE FUNDAMENTALSCascade, specificity, and inheritanceWorking with relative unitsMastering the box modelPART 2 - MASTERING LAYOUTMaking sense of floatsFlexboxGrid layoutPositioning and stacking contextsResponsive designPART 3 - CSS AT SCALEModular CSSPattern librariesPART 4 - ADVANCED TOPICSBackgrounds, shadows, and blend modesContrast, color, and spacingTypographyTransitionsTransformsAnimations

Ara the Star Engineer


Komal Singh - 2018
    She wants to count all the stars in the sky… but how? This is an upbeat adventure of Ara and her sidekick droid, DeeDee (“Beep!”). They use smarts and grit to solve a BIG problem and discover an amazing algorithm! A quest that takes them through a whirlwind of intriguing locations at Innovation Plex -- Data Centre, Ideas Lab, Coding Pods, and X-Space. Along the way, they encounter real-life women tech trailblazers of diverse backgrounds, including a Tenacious Troubleshooter, an Intrepid Innovator, a Code Commander, and a Prolific Problem Solver. They tinker-and-tailor, build-and-fail, launch-and-iterate, and in the end discover an amazing algorithm of success -- coding, courage, creativity, and collaboration (“Beeeeep!”).Read the book, download hands-on activities, follow further immersive learning resources on www.arastarengineer.com.Highly rated by authors and influencers. Releasing soon in 10+ languages around the globe!

Getting Clojure


Russ Olsen - 2018
    The vision behind Clojure is of a radically simple language framework holding together a sophisticated collection of programming features. Learning Clojure involves much more than just learning the mechanics of the language. To really get Clojure you need to understand the ideas underlying this structure of framework and features. You need this book: an accessible introduction to Clojure that focuses on the ideas behind the language as well as the practical details of writing code.

Cracking Codes with Python: An Introduction to Building and Breaking Ciphers


Al Sweigart - 2018
    You’ll begin with simple programs for the reverse and Caesar ciphers and then work your way up to public key cryptography, the type of encryption used to secure today’s online transactions, including digital signatures, email, and Bitcoin.Each program includes the full code and a line-by-line explanation of how things work. By the end of the book, you’ll have learned how to code in Python and you’ll have the clever programs to prove it!You’ll also learn how to:- Combine loops, variables, and flow control statements into real working programs- Use dictionary files to instantly detect whether decrypted messages are valid English or gibberish- Create test programs to make sure that your code encrypts and decrypts correctly- Code (and hack!) a working example of the affine cipher, which uses modular arithmetic to encrypt a message- Break ciphers with techniques such as brute-force and frequency analysisThere’s no better way to learn to code than to play with real programs. Cracking Codes with Python makes the learning fun!

Writing A Compiler In Go


Thorsten Ball - 2018
    We're picking up right where we left off and write a compiler and a virtual machine for Monkey. Runnable and tested code front and center, built from the ground up, step by step — just like before. But this time, we're going to define bytecode, compile Monkey and execute it in our very own virtual machine. It's the next step in Monkey's evolution. It's the sequel to … a programming language Writing A Compiler In Go is the sequel to Writing An Interpreter In Go. It starts right where the first one stopped, with a fully-working, fully-tested Monkey interpreter in hand, connecting both books seamlessly, ready to build a compiler and a virtual machine for Monkey. In this book, we use the codebase (included in the book!) from the first part and extend it. We take the lexer, the parser, the AST, the REPL and the object system and use them to build a new, faster implementation of Monkey, right next to the tree-walking evaluator we built in the first book. The approach is unchanged, too. Working, tested code is the focus, we build everything from scratch, do baby steps, write tests firsts, use no 3rd-party-libraries and see and understand how all the pieces fit together. It's a continuation in prose and in code. Do you need to read the first part before this one? If you're okay with treating the code from the first book as black box, then no. But that's not what these books are about; they're about opening up black boxes, looking inside and shining a light. You'll have the best understanding of where we're going in this book, if you know where we started. Learn how to write a compiler and a virtual machine Our main goal in in this book is to evolve Monkey. We change its architecture and turn it into a bytecode compiler and virtual machine. We'll take the lexer, the parser, the AST and the object system we wrote in the first book and use them to build our own Monkey compiler and virtual machine … from scratch! We'll build them side-by-side so that we'll always have a running system we can steadily evolve. What we end up with is not only much closer to the programming languages we use every day, giving us a better understanding of how they work, but also 3x faster. And that's without explicitly aiming for performance. Here's what we'll do: - We define our own bytecode instructions, specifying their operands and their encoding. Along the way, we also build a mini-disassembler for them. - We write a compiler that takes in a Monkey AST and turns it into bytecode by emitting instructions - At the same time we build a stack-based virtual machine that executes the bytecode in its main loop We'll learn a lot about computers, how they work, what machine code and opcodes are, what the stack is and how to work with stack pointers and frame pointers, what it means to define a calling convention, and much more. We also - build a symbol table and a constant pool - do stack arithmetic - generate jump instructions - build frames into our VM to execute functions with local bindings and arguments! - add built-in functions to the VM - get real closures working in the virtual machine and learn why closure-compilation is so tricky

Practical SQL: A Beginner's Guide to Storytelling with Data


Anthony DeBarros - 2018
    The book focuses on using SQL to find the story your data tells, with the popular open-source database PostgreSQL and the pgAdmin interface as its primary tools.You'll first cover the fundamentals of databases and the SQL language, then build skills by analyzing data from the U.S. Census and other federal and state government agencies. With exercises and real-world examples in each chapter, this book will teach even those who have never programmed before all the tools necessary to build powerful databases and access information quickly and efficiently.You'll learn how to: •Create databases and related tables using your own data •Define the right data types for your information •Aggregate, sort, and filter data to find patterns •Use basic math and advanced statistical functions •Identify errors in data and clean them up •Import and export data using delimited text files •Write queries for geographic information systems (GIS) •Create advanced queries and automate tasks Learning SQL doesn't have to be dry and complicated. Practical SQL delivers clear examples with an easy-to-follow approach to teach you the tools you need to build and manage your own databases. This book uses PostgreSQL, but the SQL syntax is applicable to many database applications, including Microsoft SQL Server and MySQL.

The Ray Tracer Challenge


Jamis Buck - 2018
    In just a couple of weeks, build a ray tracer that renders beautiful scenes with shadows, reflections, brilliant refraction effects, and subjects composed of various graphics primitives: spheres, cubes, cylinders, triangles, and more. With each chapter, implement another piece of the puzzle and move the renderer that much further forward. Do all of this in whichever language and environment you prefer, and do it entirely test-first, so you know it’s correct. Recharge yourself with this project’s immense potential for personal exploration, experimentation, and discovery.About this TitleThe renderer is a ray tracer, which means it simulates the physics of light by tracing the path of light rays around your scene. Each exciting chapter presents a bite-sized piece of the puzzle, building on earlier chapters and setting the stage for later ones. Requirements are given language-agnostically; it’s up to you to translate them into tests and code using whatever language you prefer. When the project is complete, you’ll look back and realize you’ve built an entire system test-first!There’s no research necessary—all the necessary formulas and algorithms are presented and illustrated right here. Dive into intriguing topics from fundamental concepts such as vectors and matrices; to the algorithms that simulate the intersection of light rays with spheres, planes, cubes, cylinders, and triangles; to geometric patterns such as checkers and rings. Lighting and shading effects, such as shadows and reflections, make your scenes come to life, and constructive solid geometry (CSG) enables you to combine your graphics primitives in simple ways to produce complex shapes.Play and experiment as you discover the fun of writing a ray tracer. Accept the challenge today!What You NeedAside from a computer, operating system, and programming environment, you’ll need a way to display PPM image files. On Windows, programs like Photoshop will work, or free programs like IrfanView. On Mac, no special software is needed, as Preview can open PPM files.

Excel 2019 Bible


Michael Alexander - 2018
    Whether you use Excel at work or at home, you will be guided through the powerful new features and capabilities to take full advantage of what the updated version offers. Learn to incorporate templates, implement formulas, create pivot tables, analyze data, and much more. Navigate this powerful tool for business, home management, technical work, and much more with the only resource you need, Excel 2019 Bible. Create functional spreadsheets that work Master formulas, formatting, pivot tables, and more Get acquainted with Excel 2019's new features and tools Whether you need a walkthrough tutorial or an easy-to-navigate desk reference, the Excel 2019 Bible has you covered with complete coverage and clear expert guidance.

Generative Design: Visualize, Program, and Create with JavaScript in p5.js


Benedikt Groß - 2018
    By using simple languages such as JavaScript in p5.js, artists and makers can create everything from interactive typography and textiles to 3D-printed furniture to complex and elegant infographics. This updated volume gives a jump-start on coding strategies, with step-by- step tutorials for creating visual experiments that explore the possibilities of color, form, typography, and images. Generative Design includes a gallery of all- new artwork from a range of international designers—fine art projects as well as commercial ones for Nike, Monotype, Dolby Laboratories, the musician Bjork, and others.

Simplifying JavaScript: Writing Modern JavaScript with ES5, ES6, and Beyond


Joe Morgan - 2018
    Learn to write modern JavaScript not by memorizing a list of new syntax, but with practical examples of how syntax changes can make code more expressive. Starting from variable declarations that communicate intention clearly, see how modern principles can improve all parts of code. Incorporate ideas with curried functions, array methods, classes, and more to create code that does more with less while yielding fewer bugs.It's time to write JavaScript code that's clean and exprssive. Modern JavaScript is simpler and more predictable and readable than ever. Discover how to write better code with clear examples using principles that show how updated syntax can make code better with fewer bugs.Starting from the ground up, learn new syntax (or how to reuse older syntax) to transform code from clunky bug-susceptible scripts to clear and elegant programs that are easy to read and easy to extend.Create a foundation for readable code with simple variable declarations that reduce side effects and subtle bugs. Select collections with clear goals instead of defaulting to objects or arrays. See how to simplify iterations from complex loops to single line array methods. Master techniques for writing flexible and solid code ranging from high-order functions, to reusableclasses, to patterns for architecting large applications creating applications that will last while through rounds of refactoring and changing requirements.The best part is there's no need to read this book straight through. Jump around and incorporate new functionality at will. Most importantly, understand not just what the new syntax is, but when and how to use it. Start writing better code from the first page.

Software Design X-Rays: Fix Technical Debt with Behavioral Code Analysis


Adam Tornhill - 2018
    And that’s just for starters. Because good code involves social design, as well as technical design, you can find surprising dependencies between people and code to resolve coordination bottlenecks among teams. Best of all, the techniques build on behavioral data that you already have: your version-control system. Join the fight for better code!

The New And Improved Flask Mega-Tutorial


Miguel Grinberg - 2018
    The tutorial has been thoroughly revised and expanded in 2017, now containing 23 chapters. The concepts that are covered go well beyond Flask, including a wide range of topics Python web developers need to know when writing their own applications.

Thinking with Types. Type-Level Programming in Haskell


Sandy Maguire - 2018
    It's about getting you from here to there---from a competent Haskell programmer to one who convinces the compiler to do their work for them.

C++17 in Detail


Bartłomiej Filipek - 2018
    What's more, it provides a lot of practical examples so you can quickly apply the knowledge to your code. Leanpub: https://leanpub.com/cpp17indetail or Amazon https://www.amazon.com/dp/1798834065I spent hundreds of hours investigating how new things work in order to make a nice and practical book for you. The book will not only save your time but also will guide you through all the nuances of the language.The book brings you exclusive content about C++17 and draws from the experience of many articles that have appeared on bfilipek.com. The chapters were rewritten from the ground-up and updated with the latest information. All of that equipped with lots of new examples and practical tips. Additionally, the book provides insight into the current implementation status, compiler support, performance issues and other relevant knowledge to boost your current projects.If you have experience with C++11/14 and you want to move forward into the latest C++ techniques, then this book is for you.

Learning Web Design: A Beginner's Guide to HTML, CSS, JavaScript, and Web Graphics


Jennifer Robbins - 2018
    You’ll begin at square one, learning how the web and web pages work, and then steadily build from there. By the end of the book, you’ll have the skills to create a simple site with multicolumn pages that adapt for mobile devices.Each chapter provides exercises to help you learn various techniques and short quizzes to make sure you understand key concepts.This thoroughly revised edition is ideal for students and professionals of all backgrounds and skill levels. It is simple and clear enough for beginners, yet thorough enough to be a useful reference for experienced developers keeping their skills up to date. Build HTML pages with text, links, images, tables, and forms Use style sheets (CSS) for colors, backgrounds, formatting text, page layout, and even simple animation effects Learn how JavaScript works and why the language is so important in web design Create and optimize web images so they’ll download as quickly as possible NEW! Use CSS Flexbox and Grid for sophisticated and flexible page layout NEW! Learn the ins and outs of Responsive Web Design to make web pages look great on all devices NEW! Become familiar with the command line, Git, and other tools in the modern web developer’s toolkit NEW! Get to know the super-powers of SVG graphics

Creative Coding in Python: 30+ Programming Projects in Art, Games, and More


Sheena Vaidyanathan - 2018
    Creative Coding in Python teaches kids the fundamentals of computer programming and demonstrates how to code 30+ fun, creative projects using Python, a free, intuitive, open-source programming language that's one of the top five most popular worldwide.Computer science educator Sheena Vaidyanathan helps kids understand the fundamental ideas of computer programming and the process of computational thinking using illustrations, flowcharts, and pseudocode, then shows how to apply those essentials to code exciting projects in Python:Arcade games and apps: Understand GUI (graphical user interfaces) and create your own arcade games and apps.Geometric art: Use turtle graphics to create original masterpieces.Interactive fiction: Explore booleans and conditionals to invent “create your own adventure” games.Chatbots: Discover variables, strings, integers, and more to design conversational programs.Dice games: Reuse code to devise games of chance.What’s next? Look at exciting ways to use your powerful new skills and expand your knowledge of coding in Python.Creative Coding in Python gives kids the tools they need to create their own computer programs.

Java by Comparison: Become a Java Craftsman in 70 Examples


Simon Harrer - 2018
    

Get Programming with Haskell


Will Kurt - 2018
    It is arguable the most interesting language but also has the reputation of being one of the most challenging to learn. Learning Haskell doesn't have to be difficult, and this book can help!Learn Haskell teaches readers the Haskell language and functional programming concepts while they hack on interesting problems that are challenging but never frustrating. This example-filled tutorial will take users from the basics to tackling the tough topics. There are lots of crystal-clear illustrations, hands-on exercises, and open-ended tasks that encourage readers to explore Haskell on their own.Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.

Deep Reinforcement Learning Hands-On: Apply modern RL methods, with deep Q-networks, value iteration, policy gradients, TRPO, AlphaGo Zero and more


Maxim Lapan - 2018
    Google's use of algorithms to play and defeat the well-known Atari arcade games has propelled the field to prominence, and researchers are generating new ideas at a rapid pace.Deep Reinforcement Learning Hands-On is a comprehensive guide to the very latest DL tools and their limitations. You will evaluate methods including Cross-entropy and policy gradients, before applying them to real-world environments. Take on both the Atari set of virtual games and family favorites such as Connect4. The book provides an introduction to the basics of RL, giving you the know-how to code intelligent learning agents to take on a formidable array of practical tasks. Discover how to implement Q-learning on 'grid world' environments, teach your agent to buy and trade stocks, and find out how natural language models are driving the boom in chatbots. What you will learn Understand the DL context of RL and implement complex DL models Learn the foundation of RL: Markov decision processes Evaluate RL methods including Cross-entropy, DQN, Actor-Critic, TRPO, PPO, DDPG, D4PG and others Discover how to deal with discrete and continuous action spaces in various environments Defeat Atari arcade games using the value iteration method Create your own OpenAI Gym environment to train a stock trading agent Teach your agent to play Connect4 using AlphaGo Zero Explore the very latest deep RL research on topics including AI-driven chatbots Who This Book Is For Some fluency in Python is assumed. Basic deep learning (DL) approaches should be familiar to readers and some practical experience in DL will be helpful. This book is an introduction to deep reinforcement learning (RL) and requires no background in RL. Table of Contents What is Reinforcement Learning? OpenAI Gym Deep Learning with PyTorch The Cross-Entropy Method Tabular Learning and the Bellman Equation Deep Q-Networks DQN Extensions Stocks Trading Using RL Policy Gradients – An Alternative The Actor-Critic Method Asynchronous Advantage Actor-Critic Chatbots Training with RL Web Navigation Continuous Action Space Trust Regions – TRPO, PPO, and ACKTR Black-Box Optimization in RL Beyond Model-Free – Imagination AlphaGo Zero

Impractical Python Projects: Playful Programming Activities to Make You Smarter


Lee Vaughan - 2018
    It picks up where the complete beginner books leave off, expanding on existing concepts and introducing new tools that you'll use every day. And to keep things interesting, each project includes a zany twist featuring historical incidents, pop culture references, and literary allusions.You'll flex your problem-solving skills and employ Python's many useful libraries to do things like: - Help James Bond crack a high-tech safe with a hill-climbing algorithm - Write haiku poems using Markov Chain Analysis- Use genetic algorithms to breed a race of gigantic rats- Crack the world's most successful military cipher using cryptanalysis- Derive the anagram, I am Lord Voldemort using linguistical sieves - Plan your parents' secure retirement with Monte Carlo simulation- Save the sorceress Zatanna from a stabby death using palingrams- Model the Milky Way and calculate our odds of detecting alien civilizations- Help the world's smartest woman win the Monty Hall problem argument- Reveal Jupiter's Great Red Spot using optical stacking- Save the head of Mary, Queen of Scots with steganography- Foil corporate security with invisible electronic inkSimulate volcanoes, map Mars, and more, all while gaining valuable experience using free modules like Tkinter, matplotlib, Cprofile, Pylint, Pygame, Pillow, and Python-Docx.Whether you're looking to pick up some new Python skills or just need a pick-me-up, you'll find endless educational, geeky fun with Impractical Python Projects.

How To Become Self-Employed In Seattle: A Guidebook, Companion, and Reference


Jenny MacLeod - 2018
    

The Coder’s Apprentice: Learning Programming with Python 3


Pieter Spronck - 2018
     Almost 30 years ago I got my first job as a computer programmer. At the time, only larger companies with a big administrative overload used computers. Or rather, “a computer,” because it was rare for a company to have more than one. There were no personal computers, no Internet, no mobile phones. People still used typewriters. In those 30 years, the way people work and live has undergone huge changes. That is exceptionally clear when looking at the kind of work that people do. Mailmen, for instance, delivered the mail twice per day when I was a kid – now they deliver mail twice per week, which means that the contingent of professional mailmen has been decimated. Bank offices are closed because banking can be done much easier online. Information desks can be manned by digital avatars or be replaced by online information systems. Large department stores go out of business because people make their purchases online, leading to an enormous decline in the need for having salespeople. And though this has currently caused a small increase in the demand for people who work in transportation, we can see self-driving cars on the horizon, replacing the need to have any chauffeurs at all. These are all “low profile” jobs, but “high profile” jobs aren’t safe either. I have taught programming to professional journalists, who told me that computers are taking over large parts of their jobs, writing basic articles and doing automated background research – they wanted to take my courses because they realized that without skills in digital technology, they would be out of a job in a few years time. Programs have been developed that take over a menial but oh-so time consuming part of lawyers’ jobs, namely researching case histories. Computers can write music, produce paintings, and even sculpt – why would you have someone hammer away at a block of granite for six months when a 3D-printer can produce a sculpture with a few hours of work? Even designing and running scientific experiments has been offloaded to computers in some research domains. In the 30 years in which I have been a professional worker, I have seen the job market change from hardly incorporating computers at all, to a situation in which the need for human employees has been reduced considerably – regardless the job. And that change has not come to an end yet.

Programming Ecto


Darin Wilson - 2018
    Learn how to use Ecto, the premier database library for Elixir, to connect your Elixir and Phoenix apps to databases. Get a firm handle on Ecto fundamentals with a module-by-module tour of the critical parts of Ecto. Then move on to more advanced topics and advice on best practices with a series of recipes that provide clear, step-by-step instructions on scenarios commonly encountered by app developers. Co-authored by the creator of Ecto, this title provides all the essentials you need to use Ecto effectively.

CoderDojo Nano: Make Your Own Game: Create With Code


Scholastic Inc. - 2018
    Each concept is illustrated with a screenshot to make checking easy, and incredible pixel art from Army of Trolls makes this look like no other coding book.Coder Dojo Nano: Make Your Own Game is the perfect first step that kids can take toward game development. Look out for other titles in the CoderDojo Nano series: CoderDojo Nano: Build Your Own Website

Get Programming with Go


Nathan Youngman - 2018
    By working through 32 quick-fire lessons, you'll quickly pick up the basics of the innovative Go programming language!Hobbyists, newcomers, and professionals alike can benefit from a fast, modern language; all you need is the right resource! Get Programming with Go provides a hands-on introduction to Go language fundamentals, serving as a solid foundation for your future programming projects. You'll master Go syntax, work with types and functions, and explore bigger ideas like state and concurrency, with plenty of exercises to lock in what you learn.What's inside* Language concepts like slices, interfaces, pointers, and concurrency* Seven capstone projects featuring spacefaring gophers, Mars rovers, ciphers, and simulations* All examples run in the Go Playground - no installation required!This book is for anyone familiar with computer programming, as well as anyone with the desire to learn.Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.

Head First Learn to Code: A Learner's Guide to Coding and Computational Thinking


Eric Freeman - 2018
    You can remain a passive participant, or you can learn to code. With Head First Learn to Code you'll learn how to think computationally and how to write code to make your computer, mobile device, or anything with a CPU do things for you. Using the Python programming language, you'll learn step by step the core concepts of programming as well as many fundamental topics from computer science, such as data structures, storage, abstraction, recursion, and modularity.Why does this book look so different?Based on the latest research in cognitive science and learning theory, Head First Learn to Code uses a visually rich format to engage your mind, rather than a text-heavy approach that puts you to sleep. Why waste your time struggling with new concepts? This multi-sensory learning experience is designed for the way your brain really works.

Functional Programming in C++


Ivan Čukić - 2018
    

Get Coding 2! Build Five Computer Games Using HTML and JavaScript


David Whitney - 2018
    Learn HTML and JavaScript. Design and build five interactive computer games. Create cool graphics. Code simple artificial intelligence. This appealing guide, covering essential coding concepts, offers an ideal introduction to all these activities and more. By following simple step-by-step instructions and completing five exciting missions, aspiring programmers are invited to code well-known games such as tic-tac-toe and table tennis, then customize their projects to test their skills.

Code with the Wisdom of the Crowd: Get Better Together with Mob Programming


Mark Pearl - 2018
    Mob Programming is an approach to developing software that radically reduces defects and key-person dependencies by having a group of people work together at a single machine. See how to avoid the most common pitfalls that teams make when first starting out. Discover what it takes to create and support a successful mob. Now you can take collaborative programming to the next level with Mob Programming.Mob Programming is a natural extension of the popular Pair Programming concept, and is not restricted to a specific programming language or technology. It can be used by anyone who develops software, including dev leads, software developers, and agile coaches. The more people working on a bug or feature results in fewer dependencies on individuals, and overall increased learning for everyone involved. With more eyes on the code, you'll find you develop better solutions with fewer defects.Set up your team for success by introducing Mob Programming in a way that benefits them. Create a good first Mobbing experience for your team with a template that avoids the common traps beginners may fall into. Master a collaborative and empathic mindset to help optimize the Mobbing experience. Learn how to make adjustments when things go wrong. Adapt your mobbing to different types of development tasks. Get management buy-in for your Mobbing experiment by demonstrating the benefits. Discover the equipment and resources you need, and how to adjust your workspace for an effective mob.Get important features to market sooner, squish bugs faster, and collaborate better today with Mob Programming.What You Need: All you need is three or more programmers, a meeting workspace that's large enough to accommodate your mob, and a computer on which to work.

Hands-on Machine Learning with JavaScript: Solve complex computational web problems using machine learning


Burak Kanber - 2018
    Today, with the added advantage of machine learning research and support for JS libraries, JavaScript makes your browsers smarter than ever with the ability to learn patterns and reproduce them to become a part of innovative products and applications.Hands-on Machine Learning with JavaScript presents various avenues of machine learning in a practical and objective way, and helps implement them using the JavaScript language. Predicting behaviors, analyzing feelings, grouping data, and building neural models are some of the skills you will build from this book. You will learn how to train your machine learning models and work with different kinds of data. During this journey, you will come across use cases such as face detection, spam filtering, recommendation systems, character recognition, and more. Moreover, you will learn how to work with deep neural networks and guide your applications to gain insights from data.By the end of this book, you'll have gained hands-on knowledge on evaluating and implementing the right model, along with choosing from different JS libraries, such as NaturalNode, brain, harthur, classifier, and many more to design smarter applications. What you will learn Get an overview of state-of-the-art machine learning Understand the pre-processing of data handling, cleaning, and preparation Learn Mining and Pattern Extraction with JavaScript Build your own model for classification, clustering, and prediction Identify the most appropriate model for each type of problem Apply machine learning techniques to real-world applications Learn how JavaScript can be a powerful language for machine learning Who This Book Is For This book is for you if you are a JavaScript developer who wants to implement machine learning to make applications smarter, gain insightful information from the data, and enter the field of machine learning without switching to another language. Working knowledge of JavaScript language is expected to get the most out of the book. Table of Contents Exploring the potential of Javascript Data Exploration Tour of machine learning algorithms Grouping with Clustering Algorithms Identify patterns with Classification Algorithms Applying Association Rule Algorithms Forecast with Regression Algorithms Artificial Neural Network Algorithms Deep Neural Network Natural Language Processing in practice Using Machine Learning on javascript Real-time applications Choosing the best algorithm for your application

Microsoft Power BI Quick Start Guide: Build dashboards and visualizations to make your data come to life


Devin Knight - 2018
    This book will help you get started with business intelligence using the Power BI toolset, covering essential concepts such as installation, designing effective data models, as well as building basic dashboards and visualizations to help you make better business decisions.You’ll learn how to obtain data from a variety of sources and clean it using Power BI Query Editor. You’ll then understand how you can design your data model to navigate and explore relationships within it, and build DAX formulas to make your data easier to work with. Visualizing your data is a key element in this book, and you’ll get to grips with data visualization styles and enhanced digital storytelling techniques. This guide will help you understand how to administer your organization's Power BI environment so deployment can be made seamless, data refreshes can run properly, and security can be fully implemented.By the end of this book, you’ll have a better understanding of how to get the most out of Power BI to perform effective business intelligence. What you will learn Connect to data sources using both import and DirectQuery options Use Query Editor for data transformation and data cleansing processes, including writing M and R scripts Design optimized data models by designing relationships and DAX calculations Design effective reports with built-in and custom visuals Adopt Power BI Desktop and Power BI Service to implement row-level security on your model Administer a Power BI cloud tenant for your organization Deploy your Power BI desktop files into the Power BI Report Server Who this book is for Aspiring business intelligence professionals who want to get up and running with Microsoft Power BI will find this book useful. If you have a basic understanding of BI concepts and want to learn how to apply them using Microsoft Power BI, this book is for you. Table of Contents Getting Started with Importing Data Options Data Transformation Strategies Building the Data Model Leveraging DAX Visualizing Data Digital Storytelling with Power BI Using a Cloud Deployment with the Power BI Service On-Premises Solutions with Power BI Report Server

Crack the Code!: Activities, Games, and Puzzles That Reveal the World of Coding


Sarah Hutt - 2018
    The video games you play, the animated films you watch, and the digital stopwatch you use--they're all powered with code!This action-packed book with a two-color interior is full of word games, mazes, quizzes, and more--it's your key to understanding how coding is used in robotics, arts & animation, sports, music & performance, and for social causes. You might even find inspiration for your next coding project!

Play with Minecraft and Learn to Code: A Guide for Beginners


Al Sweigart - 2018
    Using ComputerCraft, a free Minecraft mod, and the Lua programming language (used by professional game developers), you'll write programs to make your bots dig mines, chop wood, craft items, and build anything you can imagine. Sit back, relax, and make your turtle army do the work! The book provides the full code needed to write each program and walks you through it line by line, explaining how things work along the way. By book's end, you'll have a handle on computer science basics, a taste of how fun and powerful coding can be, and plenty of turtle robots at your command.

Code For Teens: The Awesome Beginner's Guide to Programming Volume 1: Javascript


Jeremy Moritz - 2018
    Love computers? What about video games and social media? Ever been curious about how they work? If so, Code for Teens is for you! Software developer Jeremy Mortiz's Code for Teens is your one-stop-shop to learning all there is know about Javascript, the most commonly used coding language in the world! Filled with tips, tricks, strategies, and quizzes, this guide is the perfect way to take you from beginner to expert in all things Java.

Dynamical Systems with Applications Using Python


Stephen Lynch - 2018
    It emphasizes applications and simulation utilizing Python.The hands-on approach of Dynamical Systems with Applications using Python has minimal prerequisites, only requiring familiarity with ordinary differential equations. It will appeal to advanced undergraduate and graduate students, applied mathematicians, engineers, and researchers in a broad range of disciplines such as population dynamics, biology, chemistry, computing, economics, nonlinear optics, neural networks, and physics.

Php, Mysql, & JavaScript All-In-One for Dummies


Richard Blum - 2018
    PHP, mySQL, JavaScript, and other web-building languages serve as the foundation for application development and programming projects at all levels of the web.Dig into this all-in-one book to get a grasp on these in-demand skills, and figure out how to apply them to become a professional web builder. You'll get valuable information from seven handy books covering the pieces of web programming, HTML5 & CSS3, JavaScript, PHP, MySQL, creating object-oriented programs, and using PHP frameworks.Helps you grasp the technologies that power web applications Covers PHP version 7.2 Includes coverage of the latest updates in web development Perfect for developers to use to solve problems This book is ideal for the inexperienced programmer interested in adding these skills to their toolbox. New coders who've made it through an online course or boot camp will also find great value in how this book builds on what you already know.

Disney Coding Adventures: First Steps for Kid Coders


Allyssa Loya - 2018
    Kids can start learning coding basics in a fun and easy way with favorite Disney characters in this four-book collection. No computer required!• Write instructions for friends with Anna, Elsa, and Olaf in an introduction to algorithms.• Learn to think like a coder by finding bugs and errors with Ralph.• Elastigirl and Dash help kids learn about conditionals: if-then statements that tell computers (or people!) what to do in different situations.• Dory, Nemo, and Destiny help kids learn about looping, by repeating instructions until certain conditions are met.Easy-to-do activities make learning coding basics fun and easy!This collection includes the books Algorithms with Frozen, Bugs and Errors with Wreck-It Ralph, Conditionals with Incredibles 2, and Looping with Finding Dory. A $30 value.

How Computers Work: The Evolution of Technology, 10th Edition (How It Works)


Ron white and 1 other - 2018
    In this new edition, you’ll find detailed information not just about PCs, but about how changes in technology have evolved the giant, expensive computer dinosaurs of last century into the smaller but more powerful smartphones, tablets, and wearable computing of today. Whether your interest is in business, gaming, digital photography, entertainment, communications, or security, you’ll learn how computing is evolving the way you live. A full-color, illustrated adventure into the wonders of TECHNOLOOGY This full-color, fully illustrated guide to the world of technology assumes nothing and explains everything. Only the accomplished and award-winning team of writer Ron White and artist Tim Downs has the unique ability to meld descriptive text with one-of-a-kind visuals to fully explain how the electronic gear we depend on every day is made possible. In addition to all the content you’ve come to expect from prior editions, this newly revised edition includes all-new coverage of topics such as: • How smartphones and tablet PCs put the power of a desktop computer in your hands–literally • How computing technology is linking our homes, work place, entertainment, and daily communications • How advances such as Facebook, Twitter, Google, eBay, and smartphones are expanding our universe of friends, knowledge, and opportunity • How increased miniaturization leads to new products, such as smartphone, smartwatches, and Google Glass • How computing technology takes advantages of quantum physics and innovations no one even imagined a few years ago For two decades, How Computers Work has helped newbies understand new technology, while hackers and IT pros have treasured it for the depth of knowledge it contains. This is the perfect book about computing to capture your imagination, delight your eyes, and expand your mind, no matter what your technical level! Beautifully detailed illustrations and jargon-free explanations walk you through the technology that is shaping our lives. See the hidden workings inside computers, smartphones, tablets, Google Glass, and the latest tech inventions.

Google Cloud Platform for Developers: Build highly scalable cloud solutions with the power of Google Cloud Platform


Ted Hunter - 2018
     Learn to create, deploy, and manage your applications on Google Cloud Platform. Use Google Cloud Plugins and IDEs to store and manage source codes and view real-time debugging of your Cloud-hosted applications Streamline developer workflows with Google Cloud tooling for real time debugging, alerting, and managed deployments. Book Description The Google Cloud Platform provides auto-scaling compute power and distributed in-memory cache, task queues and datastores to write, build, and deploy Cloud-hosted applications.With this book you will be able to develop and deploy scalable applications from scratch and make it globally available with almost any language. This book will teach you to desing, deploy, and manage applications running on Google Cloud. You’ll start with App Engine and move to Container Engine, Compute Engine, and Cloud Functions. After that you’ll learn how to integrate your new applications with the various data solutions on GCP including Datastore, Cloud SQL, BigTable, and Cloud Storage. Next this book will teach you how to streamline your workflow with tools like Source Repositories, Container Builder, StackDriver, and Deployment Manager. Along the way you’ll learn how to deploy and debug services with Intellij, implement continuous delivery pipelines, and configure robust monitoring and alerting for your production systems.By the end of this book, you will be well-versed with all the development tools of the Google Cloud Platform and will be able to develop, deploy, and manage highly scalable and reliable applications. What you will learn Gain a deep understanding of the various service offerings on GCP and when to use them Deploy and run services on managed platforms such as App Engine and Container Engine. Securely maintain application state with Cloud SQL, Cloud Storage, Datastore, and Bigtable. Leverage StackDriver monitoring and debugging to minimize downtime and mitigate issues without impacting users. Design and implement complex software solutions utilizing the full power of Google Cloud. Integrate with best-in-class Big Data solutions such as Bigquery, Dataflow, and Pub/Sub. Who This Book Is For This book is aimed at Software developers and DevOps engineers who want to get their hands on developing applications for one of the upcoming Cloud platforms.Some programming experience would be needed. About the Author Ted Hunter is a software engineering consultant working with fortune 500 companies to design cloud-native solutions and drive public cloud adoption, primarily within the Google ecosystem. He has a background in full stack development, DevOps transformation, and designing enterprise data solutions. He is currently a Solution Architect at Slalom Consulting, serving clients in the Southeastern United States.

Gentle Introduction to Dependent Types with Idris


Boro Sitnikovski - 2018
    Idris is a programming language that supports dependent types. We will learn about the mathematical foundations, and then write correct software and mathematically prove properties about it.This book aims to be accessible to novices that have no prior experience beyond high school mathematics. Thus, this book is designed to be self-contained.The first part of this book serves as an introduction to the theory behind Idris, while the second part is a practical introduction to Idris with examples.

Algorithms with Disney Frozen


Allyssa Loya - 2018
    Beloved characters Elsa and Anna, from Disney's Frozen franchise, draw in readers new to coding concepts.How do computers know what to do? Do they have brains? Of course not! People write lines of code that tell a computer what to do. Several lines of code make up an algorithm. You can write algorithms too! You can even write algorithms for a friend instead of a computer.

Bugs and Errors with Wreck-It Ralph


Allyssa Loya - 2018
    Do they ever make mistakes? Of course! People write code to tell computers what to do, but sometimes the code has a bug, or an error. This low-level introduction to computer-code bugs and errors is perfect for readers who are still a couple years away from coding on a computer. Bugs and errors are not exactly the same, but they are both mistakes in code that need to be fixed. Ralph, from the crowd-pleasing Wreck-It Ralph franchise, will build a connection with readers new to coding concepts and help them along the way.

Python Artificial Intelligence Projects: Build 9 practical real-world AI projects to encounter common challenges using TensorFlow and Keras


Santanu Pattanayak - 2018
     Get to the grips with TensorFlow, Keras, SciPy, Pandas and more to implement efficient and smart artificial intelligence applications Book Description Artificial Intelligence (AI) is growing rapidly making a computer think intelligently in a similar manner the intelligent humans think. A major thrust of AI is in the development of computer functions associated with human intelligence such as reasoning, problem-solving and intelligent learning. This book will be a perfect companion if you want to build insightful projects from leading AI domains.The book covers detailed implementation of Projects from all the core disciplines of AI like, Natural Language Based AI Systems, Generative adversarial Networks (GANs) based Applications, Expert Systems, AI-based Mobile Applications, AI Chat bots, Reinforcement Learning and more. These projects use all the modern aspects of Machine Learning, Deep Learning, and Reinforcement learning to solve critical new world challenges. We will be using libraries and frameworks from the Python ecosystem to bring the core aspects of Machine Learning, Deep learning and AI. This book aims to bridge the gap and enables the reader to translate his/her technical know-how into smart and scalable AI systems. Also, the technicalities associated with every application is touched upon in the right proportion so that readers have a seamless transition from the technicalities to the implementation.By the end of this book, you will be skilled enough to build your own smart models to tackle any kind of problems without any hassle. What you will learn Build intelligent Machine Translation System using sequence to sequence Neural Translation Machines Building scalable applications using GAN, Use TensorFlow Capabilities in deploying smart Mobile Apps Develop smart AI system to translate videos to text combining the power of Convolutional Neural Networks(CNN) & Recurrent Neural Networks(RNN) Combine Matrix Factorization Methods along with Restricted Boltzmann Machines in developing scalable Recommender Systems Learn the building blocks of a Smart AI Chatbot and how to integrate, extend them in interesting ways in several domains Build smart Image Retrieval Systems using advanced Neural Networks that combines both Recurrent and Convolutional Neural Networks Build smart Reinforcement Learning based applications using Q-Learning Who This Book Is For This book is intended for data scientists, machine learning professionals, and deep learning practitioners who are ready to extend their knowledge and possibilities in AI. If you want to build real-life smart systems to play a crucial role in every complex domain, then this book is what you need. Knowledge of Python programming and deep learning concepts are expected to get the most out of the book.

Unity Virtual Reality Projects: Create Interactive VR Projects with Unity 2018


Jonathan Linowes - 2018
     Build interactive environments with physics, gravity, animations, and lighting using the newly improved Unity 2018 engine Develop comfortable and immersive VR experiences, including techniques for optimizing performance, debugging, GPU rendering and devices Book Description If you are interested Virtual Reality, want to learn how it works, and want to create your own VR experiences, this book is for you.We walk you through a series of hands-on step-by-step tutorials, and in-depth discussions, using the Unity game engine.Using a practical and project-based approach, this book will get you upto speed with the specifics of virtual reality development in Unity. You will learn how to use Unity to develop VR applications which can be experienced with devices such as the Oculus Rift, Daydream View, and Playstation VR. We will learn to engage with virtual worlds from a third person and first person character point of view. Furthermore, you will explore the technical considerations especially important and possibly unique to VR. The projects in the book will demonstrate how to build a variety of VR experiences. You will be diving into the Unity 3D game engine via the interactive Unity Editor as well as C# programming. By the end of the book, you will be equipped to develop rich, interactive virtual reality experiences using Unity. What you will learn Setup Unity for Virtual Reality development, including various head-mounted displays and device-independent input handling; Understand, develop, and experience various kinds of VR experiences, including first person character, user interface, physics, teleportation, rendering, 360 degree media, and social VR; Understand, develop, and experience the characteristics of a virtual scene that make it feel like an immersive experience; Understand, develop, and experience techniques for user interface controls and interactivity within a virtual world; Understand, develop, and experience the issues and solutions of VR motion sickness and performance optimization; Develop using Unity C# scripting and learn software design patterns Limited use of Blender for creating and importing 3D models and textures Who This Book Is For If you're a non-programmer unfamiliar with 3D computer graphics, or experienced in both but new to virtual reality, and are interested in building your own VR games or applications then this book is for you. Any experience in Unity is an advantage. About the Author Jonathan Linowes is principal at Parkerhill Reality Labs, an immersive media Indie studio. He is a veritable 3D graphics enthusiast, Unity developer, successful entrepreneur, and teacher. He has a fine arts degree from Syracuse University and a master’s degree from the MIT Media Lab. He has founded several successful startups and held technical leadership positions at major corporations, including Autodesk Inc. He is the author of other books and videos by Packt, including Unity Virtual Reality Projects (2015) and Cardboard VR Projects for Android (2016).

Architecting Modern Data Platforms: A Guide to Enterprise Hadoop at Scale


Jan Kunigk - 2018
    With this practical book, you'll learn how to build big data infrastructure both on-premises and in the cloud and successfully architect a modern data platform.Ideal for enterprise architects, IT managers, application architects, and data engineers, this book shows you how to overcome the many challenges that emerge during Hadoop projects. You'll explore the vast landscape of tools available in the Hadoop and big data realm in a thorough technical primer before diving into:Infrastructure: Look at all component layers in a modern data platform, from the server to the data center, to establish a solid foundation for data in your enterprisePlatform: Understand aspects of deployment, operation, security, high availability, and disaster recovery, along with everything you need to know to integrate your platform with the rest of your enterprise ITTaking Hadoop to the cloud: Learn the important architectural aspects of running a big data platform in the cloud while maintaining enterprise security and high availability

Building Experiments in PsychoPy


Jonathan Peirce - 2018
    

Html, Css, and JavaScript All in One: Covering Html5, Css3, and Es6, Sams Teach Yourself


Julie C Meloni - 2018
    And these core technologies are only growing in importance as contemporary web development moves away from a reliance on proprietary technologies like Flash for rich interface and mobile applications. Teach Yourself HTML, CSS, and JavaScript All in One combines these three fundamental web development technologies into one clearly written, carefully organized, step-by-step tutorial that expertly guides the beginner through these three interconnected technologies. By the end of this book the reader will understand how these technologies work, and more importantly, how they work together to create modern web pages and sites. After completing the book's lessons the reader will be able to confidently create basic but professional-looking interactive web sites. Coverage of the HTML5, CSS3, and ECMAScript 6 standards is thoughtfully integrated into every chapter of the book, mentioning new features or tools within context of the task or topic at hand.

IOS 12 Programming Fundamentals with Swift: Swift, Xcode, and Cocoa Basics


Matt Neuburg - 2018
    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 lifecycle of an Xcode projectLearn how nibs are loadedUnderstand Cocoa's event-driven designCommunicate with C and Objective-CIn this edition, catch up on the latest iOS programming features.Self-synthesizing protocolsConditional conformanceDynamic member lookupMultiple selectionSource control improvementsAnd more!Once you master the fundamentals, you'll be ready to tackle the details of iOS app development with author Matt Neuburg's companion guide, Programming iOS 12.

Math Adventures with Python: An Illustrated Guide to Exploring Math with Code


Peter Farrell - 2018
    With the aid of the Python programming language, you'll learn how to visualize solutions to a range of math problems as you use code to explore key mathematical concepts like algebra, trigonometry, matrices, and cellular automata.Once you've learned the programming basics like loops and variables, you'll write your own programs to solve equations quickly, make cool things like an interactive rainbow grid, and automate tedious tasks like factoring numbers and finding square roots. You'll learn how to write functions to draw and manipulate shapes, create oscillating sine waves, and solve equations graphically.You'll also learn how to: - Draw and transform 2D and 3D graphics with matrices- Make colorful designs like the Mandelbrot and Julia sets with complex numbers- Use recursion to create fractals like the Koch snowflake and the Sierpinski triangle- Generate virtual sheep that graze on grass and multiply autonomously - Crack secret codes using genetic algorithmsAs you work through the book's numerous examples and increasingly challenging exercises, you'll code your own solutions, create beautiful visualizations, and see just how much more fun math can be!