Best of
Coding

2014

Web Design with Html, Css, JavaScript and Jquery Set


Jon Duckett - 2014
    Together these two books form an ideal platform for anyone who wants to master HTML and CSS before stepping up to JavaScript and jQuery.HTML & CSS covers structure, text, links, images, tables, forms, useful options, adding style with CSS, fonts, colors, thinking in boxes, styling lists and tables, layouts, grids, and even SEO, Google analytics, ftp, and HTML5. JavaScript & jQuery offers an excellent combined introduction to these two technologies using a clear and simple visual approach using diagrams, infographics, and photographs.A handy two-book set that uniquely combines related technologies Highly visual format and accessible language makes these books highly effective learning tools Perfect for beginning web designers and front-end developers

Automate the Boring Stuff with Python: Practical Programming for Total Beginners


Al Sweigart - 2014
    But what if you could have your computer do them for you?In "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. Once you've mastered the basics of programming, you'll create Python programs that effortlessly perform useful and impressive feats of automation to: Search for text in a file or across multiple filesCreate, update, move, and rename files and foldersSearch the Web and download online contentUpdate and format data in Excel spreadsheets of any sizeSplit, merge, watermark, and encrypt PDFsSend reminder emails and text notificationsFill out online formsStep-by-step instructions walk you through each program, and 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.""

CSS Secrets: Better Solutions to Everyday Web Design Problems


Lea Verou - 2014
    Based on two popular talks from author Lea Verou--including "CSS3 Secrets: 10 things you may not know about CSS"--this practical guide provides intermediate to advanced CSS developers with more than 40 undocumented techniques and tips for using CSS3 to create better websites.The talks that spawned this book have been top-rated by attendees in every conference they were presented, and praised in industry media such as ."net" magazine.Get information you won't find in any other bookLearn through small, easily digestible chaptersHelps you understand CSS more deeply so you can improve your own solutionsApply Lea's techniques to practically every CSS problem you faceGain tips from a rockstar author who serves as an Invited Expert in W3C's CSS Working Group

Adaptive Code Via C#: Agile Coding with Design Patterns and Solid Principles


Gary McLean Hall - 2014
    Your process may be agile, but are you building agility directly into the code base? This book teaches .NET programmers how to give code the flexibility to adapt to changing requirements and customer demands by applying cutting-edge techniques, including SOLID principles, design patterns, and other industry best practices.Understand why composition is preferable to inheritance and how flexible the interface really can be Gain deep knowledge of key design patterns and anti-patterns, when to apply them, and how to give their code agility Bridge the gap between the theory behind SOLID principles, design patterns, and industry best practices by pragmatically solving real-world problems Get code samples written in upcoming version of Microsoft Visual C# Topics include: Agile with Scrum process; dependencies and layering; the interface; patterns and anti-patterns; introduction to SOLID principles, including open/closed and dependency interjection; and using application templates

Node.js Design Patterns


Mario Casciaro - 2014
    What You Will Learn Design and implement a series of server-side JavaScript patterns so you understand why and when to apply them in different use case scenarios Understand the fundamental Node.js components and use them to their full potential Untangle your modules by organizing and connecting them coherently Reuse well-known solutions to circumvent common design and coding issues Deal with asynchronous code with comfort and ease Identify and prevent common problems, programming errors, and anti-patterns In Detail Node.js is a massively popular software platform that lets you use JavaScript to easily create scalable server-side applications. It allows you to create efficient code, enabling a more sustainable way of writing software made of only one language across the full stack, along with extreme levels of reusability, pragmatism, simplicity, and collaboration. Node.js is revolutionizing the web and the way people and companies create their software.In this book, we will take you on a journey across various ideas and components, and the challenges you would commonly encounter while designing and developing software using the Node.js platform. You will also discover the "Node.js way" of dealing with design and coding decisions.The book kicks off by exploring the fundamental principles and components that define the platform. It then shows you how to master asynchronous programming and how to design elegant and reusable components using well-known patterns and techniques. The book rounds off by teaching you the various approaches to scale, distribute, and integrate your Node.js application.

Head First JavaScript Programming


