Categories


Data Structures and Algorithms in Python

Based on the authors market leading data structures books in Java and C++, this book offers a comprehensive, definitive introduction to data structures in Python by authoritative authors. Data Structures and Algorithms in Python is the first authoritative object-oriented book available for Python data structures. Designed to provide a comprehensive introduction to data structures and algorithms, including their design, analysis, and implementation, the text will maintain the same general structure as Data Structures and Algorithms in Java and Data Structures and Algorithms in C++. * Begins by discussing Python s conceptually simple syntax, which allows for a greater focus on concepts. * Employs a consistent object-oriented viewpoint throughout the text. * Presents each data structure using ADTs and their respective implementations and introduces important design patterns as a means to organize those implementations into classes, methods, and objects. * Provides a thorough discussion on the analysis and design of fundamental data structures. * Includes many helpful Python code examples, with source code provided on the website. * Uses illustrations to present data structures and algorithms, as well as their analysis, in a clear, visual manner. * Provides hundreds of exercises that promote creativity, help readers learn how to think like programmers, and reinforce important concepts. * Contains many Python-code and pseudo-code fragments, and hundreds of exercises, which are divided into roughly 40% reinforcement exercises, 40% creativity exercises, and 20% programming projects.


Fluent Python

Python’s simplicity lets you become productive quickly, but this often means you aren’t using everything it has to offer. With this hands-on guide, you’ll learn how to write effective, idiomatic Python code by leveraging its best—and possibly most neglected—features. Author Luciano Ramalho takes you through Python’s core language features and libraries, and shows you how to make your code shorter, faster, and more readable at the same time.

Many experienced programmers try to bend Python to fit patterns they learned from other languages, and never discover Python features outside of their experience. With this book, those Python programmers will thoroughly learn how to become proficient in Python 3.


Introduction to Machine Learning with Python

Machine learning has become an integral part of many commercial applications and research projects, but this field is not exclusive to large companies with extensive research teams. If you use Python, even as a beginner, this book will teach you practical ways to build your own machine learning solutions. With all the data available today, machine learning applications are limited only by your imagination.


Discovering Modern C++: An Intensive Course for Scientists, Engineers, and Programmers

As scientific and engineering projects grow larger and more complex, it is increasingly likely that those projects will be written in C++. With embedded hardware growing more powerful, much of its software is moving to C++, too. Mastering C++ gives you strong skills for programming at nearly every level, from “close to the hardware” to the highest-level abstractions. In short, C++ is a language that scientific and technical practitioners need to know.


Data Structures and Algorithms in Java

Data Structures and Algorithms in Java, Second Edition is designed to be easy to read and understand although the topic itself is complicated. Algorithms are the procedures that software programs use to manipulate data structures. Besides clear and simple example programs, the author includes a workshop as a small demonstration program executable on a Web browser. The programs demonstrate in graphical form what data structures look like and how they operate. In the second edition, the program is rewritten to improve operation and clarify the algorithms, the example programs are revised to work with the latest version of the Java JDK, and questions and exercises will be added at the end of each chapter making the book even more useful.


Data Structures and Program Design in C++

Progressing from the concrete to the abstract — and using numerous, substantial case studies and sample programs — this book explores structured problem solving, data abstraction, software engineering principles, and the comparative analysis of algorithms as fundamental tools of program design. The book and all programs have been completely written from the Object-Oriented perspective. Uses the C++ programming language throughout. Briefly reviews the syntax of C++ and provides a brief introduction to the language. The book is native C++ making full use of C++ features and object-oriented programming. Discusses major principles of software engineering and applies them to large programming projects. Covers several more advanced, modern topics, e.g.: Splay trees, Red-black trees, Amortized algorithm analysis.


Head First Python

Ever wished you could learn Python from a book? Head First Python is a complete learning experience for Python that helps you learn the language through a unique method that goes beyond syntax and how-to manuals, helping you understand how to be a great Python programmer. You'll quickly learn the language's fundamentals, then move onto persistence, exception handling, web development, SQLite, data wrangling, and Google App Engine. You'll also learn how to write mobile apps for Android, all thanks to the power that Python gives you.

We think your time is too valuable to waste struggling with new concepts. Using the latest research in cognitive science and learning theory to craft a multi-sensory learning experience, Head First Python uses a visually rich format designed for the way your brain works, not a text-heavy approach that puts you to sleep.


Head First Java: A Brain-Friendly Guide

Computer programming language Java is not easy to understand. It takes lot of time and practice to understand the complex programming language. But this book takes an interactive and fun approach for better understanding of different fundamentals of Java. The book offers multi-sensory and fun learning experience for new programmers, so they can easily pick up the new language.

Human brain responds and remembers unusual situations, images or incidents. Keeping that in mind, this revised second edition of the book has been presented with lots of humorous images, memorable analogies and mind-bending exercises. The language in which the book is written is also casual for better understanding of the difficult computer programming language.

