Book picks similar to
Algorithms and Programming: Problems and Solutions by Alexander Shen
algorithms-data-structures
computer_science
nonf
tech-software
Learning Java
Patrick Niemeyer - 1996
With Java 5.0, you'll not only find substantial changes in the platform, but to the language itself-something that developers of Java took five years to complete. The main goal of Java 5.0 is to make it easier for you to develop safe, powerful code, but none of these improvements makes Java any easier to learn, even if you've programmed with Java for years. And that means our bestselling hands-on tutorial takes on even greater significance."Learning Java" is the most widely sought introduction to the programming language that's changed the way we think about computing. Our updated third edition takes an objective, no-nonsense approach to the new features in Java 5.0, some of which are drastically different from the way things were done in any previous versions. The most essential change is the addition of "generics," a feature that allows developers to write, test, and deploy code once, and then reuse the code again and again for different data types. The beauty of generics is that more problems will be caught during development, and "Learning Java" will show you exactly how it's done.Java 5.0 also adds more than 1,000 new classes to the Java library. That means 1,000 new things you can do without having to program it in yourself. That's a huge change. With our book's practical examples, you'll come up to speed quickly on this and other new features such as loops and threads. The new edition also includes an introduction to Eclipse, the open source IDE that is growing in popularity. "Learning Java," 3rd Edition addresses all of the important uses of Java, such as web applications, servlets, and XML that are increasingly driving enterprise applications.
Digital Design: Principles and Practices Package
John F. Wakerly - 1990
Blends academic precision and practical experience in an authoritative introduction to basic principles of digital design and practical requirements. With over 30 years of experience in both industrial and university settings, the author covers the most widespread logic design practices while building a solid foundation of theoretical and engineering principles for students to use as they go forward in this fast moving field.
The Vince Flynn Reader's Companion: A Collection of Excerpts
Vince Flynn - 2012
In this free collection of excerpts, enjoy a taste of all of Vince Flynn’s thrillers starring CIA superagent Mitch Rapp.
Escaping Scientology: An Insider's True Story: My Journey With the Cult of Celebrity Spirituality, Greed and Power
Karen Schless Pressley - 2007
In leader David Miscavige's inner sanctum, they built their mental prison as they melded into its radicalized lifestyle where danger, captivity and abuse were normalized. After three escapes, Karen chose between two unbearable options. Escaping Scientology Part I sweeps you into the lives of two young adults filled with hope and love as designer Karen and her award-winning musician-composer husband Peter overcome obstacles to succeed in the music and fashion industries together. Scientology re-focuses their goals toward the importance of clearing the planet and recruiting celebrities to build Scientology's social capital. Karen portrays the basic beliefs of Scientology that led to her radicalization into the Sea Org at the Celebrity Centre, a fortress where artists aspire to achieve greatness while attaining spiritual freedom through L. Ron Hubbard’s teachings. Karen shows how celebrities are lured into Scientology and develop a co-dependent relationship from which few break out. Part II reveals Karen as a flawed and complex woman when she and Peter move to the secretive International Management headquarters, where they join 800 fanatical Sea Org members that made billion-year commitments to make this a Scientology world without war, criminality, or insanity. Karen finds the dystopian outpost and its global operations to be proof that Time magazine’s 1991 article, “The Thriving Cult of Greed and Power” captures the essence of Scientology’s mindset, that she describes as “war is everything and everything is war.” She is no passive victim as she attempts to stay in the driver’s seat and keep their marriage intact while fighting the pressures of the Int base culture that attempt to break them apart. Scientology goes under “Cruise Control” as Miscavige becomes obsessed with his biggest trophy, Tom Cruise, and stiffens his control and abusive punishment methods on the Int base staff. Karen rebels against regulations and spends time in Scientology’s prison camp. After two attempts to escape the Int base, she is trailed by security guards and coerced into returning. Failing to escape, she questions the evidence of her own senses, and makes a mind-twisting re-commitment to become the best version of a Sea Org member she can be. Karen carves out a world she can live within as she is promoted into the highest echelons of management, appointed by the Chairman of the Board RTC to Int Management Public Relations Officer and later to take charge of the image of Sea Org staff internationally from the Int Finance Office. While working on special projects under David and Shelley Miscavige, she travels to Scientology bases around the world where she sees human rights violations set in place by Hubbard’s policies that cause her to conclude Scientology is a for-profit business that builds billions of dollars of assets on the backs of Sea Org slave labor, while hiding behind the banner of the First Amendment, claiming benefits and protection as a non-profit religion. The epilogue of Part III portrays the mind-wrenching process of physical escape, and psychological anguish as Karen plies herself out of Scientology’s grip and endures its cruel disconnection policy. She re-acclimates herself to life on the outside while, brick by brick, she disassembles the walls of the mental prison she had built, and survives with the help of her accomplice and the love and support of her family. Karen's narrative memoir shows that Scientology's plan, authored by L.
Programming Collective Intelligence: Building Smart Web 2.0 Applications
Toby Segaran - 2002
With the sophisticated algorithms in this book, you can write smart programs to access interesting datasets from other web sites, collect data from users of your own applications, and analyze and understand the data once you've found it.Programming Collective Intelligence takes you into the world of machine learning and statistics, and explains how to draw conclusions about user experience, marketing, personal tastes, and human behavior in general -- all from information that you and others collect every day. Each algorithm is described clearly and concisely with code that can immediately be used on your web site, blog, Wiki, or specialized application. This book explains:Collaborative filtering techniques that enable online retailers to recommend products or media Methods of clustering to detect groups of similar items in a large dataset Search engine features -- crawlers, indexers, query engines, and the PageRank algorithm Optimization algorithms that search millions of possible solutions to a problem and choose the best one Bayesian filtering, used in spam filters for classifying documents based on word types and other features Using decision trees not only to make predictions, but to model the way decisions are made Predicting numerical values rather than classifications to build price models Support vector machines to match people in online dating sites Non-negative matrix factorization to find the independent features in a dataset Evolving intelligence for problem solving -- how a computer develops its skill by improving its own code the more it plays a game Each chapter includes exercises for extending the algorithms to make them more powerful. Go beyond simple database-backed applications and put the wealth of Internet data to work for you. "Bravo! I cannot think of a better way for a developer to first learn these algorithms and methods, nor can I think of a better way for me (an old AI dog) to reinvigorate my knowledge of the details."-- Dan Russell, Google "Toby's book does a great job of breaking down the complex subject matter of machine-learning algorithms into practical, easy-to-understand examples that can be directly applied to analysis of social interaction across the Web today. If I had this book two years ago, it would have saved precious time going down some fruitless paths."-- Tim Wolters, CTO, Collective Intellect
Frequently Asked Questions in Quantitative Finance
Paul Wilmott - 2007
It is fascinating because of the speed at which the subject develops, the new products and the new models which we have to understand. And it is rewarding because anyone can make a fundamental breakthrough."Having worked in this field for many years, I have come to appreciate the importance of getting the right balance between mathematics and intuition. Too little maths and you won't be able to make much progress, too much maths and you'll be held back by technicalities. I imagine, but expect I will never know for certain, that getting the right level of maths is like having the right equipment to climb Mount Everest; too little and you won't make the first base camp, too much and you'll collapse in a heap before the top."Whenever I write about or teach this subject I also aim to get the right mix of theory and practice. Finance is not a hard science like physics, so you have to accept the limitations of the models. But nor is it a very soft science, so without those models you would be at a disadvantage compared with those better equipped. I believe this adds to the fascination of the subject."This FAQs book looks at some of the most important aspects of financial engineering, and considers them from both theoretical and practical points of view. I hope that you will see that finance is just as much fun in practice as in theory, and if you are reading this book to help you with your job interviews, good luck! Let me know how you get on!"
Colossus: The Secrets of Bletchley Park's Codebreaking Computers
B. Jack Copeland - 2006
This book rewrites the history of computer science, arguing that in reality Colossus--the giant computer built by the British secret service during World War II--predates ENIAC by two years.Colossus was built during the Second World War at the Government Code and Cypher School at Bletchley Park. Until very recently, much about the Colossus machine was shrouded in secrecy, largely because the code-breaking algorithms that were employed during World War II remained in use by the British security services until a short time ago. In addition, the United States has recently declassified a considerable volume of wartime documents relating to Colossus. Jack Copeland has brought together memoirs of veterans of Bletchley Park--the top-secret headquarters of Britain's secret service--and others who draw on the wealth of declassified information to illuminate the crucial role Colossus played during World War II. Included here are pieces by the former WRENS who actually worked the machine, the scientist who pioneered the use of vacuum tubes in data processing, and leading authorities on code-breaking and computer science.A must read for anyone curious about code-breaking or World War II espionage, Colossus offers a fascinating insider's account of the world first giant computer, the great great grandfather of the massive computers used today by the CIA and the National Security Agency.
Deep Learning
Ian Goodfellow - 2016
Because the computer gathers knowledge from experience, there is no need for a human computer operator to formally specify all the knowledge that the computer needs. The hierarchy of concepts allows the computer to learn complicated concepts by building them out of simpler ones; a graph of these hierarchies would be many layers deep. This book introduces a broad range of topics in deep learning.The text offers mathematical and conceptual background, covering relevant concepts in linear algebra, probability theory and information theory, numerical computation, and machine learning. It describes deep learning techniques used by practitioners in industry, including deep feedforward networks, regularization, optimization algorithms, convolutional networks, sequence modeling, and practical methodology; and it surveys such applications as natural language processing, speech recognition, computer vision, online recommendation systems, bioinformatics, and videogames. Finally, the book offers research perspectives, covering such theoretical topics as linear factor models, autoencoders, representation learning, structured probabilistic models, Monte Carlo methods, the partition function, approximate inference, and deep generative models.Deep Learning can be used by undergraduate or graduate students planning careers in either industry or research, and by software engineers who want to begin using deep learning in their products or platforms. A website offers supplementary material for both readers and instructors.
Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development
Craig Larman - 2000
Building on two widely acclaimed previous editions, Craig Larman has updated this book to fully reflect the new UML 2 standard, to help you master the art of object design, and to promote high-impact, iterative, and skillful agile modeling practices.Developers and students will learn object-oriented analysis and design (OOA/D) through three iterations of two cohesive, start-to-finish case studies. These case studies incrementally introduce key skills, essential OO principles and patterns, UML notation, and best practices. You won’t just learn UML diagrams - you’ll learn how to apply UML in the context of OO software development.Drawing on his unsurpassed experience as a mentor and consultant, Larman helps you understand evolutionary requirements and use cases, domain object modeling, responsibility-driven design, essential OO design, layered architectures, “Gang of Four” design patterns, GRASP, iterative methods, an agile approach to the Unified Process (UP), and much more. This edition’s extensive improvements include:- A stronger focus on helping you master OOA/D through case studies that demonstrate key OO principles and patterns, while also applying the UML- New coverage of UML 2, Agile Modeling, Test-Driven Development, and refactoring- Many new tips on combining iterative and evolutionary development with OOA/D- Updates for easier study, including new learning aids and graphics- New college educator teaching resources- Guidance on applying the UP in a light, agile spirit, complementary with other iterative methods such as XP and Scrum- Techniques for applying the UML to documenting architectures- A new chapter on evolutionary requirements, and much moreApplying UML and Patterns, Third Edition, is a lucid and practical introduction to thinking and designing with objects - and creating systems that are well crafted, robust, and maintainable.
Design Patterns: Elements of Reusable Object-Oriented Software
Erich Gamma - 1994
Previously undocumented, these 23 patterns allow designers to create more flexible, elegant, and ultimately reusable designs without having to rediscover the design solutions themselves.The authors begin by describing what patterns are and how they can help you design object-oriented software. They then go on to systematically name, explain, evaluate, and catalog recurring designs in object-oriented systems. With Design Patterns as your guide, you will learn how these important patterns fit into the software development process, and how you can leverage them to solve your own design problems most efficiently. Each pattern describes the circumstances in which it is applicable, when it can be applied in view of other design constraints, and the consequences and trade-offs of using the pattern within a larger design. All patterns are compiled from real systems and are based on real-world examples. Each pattern also includes code that demonstrates how it may be implemented in object-oriented programming languages like C++ or Smalltalk.
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 Go Programming Language
Alan A.A. Donovan - 2015
It has been winning converts from dynamic language enthusiasts as well as users of traditional compiled languages. The former appreciate the robustness and efficiency that Go's lightweight type system brings to their code; the latter find Go's simplicity and fast tools a refreshing change. Thanks to its well-designed standard libraries and its excellent support for concurrent programming, Go is fast becoming the language of choice for distributed systems. The Go Programming Language is the definitive book on Go for the working programmer. It assumes no prior knowledge of Go, nor any other specific programming language, so you'll find it an accessible guide whether you come from JavaScript, Ruby, Python, Java, or C++. The book will quickly get you started using Go effectively from the beginning, and by the end, you will know how to use it well to write clear, idiomatic and efficient programs to solve real-world problems. You'll understand not just how to use its standard libraries, but how they work, and how to apply the same design techniques to your own projects. The earlier chapters will introduce you to the basic concepts of Go programming---numbers, strings, functions---while at the same time presenting important computer science concepts like recursion, and useful examples of graphics, UTF-8, and error handling. The chapters on methods and interfaces will show you a new way to think about object-oriented programming; the chapter on concurrency explains why concurrency is so important in modern programming, and how Go helps you handle it well. You'll also learn about Go's pragmatic but effective approach to testing; how to build, test, and manage projects using the go tool, and the art of metaprogramming using reflection. The book contains hundreds of interesting and practical examples that cover the whole language and a wide range of applications. The code samples from the book are available for download from gopl.io.
Paradigms of Artificial Intelligence Programming: Case Studies in Common LISP
Peter Norvig - 1991
By reconstructing authentic, complex AI programs using state-of-the-art Common Lisp, the book teaches students and professionals how to build and debug robust practical programs, while demonstrating superior programming style and important AI concepts. The author strongly emphasizes the practical performance issues involved in writing real working programs of significant size. Chapters on troubleshooting and efficiency are included, along with a discussion of the fundamentals of object-oriented programming and a description of the main CLOS functions. This volume is an excellent text for a course on AI programming, a useful supplement for general AI courses and an indispensable reference for the professional programmer.
Elementary Linear Algebra with Applications
Howard Anton - 1973
It proceeds from familiar concepts to the unfamiliar, from the concrete to the abstract. Readers consistently praise this outstanding text for its expository style and clarity of presentation. The applications version features a wide variety of interesting, contemporary applications. Clear, accessible, step-by-step explanations make the material crystal clear. Established the intricate thread of relationships between systems of equations, matrices, determinants, vectors, linear transformations and eigenvalues.
Python Algorithms: Mastering Basic Algorithms in the Python Language
Magnus Lie Hetland - 2010
Written by Magnus Lie Hetland, author of Beginning Python, this book is sharply focused on classical algorithms, but it also gives a solid understanding of fundamental algorithmic problem-solving techniques.The book deals with some of the most important and challenging areas of programming and computer science, but in a highly pedagogic and readable manner. The book covers both algorithmic theory and programming practice, demonstrating how theory is reflected in real Python programs. Well-known algorithms and data structures that are built into the Python language are explained, and the user is shown how to implement and evaluate others himself.