Eric Freeman - 2014
    Want to understand that code you've been copying and pasting into your web pages? And do it in a way that won't put you to sleep? Then Head First JavaScript Programming is for you. Learning a programming language is no easy task, but Head First JavaScript Programming uses puzzles, visuals, mysteries, interviews, and fun examples to make learning JavaScript fast, fun, and effective. But don't be fooled; you might be having a good time while you're learning JavaScript, but you're still learning all the serious stuff. Like how functions and objects work, what a callback is, how to interact with the web page using the Document Object Model, how to use arrays, and even what a closure is. JavaScript is one of the most popular languages in the world, and it's only getting more popular as the Web continues to grow. Learn JavaScript the Head First way, and get in on all the action.

Hands-On Programming with R: Write Your Own Functions and Simulations


Garrett Grolemund - 2014
    With this book, you'll learn how to load data, assemble and disassemble data objects, navigate R's environment system, write your own functions, and use all of R's programming tools.RStudio Master Instructor Garrett Grolemund not only teaches you how to program, but also shows you how to get more from R than just visualizing and modeling data. You'll gain valuable programming skills and support your work as a data scientist at the same time.Work hands-on with three practical data analysis projects based on casino gamesStore, retrieve, and change data values in your computer's memoryWrite programs and simulations that outperform those written by typical R usersUse R programming tools such as if else statements, for loops, and S3 classesLearn how to write lightning-fast vectorized R codeTake advantage of R's package system and debugging toolsPractice and apply R programming concepts as you learn them

Speaking JavaScript


Axel Rauschmayer - 2014
    This concise book guides you into and through JavaScript, written by a veteran programmer who once found himself in the same position. Speaking JavaScript helps you approach the language with four standalone sections. First, a quick-start guide teaches you just enough of the language to help you be productive right away. More experienced JavaScript programmers will find a complete and easy-to-read reference that covers each language feature in depth. Complete contents include: JavaScript quick start: Familiar with object-oriented programming? This part helps you learn JavaScript quickly and properly. JavaScript in depth: Learn details of ECMAScript 5, from syntax, variables, functions, and object-oriented programming to regular expressions and JSON with lots of examples. Pick a topic and jump in. Background: Understand JavaScript’s history and its relationship with other programming languages. Tips, tools, and libraries: Survey existing style guides, best practices, advanced techniques, module systems, package managers, build tools, and learning resources.

AAD Algorithms-Aided Design: Parametric Strategies using Grasshopper


Arturo Tedeschi - 2014
    Algorithms allow designers to overcome the limitations of traditional CAD software and 3D modelers, reaching a level of complexity and control which is beyond the human manual ability. Algorithms-Aided Design presents design methods based on the use of Grasshopper®, a visual algorithm editor tightly integrated with Rhinoceros®, the 3D modeling software by McNeel & Associates allowing users to explore accurate freeform shapes. The book provides computational techniques to develop and control complex geometries, covering parametric modeling, digital fabrication techniques, form-finding strategies, environmental analysis and structural optimization. It also features case studies and contributions by researchers and designers from world's most influential universities and leading architecture firms.

Flask Web Development: Developing Web Applications with Python


Miguel Grinberg - 2014
    With this hands-on book, you’ll learn Flask from the ground up by developing a complete social blogging application step-by-step. Author Miguel Grinberg walks you through the framework’s core functionality, and shows you how to extend applications with advanced web techniques such as database migration and web service communication.Rather than impose development guidelines as other frameworks do, Flask leaves the business of extensions up to you. If you have Python experience, this book shows you how to take advantage of that creative freedom.- Learn Flask’s basic application structure and write an example app- Work with must-have components—templates, databases, web forms, and email support- Use packages and modules to structure a large application that scales- Implement user authentication, roles, and profiles- Build a blogging feature by reusing templates, paginating item lists, and working with rich text- Use a Flask-based RESTful API to expose app functionality to smartphones, tablets, and other third-party clients- Learn how to run unit tests and enhance application performance- Explore options for deploying your web app to a production server

Kanban from the Inside: Understand the Kanban Method, connect it to what you already know, introduce it with impact