Although it follows a causal approach, the book refers to some serious computer-related information that encourages readers to learn and think like professional Java programmers. The book focuses on Java 5.0, the latest version of the Java development platform, along with certain deep code-levels. From basic programming fundamentals to advanced topics, including threads, distributed programming with RMI and network sockets, the book covers almost all major Java concepts.


Mastering Algorithms with C

There are many books on data structures and algorithms, including some with useful libraries of C functions. Mastering Algorithms with C offers you a unique combination of theoretical background and working code. With robust solutions for everyday programming tasks, this book avoids the abstract style of most classic data structures and algorithms texts, but still provides all of the information you need to understand the purpose and use of common programming techniques.

Implementations, as well as interesting, real-world examples of each data structure and algorithm, are included.

Using both a programming style and a writing style that are exceptionally clean, Kyle Loudon shows you how to use such essential data structures as lists, stacks, queues, sets, trees, heaps, priority queues, and graphs. He explains how to use algorithms for sorting, searching, numerical analysis, data compression, data encryption, common graph problems, and computational geometry. And he describes the relative efficiency of all implementations. The compression and encryption chapters not only give you working code for reasonably efficient solutions, they offer explanations of concepts in an approachable manner for people who never have had the time or expertise to study them in depth.


Algorithms in C

Robert Sedgewick has thoroughly rewritten and substantially expanded his popular work to provide current and comprehensive coverage of important algorithms and data structures. Many new algorithms are presented, and the explanations of each algorithm are much more detailed than in previous editions. A new text design and detailed, innovative figures, with accompanying commentary, greatly enhance the presentation. The third edition retains the successful blend of theory and practice that has made Sedgewick's work an invaluable resource for more than 250,000 programmers!

This particular book, Parts 1-4, represents the essential first half of Sedgewick's complete work. It provides extensive coverage of fundamental data structures and algorithms for sorting, searching, and related applications. The algorithms and data structures are expressed in concise implementations in C so that you can both appreciate their fundamental properties and test them on real applications. Of course, the substance of the book applies to programme in any language.


Clean Code: A Handbook of Agile Software Craftsmanship

Noted software expert Robert C. Martin presents a revolutionary paradigm with Clean Code: A Handbook of Agile Software Craftsmanship. Martin has teamed up with his colleagues from Object Mentor to distill their best agile practice of cleaning code “on the fly” into a book that will instill within you the values of a software craftsman and make you a better programmer―but only if you work at it.

What kind of work will you be doing? You’ll be reading code―lots of code. And you will be challenged to think about what’s right about that code and what’s wrong with it. More importantly, you will be challenged to reassess your professional values and your commitment to your craft.


JavaScript: The Good Parts

Most programming languages contain good and bad parts, but JavaScript has more than its share of the bad, having been developed and released in a hurry before it could be refined. This authoritative book scrapes away these bad features to reveal a subset of JavaScript that's more reliable, readable, and maintainable than the language as a whole—a subset you can use to create truly extensible and efficient code.


C# 4.0 The Complete Reference

Bestselling author Herb Schildt has updated and expanded his classic programming reference to cover C# 4.0--the latest release of this powerful, feature-rich language. Using carefully crafted explanations, insider tips, and hundreds of examples, C# 4.0: The Complete Reference offers in-depth details on all aspects of C#, including keywords, syntax, and core libraries. New C# 4.0 features, such as named and optional arguments, the dynamic type, expanded covariance and contravariance capabilities, and support for parallel programming with the Task Parallel Library (TPL) and PLINQ are also discussed.

Perfect for beginners and professional C# programmers alike, this expert resource is written in the clear, crisp, uncompromising style that has made Herb the choice of millions worldwide. Begin mastering C# 4.0 today with help from this authoritative volume!


Head First Object-Oriented Analysis and Design

"Hidden behind the funny pictures and crazy fonts is a serious, intelligent, extremely well-crafted presentation of OO Analysis and Design. As I read the book, I felt like I was looking over the shoulder of an expert designer who was explaining to me what issues were important at each step, and why."
--Edward Sciore, Associate Professor, Computer Science Department, Boston College

Tired of reading Object Oriented Analysis and Design books that only makes sense after you're an expert? You've heard OOA&D can help you write great software every time-software that makes your boss happy, your customers satisfied and gives you more time to do what makes you happy. But how?


You Don't Know Js

No matter how much experience you have with JavaScript, odds are you don’t fully understand the language. This concise yet in-depth guide takes you inside scope and closures, two core concepts you need to know to become a more efficient and effective JavaScript programmer. You’ll learn how and why they work, and how an understanding of closures can be a powerful part of your development skillset.

Like other books in the "You Don’t Know JS" series, Scope and Closures dives into trickier parts of the language that many JavaScript programmers simply avoid. Armed with this knowledge, you can achieve true JavaScript mastery.


Beginning Hibernate

Beginning Hibernate, Third Edition is ideal if you’re experienced in Java with databases (the traditional, or "connected," approach), but new to open-source, lightweight Hibernate, a leading object-relational mapping and database-oriented application development framework.

