Mastering Algorithms with C


Kyle Loudon - 1999
    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.Anyone with a basic understanding of the C language can use this book. In order to provide maintainable and extendible code, an extra level of abstraction (such as pointers to functions) is used in examples where appropriate. Understanding that these techniques may be unfamiliar to some programmers, Loudon explains them clearly in the introductory chapters.Contents include:PointersRecursionAnalysis of algorithmsData structures (lists, stacks, queues, sets, hash tables, trees, heaps, priority queues, graphs)Sorting and searchingNumerical methodsData compressionData encryptionGraph algorithmsGeometric algorithms

Understanding the Four Rules of Simple Design


Corey Haines - 2014
    This is why it is imperative to build systems that are flexible and can adapt to changing requirements, both expected and (more often) unexpected. That is why I've written this book.From 2009 to 2014, I traveled the world working with software developers, both individually and in teams, to improve their craft. Primarily, I did this through a training workshop format called coderetreat. Over those years, I had the opportunity to watch 1000's of pairs of programmers work on exactly the same system, Conway's Game of Life. As time progressed, I began to see patterns arise. I noticed common techniques and designs that spanned languages and companies and crossed national borders.As co-founder and a facilitator of coderetreat workshops, I had the unique opportunity to provide feedback, both direct and through questions, on improving the act of writing adaptable, simple code. Through the day, we worked on improving our ability to make good choices around the minute-by-minute decisions made while writing code.This book is about those things I learned from watching these 1000's of pairs working on the same problem. It contains a large part of the feedback that I provide during a typical coderetreat. The primary focus is on the thought process behind refactoring, and how that is influenced by the 4 rules of simple design.This book is not about Conway's Game of Life. Instead, it uses its domain as a backdrop to discuss the thoughts and ideas behind the 4 rules of simple design. It focuses on the small decisions made while designing your code with the goal of building robust, adaptable codebases that can stand the test of time.

Data-ism: The Revolution Transforming Decision Making, Consumer Behavior, and Almost Everything Else


Steve Lohr - 2015
    Today, Data is the vital raw material of the information economy. The explosive abundance of this digital asset, more than doubling every two years, is creating a new world of opportunity and challenge.Data-ism is about this next phase, in which vast, Internet-scale data sets are used for discovery and prediction in virtually every field. It is a journey across this emerging world with people, illuminating narrative examples, and insights. It shows that, if exploited, this new revolution will change the way decisions are made—relying more on data and analysis, and less on intuition and experience—and transform the nature of leadership and management.Lohr explains how individuals and institutions will need to exploit, protect, and manage their data to stay competitive in the coming years. Filled with rich examples and anecdotes of the various ways in which the rise of Big Data is affecting everyday life it raises provocative questions about policy and practice that have wide implications for all of our lives.

Get Your Hands Dirty on Clean Architecture: A hands-on guide to creating clean web applications with code examples in Java


Tom Hombergs - 2019
    

The Basics of Digital Forensics: The Primer for Getting Started in Digital Forensics


John Sammons - 2011
    This book teaches you how to conduct examinations by explaining what digital forensics is, the methodologies used, key technical concepts and the tools needed to perform examinations. Details on digital forensics for computers, networks, cell phones, GPS, the cloud, and Internet are discussed. Readers will also learn how to collect evidence, document the scene, and recover deleted data. This is the only resource your students need to get a jump-start into digital forensics investigations.This book is organized into 11 chapters. After an introduction to the basics of digital forensics, the book proceeds with a discussion of key technical concepts. Succeeding chapters cover labs and tools; collecting evidence; Windows system artifacts; anti-forensics; Internet and email; network forensics; and mobile device forensics. The book concludes by outlining challenges and concerns associated with digital forensics. PowerPoint lecture slides are also available.This book will be a valuable resource for entry-level digital forensics professionals as well as those in complimentary fields including law enforcement, legal, and general information security.

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.

Operating System Concepts Essentials


Abraham Silberschatz - 2010
    This book covers the core concepts of operating systems without any unnecessary jargon or text. The authors put you on your way to mastering the fundamental concepts of operating systems while you also prepare for today's emerging developments.Covers the core concepts of operating systems Bypasses unnecessary and wordy text or jargon Encourages you to take your operating system knowledge to the next level Prepares you for today's emerging developments in the field of operating systems Operating Systems Concepts Essentials is a soup-to-nuts guide for all things involving operating systems!

The Calculus Lifesaver: All the Tools You Need to Excel at Calculus