Mike Burrows - 2014
    Readers new to Kanban will understand why and how it works, while those with experience will appreciate its fresh perspective and the connections it makes with a range of related models.

Exercises in Programming Style


Cristina Videira Lopes - 2014
    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 33 different styles for writing the term frequency task. The styles are grouped into nine categories: historical, basic, function composition, objects and object interactions, reflection and metaprogramming, adversity, data-centric, concurrency, and interactivity. The author verbalizes 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.

JavaScript for Kids: A Playful Introduction to Programming


Nick Morgan - 2014
    With the help of kid-friendly examples, author Nick Morgan teaches the essentials of JavaScript. Morgan starts with the basics of strings, arrays, and loops, then moves on to show readers how to modify elements with jQuery and draw graphics with canvas. By the end of the book, you'll be ready to create your own fun animations and games and you'll have a solid understanding of the fundamentals of JavaScript.

The LEGO MINDSTORMS EV3 Discovery Book: A Beginner's Guide to Building and Programming Robots


Laurens Valk - 2014
    This full color book teaches you fundamental programming and robotics skills as you build and program powerful robots that move, monitor sensors, and respond to their environments. You will build seven increasingly sophisticated robots like the BRICK SORT3R (a robot that sorts bricks by color and size), the THE SNATCH3R (an autonomous robotic arm), and LAVA R3X (a humanoid that walks and talks). Valk also covers more advanced programming techniques like data wires and variables, and shows you how to create custom remote control programs. More than 100 building and programming challenges throughout encourage you to think creatively and to apply what you've learned to invent your own robots.

Effective Ruby: 48 Specific Ways to Write Better Ruby


Peter J. Jones - 2014
    Drawing on nearly a decade of Ruby experience, Peter J. Jones brings together 48 Ruby best practices, expert tips, and shortcuts--all supported by realistic code examples. Jones offers practical advice for each major area of Ruby development, from modules to memory to metaprogramming. Throughout, he uncovers little-known idioms, quirks, pitfalls, and intricacies that powerfully impact code behavior and performance. Each item contains specific, actionable, clearly organized guidelines; careful advice; detailed technical arguments; and illuminating code examples. When multiple options exist, Jones shows you how to choose the one that will work best in your situation. Effective Ruby will help you systematically improve your code--not by blindly following rules, but by thoroughly understanding Ruby programming techniques. Key features of this concise guide include How to avoid pitfalls associated with Ruby's sometimes surprising idiosyncrasies What you should know about inheritance hierarchies to successfully use Rails (and other large frameworks) How to use misunderstood methods to do amazingly useful things with collections Better ways to use exceptions to improve code reliability Powerful metaprogramming approaches (and techniques to avoid) Practical, efficient testing solutions, including MiniTest Unit and Spec Testing How to reliably manage RubyGem dependencies How to make the most of Ruby's memory management and profiling tools How to improve code efficiency by understanding the Ruby interpreter's internals

The Lego Mindstorms Ev3 Idea Book: 181 Simple Machines and Clever Contraptions


Yoshihito Isogawa - 2014
    Each model includes a list of the required parts, minimal text, and colorful photographs from multiple angles so you can re-create it without the need for step-by-step instructions.You'll learn to build cars with real suspension, steerable crawlers, ball-shooters, grasping robotic arms, and other creative marvels. Each model demonstrates simple mechanical principles that you can use as building blocks for your own creations.Best of all, every part you need to build these machines comes in one LEGO set (#31313)!

Bioinformatics Algorithms: An Active Learning Approach


Phillip Compeau - 2014
    A light-hearted and analogy-filled companion to the authors' acclaimed online course (http://coursera.org/course/bioinforma...), this book presents students with a dynamic approach to learning bioinformatics. It strikes a unique balance between practical challenges in modern biology and fundamental algorithmic ideas, thus capturing the interest of biology and computer science students alike.Each chapter begins with a central biological question, such as "Are There Fragile Regions in the Human Genome?" or "Which DNA Patterns Play the Role of Molecular Clocks?" and then steadily develops the algorithmic sophistication required to answer this question. Hundreds of exercises are incorporated directly into the text as soon as they are needed; readers can test their knowledge through automated coding challenges on Rosalind (http://rosalind.info), an online platform for learning bioinformatics.The textbook website (http://bioinformaticsalgorithms.org) directs readers toward additional educational materials, including video lectures and PowerPoint slides.