This book packs in information about the release of the Hibernate 4.x persistence layer and provides a clear introduction to the current standard for object-relational persistence in Java. And since the book keeps its focus on Hibernate without wasting time on nonessential third-party tools, you’ll be able to immediately start building transaction-based engines and applications.

Experienced authors Joseph Ottinger with Dave Minter and Jeff Linwood provide more in-depth examples than any other book for Hibernate beginners. The authors also present material in a lively, example-based manner—not a dry, theoretical, hard-to-read fashion.


Spring Boot Cookbook

Spring Boot is Spring's convention-over-configuration solution. This feature makes it easy to create Spring applications and services with absolute minimum fuss. Spring Boot has the great ability to be customized and enhanced and is specifically designed to simplify the development of a new Spring application.

This book will provide many detailed insights into the inner workings of Spring Boot, as well as tips and recipes to integrate the third-party frameworks and components needed to build complex enterprise-scale applications.

The book starts with an overview of the important and useful Spring Boot starters that are included in the framework, and teaches you to create and add custom Servlet Filters, Interceptors, Converters, Formatters, and PropertyEditors to a Spring Boot web application. Next, it will cover configuring custom routing rules and patterns, adding additional static asset paths, and adding and modifying servlet container connectors and other properties such as enabling SSL.


Accelerated C++: Practical Programming by Example

Want to learn how to program in C++ immediately? Want to start writing better, more powerful C++ programs today? Accelerated C++'s uniquely modern approach will help you learn faster and more fluently than you ever believed possible. Based on the authors' intensive summer C++ courses at Stanford University, Accelerated C++ covers virtually every concept that most professional C++ programmers will ever use -- but it turns the "traditional" C++ curriculum upside down, starting with the high-level C++ data structures and algorithms that let you write robust programs immediately. Once you're getting results, Accelerated C++ takes you "under the hood," introducing complex language features such as memory management in context, and explaining exactly how and when to use them. From start to finish, the book concentrates on solving problems, rather than learning language and library features for their own sake. The result: You'll be writing real-world programs in no time -- and outstanding code faster than you ever imagined.


Essential PHP Security

Being highly flexible in building dynamic, database-driven web applications makes the PHP programming language one of the most popular web development tools in use today. It also works beautifully with other open source tools, such as the MySQL database and the Apache web server. However, as more web sites are developed in PHP, they become targets for malicious attackers, and developers need to prepare for the attacks.


Game Theory: An Introduction

This comprehensive textbook introduces readers to the principal ideas and applications of game theory, in a style that combines rigor with accessibility. Steven Tadelis begins with a concise description of rational decision making, and goes on to discuss strategic and extensive form games with complete information, Bayesian games, and extensive form games with imperfect information. He covers a host of topics, including multistage and repeated games, bargaining theory, auctions, rent-seeking games, mechanism design, signaling games, reputation building, and information transmission games. Unlike other books on game theory, this one begins with the idea of rationality and explores its implications for multiperson decision problems through concepts like dominated strategies and rationalizability. Only then does it present the subject of Nash equilibrium and its derivatives.


Python GUI Programming Cookbook

If you are a Python programmer with intermediate level knowledge of GUI programming and want to learn how to create beautiful, effective, and responsive GUIs using the freely available Python GUI frameworks, this book is for you.


The Joy of Game Theory

This book is a selection of the best articles from Game Theory Tuesdays, a column from the blog Mind Your Decisions. Articles from Game Theory Tuesdays have been referenced in The Freakonomics BlogYahoo Finance, and CNN.com. Game theory is the study of interactive decision making--that is, in situations where each person's action affects the outcome for the whole group. Game theory is a beautiful subject and this book will teach you how to understand the theory and practically implement solutions through a series of stories and the aid of over 30 illustrations. This book has two primary objectives. (1) To help you recognize strategic games, like the Prisoner's Dilemma, Bertrand Duopoly, Hotelling's Game, the Game of Chicken, and Mutually Assured Destruction. (2) To show you how to make better decisions and change the game, a powerful concept that can transform no-win situations into mutually beneficial outcomes.


Microcavities

Rapid development of microfabrication and assembly of nanostructures has opened up many opportunities to miniaturize structures that confine light, producing unusual and extremely interesting optical properties. Microcavities addresses the large variety of optical phenomena taking place in confined solid state structures: microcavities. Realisations include planar and pillar microcavities, whispering gallery modes, and photonic crystals. The microcavities represent a unique laboratory for quantum optics and photonics. They exhibit a number of beautiful effects including lasing, superfluidity, superradiance, entanglement etc.


Spring in Action

Spring in Action, Fourth Edition is a hands-on guide to the Spring Framework, updated for version 4. It covers the latest features, tools, and practices including Spring MVC, REST, Security, Web Flow, and more. You'll move between short snippets and an ongoing example as you learn to build simple and efficient J2EE applications. Author Craig Walls has a special knack for crisp and entertaining examples that zoom in on the features and techniques you really need.