Adrian Banner - 2007
    The Calculus Lifesaver provides students with the essential tools they need not only to learn calculus, but to excel at it.All of the material in this user-friendly study guide has been proven to get results. The book arose from Adrian Banner's popular calculus review course at Princeton University, which he developed especially for students who are motivated to earn A's but get only average grades on exams. The complete course will be available for free on the Web in a series of videotaped lectures. This study guide works as a supplement to any single-variable calculus course or textbook. Coupled with a selection of exercises, the book can also be used as a textbook in its own right. The style is informal, non-intimidating, and even entertaining, without sacrificing comprehensiveness. The author elaborates standard course material with scores of detailed examples that treat the reader to an inner monologue--the train of thought students should be following in order to solve the problem--providing the necessary reasoning as well as the solution. The book's emphasis is on building problem-solving skills. Examples range from easy to difficult and illustrate the in-depth presentation of theory.The Calculus Lifesaver combines ease of use and readability with the depth of content and mathematical rigor of the best calculus textbooks. It is an indispensable volume for any student seeking to master calculus.Serves as a companion to any single-variable calculus textbookInformal, entertaining, and not intimidatingInformative videos that follow the book--a full forty-eight hours of Banner's Princeton calculus-review course--is available at Adrian Banner lecturesMore than 475 examples (ranging from easy to hard) provide step-by-step reasoningTheorems and methods justified and connections made to actual practiceDifficult topics such as improper integrals and infinite series covered in detailTried and tested by students taking freshman calculus

C++ Primer Plus


Stephen Prata - 2004
    This guide also illustrates how to handle input and output, make programs perform repetitive tasks, manipulate data, hide information, use functions and build flexible, easily modifiable programs.

OCA: Oracle Certified Associate Java SE 8 Programmer I Study Guide: Exam 1Z0-808


Jeanne Boyarsky - 2014
    With complete coverage of 100% of the exam objectives, this book provides everything you need to know to confidently take the exam. The release of Java 8 brought the language's biggest changes to date, and for the first time, candidates are required to learn functional programming to pass the exam. This study guide has you covered, with thorough functional programming explanation and information on all key topic areas Java programmers need to know. You'll cover Java inside and out, and learn how to apply it efficiently and effectively to create solutions applicable to real-world scenarios.Work confidently with operators, conditionals, and loops Understand object-oriented design principles and patterns Master functional programming fundamentals

Rapid Development: Taming Wild Software Schedules


Steve McConnell - 1996
    Emphasizes possible, realistic and "best practice" approaches for managers, technical leads and self-managed teams. The author emphasizes efficient development concepts with an examination of rapid development strategies and a study of classic mistakes, within the context of software-development fundamentals and risk management. Dissects the core issues of rapid development, lifecycle planning, estimation and scheduling. Contains very good and practical discussions of customer-oriented development, motivation and teamwork. Explains such fundamental requirements as team structure, feature-set control (the dreaded feature creep in every project), availability and use of productivity tools and project recovery options. Relevant case studies are analyzed and discussed within the context of specific software development problems. Over 200 pages in this publication are devoted to a summary of best practices, everything from the daily build and smoke test, through prototyping, model selection, measurement, reuse, and the top-10 risks list. This publication is definitely recommended and will become a classic in the field, just as the author's prior publication, "Code Complete" already is.

Learn Ruby the Hard Way


Zed A. Shaw - 2011
    It assumes absolutely no prior programming knowledge and will guide you carefully and slowly through the learning process.Learn Ruby The Hard Way is a translation of the original "Learn Python The Hard Way" to teaching Ruby, with the translation done by Rob Sobers. "Learn Python The Hard Way" has taught hundreds of thousands worldwide how to code in Python, and this book uses the same proven method for Ruby. When you are done with this book you will have the skill to move on to other books about Ruby and be ready to understand them.

Data Science with R


Garrett Grolemund - 2015
    

51 Ways to Love Your Enemies: How to love others when they are hurting you (Spiritual Self Help)


Lynn R. Davis - 2013
    How do you love someone you don't even like? It’s not easy. And at first glance it may seem impossible. Let "51 Ways to Love Your Enemies" be your guide. "51 Ways to Love Your Enemies" offers an easy to follow list of practical ways to express love and kindness toward enemies. The list is not only comprised of scriptural principles like forgiveness and compassion, but also practical everyday ideas like buying a cup of coffee and greeting with a smile. "51 Ways to Love Your Enemies" is an enlightening little book with a big message of love. (6300 words)

A Shetland Winter Mystery (The Shetland Sailing Mysteries Book 10)


Marsali Taylor - 2021