Help Your Kids with Computer Coding


Carol Vorderman - 2014
    Yet 9 out of 10 schools don't even offer computer science classes to students, according to code.org. Help correct this disparity by introducing your kids to the world of computer programming early, with a fun and approachable method. This book begins by introducing the essential concepts of programming with simple instructions, and without specialized computer lingo. Fun projects throughout let kids start putting their computer skills into practice and build their own code using Scratch programming and Python, the two most popular languages. Also included are profiles on coding stars and insights in technology such as the Raspberry Pi mini computer. In typical DK fashion, colorful graphics and step-by-step instructions assist readers in starting to think like their computers.

Core Java for the Impatient


Cay S. Horstmann - 2014
    Many old Java idioms are no longer required and new features like lambda expressions will increase programmer productivity, but navigating these changes can be challenging. Core Java(R) for the Impatient is a complete but concise guide to Java SE 8. Written by Cay Horstmann--the author of Java SE 8 for the Really Impatient and Core Java(TM), the classic, two-volume introduction to the Java language--this indispensable new tutorial offers a faster, easier pathway for learning the language and libraries. Given the size of the language and the scope of the new features introduced in Java SE 8, there's plenty of material to cover, but it's presented in small chunks organized for quick access and easy understanding. If you're an experienced programmer, Horstmann's practical insights and sample code will help you quickly take advantage of lambda expressions (closures), streams, and other Java language and platform improvements. Horstmann covers everything developers need to know about modern Java, including Crisp and effective coverage of lambda expressions, enabling you to express actions with a concise syntax A thorough introduction to the new streams API, which makes working with data far more flexible and efficient A treatment of concurrent programming that encourages you to design your programs in terms of cooperating tasks instead of low-level threads and locks Up-to-date coverage of new libraries like Date and Time Other new features that will be especially valuable for server-side or mobile programmers Whether you are just getting started with modern Java or are an experienced developer, this guide will be invaluable for anyone who wants to write tomorrow's most robust, efficient, and secure Java code.

Data Scientist: The Definitive Guide to Becoming a Data Scientist


Zacharias Voulgaris - 2014
    If you want to be on the leading edge of what is sure to become a major profession in the not-too-distant future, this book can show you how. Each chapter is filled with practical information that will help you reap the fruits of big data and become a successful Data Scientist: Learn what big data is and how it differs from traditional data through its main characteristics: volume, variety, velocity, and veracity. Explore the different types of Data Scientists and the skillset each one has. Dig into what the role of the Data Scientist requires in terms of the relevant mindset, technical skills, experience, and how the Data Scientist connects with other people. Be a Data Scientist for a day, examining the problems you may encounter and how you tackle them, what programs you use, and how you expand your knowledge and know-how. See how you can become a Data Scientist, based on where you are starting from: a programming, machine learning, or data-related background. Follow step-by-step through the process of landing a Data Scientist job: where you need to look, how you would present yourself to a potential employer, and what it takes to follow a freelancer path. Read the case studies of experienced, senior-level Data Scientists, in an attempt to get a better perspective of what this role is, in practice. At the end of the book, there is a glossary of the most important terms that have been introduced, as well as three appendices - a list of useful sites, some relevant articles on the web, and a list of offline resources for further reading.

Wordpress: Design and Build Websites


Jon Duckett - 2014
    While it does not teach server-side programming in depth, it does teach enough PHP for readers to customise WordPress themes and understand core concepts like variables and loops. "WordPress: Design & Development" uses the same graphical approach that was adopted in "HTML & CSS "which has proven very popular with readers. The examples and sample themes used in the book are of the same quality as commercial themes (not just proof-of-concept examples), and achieve the same kinds of things that WordPress users pay for in commercial themes. The title also makes use of lifestyle photography to inspire the reader and make the skills taught by this book feel aspirational. Along the way, readers are given tips on developing WordPress sites for clients, and managing the ongoing needs of the client. The book covers: Creating Content: Posts & Pages Administration: Tools Creating and Updating Content Understanding Theme Files Displaying Single Posts Displaying Single Pages Home Pages & Section Pages Headers, Footers, & Menus Galleries, Audio, Video Sidebar & Widgets Reader comments Functions.php, Actions, Filters, Hooks, & Shortcodes Plugins Custom Posts & Taxonomies Install, Backup, Moving, Optimizing

Learn to Program with Scratch: A Visual Introduction to Programming with Art, Science, Math and Games


Majed Marji - 2014
    Its playful, intuitive interface uses colorful programming blocks and cartoon sprites to make real programming more approachable. Learn to Program with Scratchshows just how much you can do with Scratch and teaches you essential, universal programming concepts along the way.In Learn to Program with Scratch, author Majed Marji takes you on a tour through Scratch's surprisingly powerful features to teach programming concepts like procedures, variables, loops, recursion, decision making, and lists. You will use your new-found skills to create science simulations, math projects, and even some fun arcade games! Each chapter offers a summary and practice exercises at the end to make sure the lessons stick.Scratch is an incredibly fun and easy language to learn, plus you can do some seriously potent programming with it. Learn to Program with Scratch will help you get the most out of Scratch and begin your journey into the world of programming.

Learning Computer Architecture with Raspberry Pi


Eben Upton - 2014
    Now, a second revolution in computing is beginning with the Raspberry Pi. "Learning Computer Architecture with the Raspberry Pi" is the premier guide to understanding the components of the most exciting tech product available. Thanks to this book, every Raspberry Pi owner can understand how the computer works and how to access all of its hardware and software capabilities.Since it was released on 2012, over 2 1/2 million Raspberry Pi units have been sold. Now, students, hackers, and casual users alike can discover how computers work with "Learning Computer Architecture with the Raspberry Pi." This book explains what each and every hardware component does, how they relate to one another, and how they correspond to the components of other computing systems. You'll also learn how programming works and how the operating system relates to the Raspberry Pi's physical components. Co-authored by Eben Upton, one of the creators of the Raspberry Pi, this is a companion volume to the "Raspberry Pi User Guide" An affordable solution for learning about computer system design considerations and experimenting with low-level programming Understandable descriptions of the functions of memory storage, Ethernet, cameras, processors, and more Gain knowledge of computer design and operation in general by exploring the basic structure of the Raspberry PiThe Raspberry Pi was created to bring forth a new generation of computer scientists, developers, and architects who understand the inner workings of the computers that have become essential to our daily lives. "Learning Computer Architecture with the Raspberry Pi" is your gateway to the world of computer system design.

The Tao of User Experience


Robert Hoekman Jr. - 2014
    It's the culmination of everything I've learned, all the things I find myself wanting to teach junior designers, to CEOs, to programmers, and anyone else who needs UX advice.

How Hard Is: Mql4 Programming? Let's Find Out! A beginner's guide. (Jim Dandy's Mql4 Programming Books. Book 1)


Jim Hodges - 2014
    If you are an absolute beginner and know nothing about programming languages or where to even begin, this book is for you. Five years ago I was where you are now, wanting to learn how to automate my manual trading strategy into a trading robot so that I could spend less time in front of the computer and more time living life. After several years of persistent studying, I was able to write my own programs for myself and others and share them with friends. Some of them have been marketed successfully all over the world and are still in use to this very day. A couple of years ago I began putting videos on Youtube under the name of Jmdandy1958. I discovered something about myself that I did not know. Not only do I get a great satisfaction from teaching, but, I also seem to be able to make the complicated seem simple to my students. After much demand I put up a site called JimdandyForex.com where my viewers could download the files that I wrote in my Youtube videos. As demand grew, I decided to develop a more structured video series at JimdandyMql4Courses.com that starts with the fundamentals and works it's way up to the writing of robust trading programs. By progressing through the 4 levels of that course, students are able to program their own software as well as download some valuable trading programs that I have written. Along the way, many times my students have asked for written material. This book in a way is an experiment. I am really interested in knowing if I can in fact, accomplish in writing what I am able to convey in my videos. Can I really make it easy for you to learn this language? This language underwent a major change in February of 2014 causing a great deal of confusion. Any book written on the subject before that date will contain outdated information that no longer works. Even my youtube videos and some of my tutorial videos became outdated because of the new way of coding. What I hope to accomplish with this book is to convince you that this language is not too complicated for you to learn and to inspire you to want to learn more by coming to my tutorial site and sign up for the first level of my course. At the same time it will let you know if you are really capable of learning to program or not. And if not, you will not be wasting your money on courses that you can not understand. In this book I will be teaching you some basic fundamentals about programming such as: What are the basic kinds of programs can we write? Where are they kept on my computer? What functions do each type of program use? How is the code different than it was before February 2014? What really happens when we compile a file? After answering these and many other questions, we will actually sit down together and write a simple Expert Advisor. Then we will later turn it into a Custom Indicator that is really useful. I keep it on all of my charts. This is not a simple "type what I type" book. I will explain what we are doing and why we are doing it, every step of the way. You will not only write a program, but you will fully understand what you wrote. Then you are free to experiment with it. We then learn how to put a button on our charts and program it to do what we want. I also explain to you in simple terms one of the most difficult to understand concepts about programming, in an effort to assure you that you CAN learn this. It is my hope that you will sit down with this little Ebook on your kindle or Ipad at your computer and follow along and learn what fun this can be! Depending on the response I receive and the reviews I receive here on Amazon, I will decide to continue on with the next book in the series.

Modernizing Legacy Applications in PHP


Paul M. Jones - 2014
    Get your code under control in a series of small, specific steps.As you apply these incremental refactorings in order, each one building on the last, you will steadily transform your legacy PHP application from a spaghetti mess to an organized, modern, testable application, free of globals and mixed concerns.

Your First Meteor Application: A Complete Beginner's Guide to the Meteor JavaScript Framework (Meteor Tutorial Book 1)


David Turnbull - 2014
    It’s powerful enough to create incredible, real-time web applications with less code and less repetition, but it’s also simple enough that even people with just a basic grasp of JavaScript can make significant process in a short amount of time.When I first came across Meteor though, the current training materials were: Unnecessarily complicated considering how simple Meteor development can be. Overly bloated with details that didn’t strictly relate to working with Meteor itself. Better suited for experienced developers, rather than those just getting started. Combined with the fact that I’d grown up reading bad books about programming, I asked myself: “Why don’t I write the book about Meteor that I’d want to read?”Less than a year later, here I am with Your First Meteor Application: A Complete Beginner’s Guide to the Meteor JavaScript Framework — a highly-rated book about Meteor that is by far the best resource for getting started with the framework in a matter of hours.Think I’m exaggerating? Download the sample. You’ll soon see the truth. DISCOVER: How To Build Real-Time Web Applications This book isn’t for everyone. It’s precisely designed for beginning developers. This means every chapter and every example is designed for people who have: A basic understanding of JavaScript A very basic understanding of databases. If you’re mostly a front-end developer, or maybe you’ve just dabbled in programming languages like PHP or Ruby but have never made significant progress, then this book is for you. It doesn’t just regurgitate the official documentation for Meteor, and it doesn’t read like most technical books. INSIDE: Everything You Need To Get Started with Meteor Despite being a relatively short book, Your First Meteor Application contains: A complete, step-by-step introduction to installing Meteor and getting started with the command line. Beginner-focused tips to get developers started with the framework as quickly as possible. Exercises at the end of every chapter to help test your knowledge and deepen your understanding of Meteor. Project-based instruction that’s designed to give you insight into real-world development. Plenty of images, code samples, and chapter summaries to help you grasp everything you read. You’ll learn how to: Develop with Meteor on any platform. Operate your computer with the command line. Manage a MongoDB database within a Meteor application. Design real-time interfaces with the use of templates. Hook into browser events like button clicks and form submissions. Update data inside a database with clever MongoDB functions. Create a complete user accounts system in a matter of minutes. Secure your application to make it ready for the world. Deploy your application to the web so people can start using it.

From Mathematics to Generic Programming


Alexander A. Stepanov - 2014
    If you're a reasonably proficient programmer who can think logically, you have all the background you'll need. Stepanov and Rose introduce the relevant abstract algebra and number theory with exceptional clarity. They carefully explain the problems mathematicians first needed to solve, and then show how these mathematical solutions translate to generic programming and the creation of more effective and elegant code. To demonstrate the crucial role these mathematical principles play in many modern applications, the authors show how to use these results and generalized algorithms to implement a real-world public-key cryptosystem. As you read this book, you'll master the thought processes necessary for effective programming and learn how to generalize narrowly conceived algorithms to widen their usefulness without losing efficiency. You'll also gain deep insight into the value of mathematics to programming--insight that will prove invaluable no matter what programming languages and paradigms you use. You will learn aboutHow to generalize a four thousand-year-old algorithm, demonstrating indispensable lessons about clarity and efficiencyAncient paradoxes, beautiful theorems, and the productive tension between continuous and discreteA simple algorithm for finding greatest common divisor (GCD) and modern abstractions that build on itPowerful mathematical approaches to abstractionHow abstract algebra provides the idea at the heart of generic programmingAxioms, proofs, theories, and models: using mathematical techniques to organize knowledge about your algorithms and data structuresSurprising subtleties of simple programming tasks and what you can learn from themHow practical implementations can exploit theoretical knowledge

Raspberry Pi Cookbook for Python Programmers


Tim Cox - 2014
    The aim of this book is to bring you a broad range of Python 3 examples and practical ideas which you can develop to suit your own requirements. By modifying and combining the examples to create your own projects you learn far more effectively with a much greater understanding. Each chapter is designed to become a foundation for further experimentation and discovery of the topic, providing you with the tools and information to jump right in. Readers are expected to be familiar with programming concepts and Python (where possible Python 3 is used), although beginners should manage with the help of a good Python reference book and background reading. No prior knowledge of the Raspberry Pi or electronics is required; however for the hardware sections you will need some basic electronic components/household tools to build some of the projects.

Introduction to Modern Cryptography (Chapman & Hall/CRC Cryptography and Network Security Series)


Jonathan Katz - 2014
    Introduction to Modern Cryptography provides a rigorous yet accessible treatment of this fascinating subject. The authors introduce the core principles of modern cryptography, with an emphasis on formal definitions, clear assumptions, and rigorous proofs of security. The book begins by focusing on private-key cryptography, including an extensive treatment of private-key encryption, message authentication codes, and hash functions. The authors also present design principles for widely used stream ciphers and block ciphers including RC4, DES, and AES, plus provide provable constructions of stream ciphers and block ciphers from lower-level primitives. The second half of the book covers public-key cryptography, beginning with a self-contained introduction to the number theory needed to understand the RSA, Diffie-Hellman, and El Gamal cryptosystems (and others), followed by a thorough treatment of several standardized public-key encryption and digital signature schemes. Integrating a more practical perspective without sacrificing rigor, this widely anticipated Second Edition offers improved treatment of: Stream ciphers and block ciphers, including modes of operation and design principles Authenticated encryption and secure communication sessions Hash functions, including hash-function applications and design principles Attacks on poorly implemented cryptography, including attacks on chained-CBC encryption, padding-oracle attacks, and timing attacks The random-oracle model and its application to several standardized, widely used public-key encryption and signature schemes Elliptic-curve cryptography and associated standards such as DSA/ECDSA and DHIES/ECIES Containing updated exercises and worked examples, Introduction to Modern Cryptography, Second Edition can serve as a textbook for undergraduate- or graduate-level courses in cryptography, a valuable reference for researchers and practitioners, or a general introduction suitable for self-study.

Programming Windows Store Apps with HTML, CSS, and JavaScript


Kraig Brockschmidt - 2014
    The ebook includes 20 chapters and 4 appendices.

Sylvia's Super-Awesome Project Book: Super-Simple Arduino (Volume 2)


Sylvia Super-Awesome Todd - 2014
    Her Web video series, Super-Awesome Sylvia's Super-Awesome Maker Show, has millions of views. In this super fun book, Sylvia teaches you to understand Arduino microcontroller programming by inventing an adjustable strobe and two digital musical instruments you can play! Along the way, you'll learn a lot about electronics, coding, science, and engineering. Sylvia has been to the White House twice, spoken at the UN, delivered several TEDx talks and presented at countless Maker Faires around the world. She has been profiled in countless media outlets including ABC World News Tonight, the New York Times, the Katie Couric Show and the cover of Make Magazine. Sylvia is also inventor of the WaterColorBot, painting robot kit. Find more cool projects and resources at superawesomebook.com!

Build Your Own Lisp


Daniel Holden - 2014
    In under 1000 lines of code you’ll start building your very own programming language, and in doing so learn how to program in C, one of the world’s most important programming languages. Along the way we’ll learn about the weird and wonderful nature of Lisps, the unique techniques behind function programming, the methods used to concisely solve problems, and the art of writing beautiful code. Build Your Own Lisp is a fun and creative journey through a fascinating area of computer science, and an essential read for any programmer, new or old!

Artificial Cognitive Systems: A Primer


David Vernon - 2014
    Cognition, both natural and artificial, is about anticipating the need for action and developing the capacity to predict the outcome of those actions. Drawing on artificial intelligence, developmental psychology, and cognitive neuroscience, the field of artificial cognitive systems has as its ultimate goal the creation of computer-based systems that can interact with humans and serve society in a variety of ways. This primer brings together recent work in cognitive science and cognitive robotics to offer readers a solid grounding on key issues.The book first develops a working definition of cognitive systems--broad enough to encompass multiple views of the subject and deep enough to help in the formulation of theories and models. It surveys the cognitivist, emergent, and hybrid paradigms of cognitive science and discusses cognitive architectures derived from them. It then turns to the key issues, with chapters devoted to autonomy, embodiment, learning and development, memory and prospection, knowledge and representation, and social cognition. Ideas are introduced in an intuitive, natural order, with an emphasis on the relationships among ideas and building to an overview of the field. The main text is straightforward and succinct; sidenotes drill deeper on specific topics and provide contextual links to further reading.

Mathematics and Python Programming


J.C. Bautista - 2014
    All the programs and graphics of the book have been developed using free software, which you can obtain free and legally on the internet, so it is not necessary to buy any software. Python is currently the most popular language for teaching introductory computer science courses at top-ranked U.S. universities. You can freely write Python programs whether you are a Windows user or whether you prefer Mac or Linux. A free pdf excerpt is available at our website www.pysamples.com. The buyers of the book can also download the code of the Python programs. The book consists of a detailed introduction to Python, followed by ten chapters of mathematics with its corresponding Python programs, results and graphs.

Java in a Nutshell: A Desktop Quick Reference


Benjamin J. Evans - 2014
    Chock full of examples that demonstrate how to take complete advantage of modern Java APIs and development best practices, the first section of this thoroughly updated book provides a fast-paced, no-fluff introduction to the Java programming language and the core runtime aspects of the Java platform.The second section is a reference to core concepts and APIs that shows you how to perform real programming work in the Java environment. Get up to speed on language details, including Java 8 changes Learn object-oriented programming, using basic Java syntax Explore generics, enumerations, annotations, and lambda expressions Understand basic techniques used in object-oriented design Examine concurrency and memory, and how they’re intertwined Work with Java collections and handle common data formats Delve into Java’s latest I/O APIs, including asynchronous channels Use Nashorn to execute JavaScript on the Java Virtual Machine Become familiar with development tools in OpenJDK

Ultimate App Making Guide: The Beginner's Guide to Setting up Their App Development Business


Callum Mackay - 2014
    More & more people are plunging into the world of application development. More & more businesses, big or small startup entities, they all make sure that they are present for their customers 24/7 and what better way can there be other than creating an application for their smartphones? This book has been compiled to serve as the user guide for a complete beginner. This book contains - > Step by step guide to Android Development > Step by step guide to iOS Development > Step by step guide to Windows Development > Various online resources & tools you can use to boost your efforts > Reskinning & much more! This book will serve as your manual to the application development process. It has been kept in account that the book is written in such a way that even a non-tech savvy person will be able to create his or her own application by the end of this book. So muster up your tools & start reading!

Learning To Program


Steven Foote - 2014