Skip to Main Content
It looks like you're using Internet Explorer 11 or older. This website works best with modern browsers such as the latest versions of Chrome, Firefox, Safari, and Edge. If you continue with this browser, you may see unexpected results.
Need a Book We Don't Have?
Selected Computer Science & Software Engineering Books
Ace the Programming Interview by Be prepared to answer the most relevant interview questions and land the job Programmers are in demand, but to land the job, you must demonstrate knowledge of those things expected by today's employers. This guide sets you up for success. Not only does it provide 160 of the most commonly asked interview questions and model answers, but it also offers insight into the context and motivation of hiring managers in today's marketplace. Written by a veteran hiring manager, this book is a comprehensive guide for experienced and first-time programmers alike. Provides insight into what drives the recruitment process and how hiring managers think Covers both practical knowledge and recommendations for handling the interview process Features 160 actual interview questions, including some related to code samples that are available for download on a companion website Includes information on landing an interview, preparing a cheat-sheet for a phone interview, how to demonstrate your programming wisdom, and more Ace the Programming Interview, like the earlier Wiley bestseller Programming Interviews Exposed, helps you approach the job interview with the confidence that comes from being prepared.
Publication Date: 2013-05-31
Agile for Everybody by The Agile movement provides real, actionable answers to the question that keeps many company leaders awake at night: How do we stay successful in a fast-changing and unpredictable world? Agile has already transformed how modern companies build and deliver software. This practical book demonstrates how entire organizations--from product managers and engineers to marketers and executives--can put Agile to work. Author Matt LeMay explains Agile in clear, jargon-free terms and provides concrete and actionable steps to help any team put its values and principles into practice. Examples from a wide variety of organizations, including small nonprofits and global financial enterprises, bring to life the on-the-ground realities of Agile across industries and functions. Understand exactly what Agile is and why it matters Use Agile to address your organization's specific needs and goals Take customer centricity from theory into practice Stop wasting time in "report and critique" meetings and start making better decisions Create a harmonious cycle of learning, collaborating, and delivering Learn from Agile experts at companies like IBM, Spotify, and Coca-Cola
Publication Date: 2018-11-12
Cybersecurity Ops with Bash by If you hope to outmaneuver threat actors, speed and efficiency need to be key components of your cybersecurity operations. Mastery of the standard command-line interface (CLI) is an invaluable skill in times of crisis because no other software application can match the CLI's availability, flexibility, and agility. This practical guide shows you how to use the CLI with the bash shell to perform tasks such as data collection and analysis, intrusion detection, reverse engineering, and administration. Authors Paul Troncone, founder of Digadel Corporation, and Carl Albing, coauthor of bash Cookbook (O'Reilly), provide insight into command-line tools and techniques to help defensive operators collect data, analyze logs, and monitor networks. Penetration testers will learn how to leverage the enormous amount of functionality built into nearly every version of Linux to enable offensive operations. In four parts, security practitioners, administrators, and students will examine: Foundations: Principles of defense and offense, command-line and bash basics, and regular expressions Defensive security operations: Data collection and analysis, real-time log monitoring, and malware analysis Penetration testing: Script obfuscation and tools for command-line fuzzing and remote access Security administration: Users, groups, and permissions; device and software inventory
Publication Date: 2019-04-20
Data Science from Scratch by To really learn data science, you should not only master the tools--data science libraries, frameworks, modules, and toolkits--but also understand the ideas and principles underlying them. Updated for Python 3.6, this second edition of Data Science from Scratch shows you how these tools and algorithms work by implementing them from scratch. If you have an aptitude for mathematics and some programming skills, author Joel Grus will help you get comfortable with the math and statistics at the core of data science, and with the hacking skills you need to get started as a data scientist. Packed with new material on deep learning, statistics, and natural language processing, this updated book shows you how to find the gems in today's messy glut of data. Get a crash course in Python Learn the basics of linear algebra, statistics, and probability--and how and when they're used in data science Collect, explore, clean, munge, and manipulate data Dive into the fundamentals of machine learning Implement models such as k-nearest neighbors, Naïve Bayes, linear and logistic regression, decision trees, neural networks, and clustering Explore recommender systems, natural language processing, network analysis, MapReduce, and databases
Publication Date: 2019-05-16
Deep Learning Cookbook by Deep learning doesn't have to be intimidating. Until recently, this machine-learning method required years of study, but with frameworks such as Keras and Tensorflow, software engineers without a background in machine learning can quickly enter the field. With the recipes in this cookbook, you'll learn how to solve deep-learning problems for classifying and generating text, images, and music. Each chapter consists of several recipes needed to complete a single project, such as training a music recommending system. Author Douwe Osinga also provides a chapter with half a dozen techniques to help you if you're stuck. Examples are written in Python with code available on GitHub as a set of Python notebooks. You'll learn how to: Create applications that will serve real users Use word embeddings to calculate text similarity Build a movie recommender system based on Wikipedia links Learn how AIs see the world by visualizing their internal state Build a model to suggest emojis for pieces of text Reuse pretrained networks to build an inverse image search service Compare how GANs, autoencoders and LSTMs generate icons Detect music styles and index song collections
Publication Date: 2018-06-23
Deep Learning for the Life Sciences by Deep learning has already achieved remarkable results in many fields. Now it's making waves throughout the sciences broadly and the life sciences in particular. This practical book teaches developers and scientists how to use deep learning for genomics, chemistry, biophysics, microscopy, medical analysis, and other fields. Ideal for practicing developers and scientists ready to apply their skills to scientific applications such as biology, genetics, and drug discovery, this book introduces several deep network primitives. You'll follow a case study on the problem of designing new therapeutics that ties together physics, chemistry, biology, and medicine--an example that represents one of science's greatest challenges. Learn the basics of performing machine learning on molecular data Understand why deep learning is a powerful tool for genetics and genomics Apply deep learning to understand biophysical systems Get a brief introduction to machine learning with DeepChem Use deep learning to analyze microscopic images Analyze medical scans using deep learning techniques Learn about variational autoencoders and generative adversarial networks Interpret what your model is doing and how it's working
Publication Date: 2019-04-20
Designing Distributed Systems by Without established design patterns to guide them, developers have had to build distributed systems from scratch, and most of these systems are very unique indeed. Today, the increasing use of containers has paved the way for core distributed system patterns and reusable containerized components. This practical guide presents a collection of repeatable, generic patterns to help make the development of reliable distributed systems far more approachable and efficient. Author Brendan Burns--Director of Engineering at Microsoft Azure--demonstrates how you can adapt existing software design patterns for designing and building reliable distributed applications. Systems engineers and application developers will learn how these long-established patterns provide a common language and framework for dramatically increasing the quality of your system. Understand how patterns and reusable components enable the rapid development of reliable distributed systems Use the side-car, adapter, and ambassador patterns to split your application into a group of containers on a single machine Explore loosely coupled multi-node distributed patterns for replication, scaling, and communication between the components Learn distributed system patterns for large-scale batch data processing covering work-queues, event-based processing, and coordinated workflows
Publication Date: 2018-03-05
Fundamentals of Data Visualization by Effective visualization is the best way to communicate information from the increasingly large and complex datasets in the natural and social sciences. But with the increasing power of visualization software today, scientists, engineers, and business analysts often have to navigate a bewildering array of visualization choices and options. This practical book takes you through many commonly encountered visualization problems, and it provides guidelines on how to turn large datasets into clear and compelling figures. What visualization type is best for the story you want to tell? How do you make informative figures that are visually pleasing? Author Claus O. Wilke teaches you the elements most critical to successful data visualization. Explore the basic concepts of color as a tool to highlight, distinguish, or represent a value Understand the importance of redundant coding to ensure you provide key information in multiple ways Use the book's visualizations directory, a graphical guide to commonly used types of data visualizations Get extensive examples of good and bad figures Learn how to use figures in a document or report and how employ them effectively to tell a compelling story
Publication Date: 2019-04-14
Publication Date: 2019-02-02
Graph Algorithms by Learn how graph algorithms can help you leverage relationships within your data to develop intelligent solutions and enhance your machine learning models. With this practical guide,developers and data scientists will discover how graph analytics deliver value, whether they're used for building dynamic network models or forecasting real-world behavior. Mark Needham and Amy Hodler from Neo4j explain how graph algorithms describe complex structures and reveal difficult-to-find patterns--from finding vulnerabilities and bottlenecksto detecting communities and improving machine learning predictions. You'll walk through hands-on examples that show you how to use graph algorithms in Apache Spark and Neo4j, two of the most common choices for graph analytics. Learn how graph analytics reveal more predictive elements in today's data Understand how popular graph algorithms work and how they're applied Use sample code and tips from more than 20 graph algorithm examples Learn which algorithms to use for different types of questions Explore examples with working code and sample datasets for Spark and Neo4j Create an ML workflow for link prediction by combining Neo4j and Spark
Publication Date: 2019-05-26
Introduction to Machine Learning with R by Machine learning is an intimidating subject until you know the fundamentals. If you understand basic coding concepts, this introductory guide will help you gain a solid foundation in machine learning principles. Using the R programming language, you'll first start to learn with regression modelling and then move into more advanced topics such as neural networks and tree-based methods. Finally, you'll delve into the frontier of machine learning, using the caret package in R. Once you develop a familiarity with topics such as the difference between regression and classification models, you'll be able to solve an array of machine learning problems. Author Scott V. Burger provides several examples to help you build a working knowledge of machine learning. Explore machine learning models, algorithms, and data training Understand machine learning algorithms for supervised and unsupervised cases Examine statistical concepts for designing data for use in models Dive into linear regression models used in business and science Use single-layer and multilayer neural networks for calculating outcomes Look at how tree-based models work, including popular decision trees Get a comprehensive view of the machine learning ecosystem in R Explore the powerhouse of tools available in R's caret package
Publication Date: 2018-04-01
Learning Agile by Learning Agile is a comprehensive guide to the most popular agile methods, written in a light and engaging style that makes it easy for you to learn. Agile has revolutionized the way teams approach software development, but with dozens of agile methodologies to choose from, the decision to "go agile" can be tricky. This practical book helps you sort it out, first by grounding you in agile's underlying principles, then by describing four specific--and well-used--agile methods: Scrum, extreme programming (XP), Lean, and Kanban. Each method focuses on a different area of development, but they all aim to change your team's mindset--from individuals who simply follow a plan to a cohesive group that makes decisions together. Whether you're considering agile for the first time, or trying it again, you'll learn how to choose a method that best fits your team and your company. Understand the purpose behind agile's core values and principles Learn Scrum's emphasis on project management, self-organization, and collective commitment Focus on software design and architecture with XP practices such as test-first and pair programming Use Lean thinking to empower your team, eliminate waste, and deliver software fast Learn how Kanban's practices help you deliver great software by managing flow Adopt agile practices and principles with an agile coach
Publication Date: 2014-11-23
Learning Python by Portable, powerful, and a breeze to use, Python is ideal for both standalone programs and scripting applications. With this hands-on book, you can master the fundamentals of the core Python language quickly and efficiently, whether you're new to programming or just new to Python. Once you finish, you will know enough about the language to use it in any application domain you choose. Learning Python is based on material from author Mark Lutz's popular training courses, which he's taught over the past decade. Each chapter is a self-contained lesson that helps you thoroughly understand a key component of Python before you continue. Along with plenty of annotated examples, illustrations, and chapter summaries, every chapter also contains Brain Builder, a unique section with practical exercises and review quizzes that let you practice new skills and test your understanding as you go. This book covers: Types and Operations -- Python's major built-in object types in depth: numbers, lists, dictionaries, and more Statements and Syntax -- the code you type to create and process objects in Python, along with Python's general syntax model Functions -- Python's basic procedural tool for structuring and reusing code Modules -- packages of statements, functions, and other tools organized into larger components Classes and OOP -- Python's optional object-oriented programming tool for structuring code for customization and reuse Exceptions and Tools -- exception handling model and statements, plus a look at development tools for writing larger programs Learning Python gives you a deep and complete understanding of the language that will help you comprehend any application-level examples of Python that you later encounter. If you're ready to discover what Google and YouTube see in Python, this book is the best way to get started.
Publication Date: 2007-10-22
Practical Cloud Security by With their rapidly changing architecture and API-driven automation, cloud platforms come with unique security challenges and opportunities. This hands-on book guides you through security best practices for multivendor cloud environments, whether your company plans to move legacy on-premises projects to the cloud or build a new infrastructure from the ground up. Developers, IT architects, and security professionals will learn cloud-specific techniques for securing popular cloud platforms such as Amazon Web Services, Microsoft Azure, and IBM Cloud. Chris Dotson--an IBM senior technical staff member--shows you how to establish data asset management, identity and access management, vulnerability management, network security, and incident response in your cloud environment.
Publication Date: 2019-03-30
Programming Bitcoin by Dive into Bitcoin technology with this hands-on guide from one of the leading teachers on Bitcoin and Bitcoin programming. Author Jimmy Song shows Python programmers and developers how to program a Bitcoin library from scratch. You'll learn how to work with the basics, including the math, blocks, network, and transactions behind this popular cryptocurrency and its blockchain payment system. By the end of the book, you'll understand how this cryptocurrency works under the hood by coding all the components necessary for a Bitcoin library. Learn how to create transactions, get the data you need from peers, and send transactions over the network. Whether you're exploring Bitcoin applications for your company or considering a new career path, this practical book will get you started. Parse, validate, and create bitcoin transactions Learn Script, the smart contract language behind Bitcoin Do exercises in each chapter to build a Bitcoin library from scratch Understand how proof-of-work secures the blockchain Program Bitcoin using Python 3 Understand how simplified payment verification and light wallets work Work with public-key cryptography and cryptographic primitives
Publication Date: 2019-03-02
Software and Systems Requirements Engineering by Proven Software & Systems Requirements Engineering Techniques "Requirements engineering is a discipline used primarily for large and complex applications. It is more formal than normal methods of gathering requirements, and this formality is needed for many large applications. The authors are experienced requirements engineers, and this book is a good compendium of sound advice based on practical experience." --Capers Jones, Chief Scientist Emeritus, Software Productivity Research Deliver feature-rich products faster, cheaper, and more reliably using state-of-the-art SSRE methods and modeling procedures. Written by global experts, Software & Systems Requirements Engineering: In Practice explains how to effectively manage project objectives and user needs across the entire development lifecycle. Gather functional and quality attribute requirements, work with models, perform system tests, and verify compliance. You will also learn how to mitigate risks, avoid requirements creep, and sidestep the pitfalls associated with large, complex projects. Define and prioritize customer expectations using taxonomies Elicit and analyze functional and quality attribute requirements Develop artifact models, meta-models, and prototypes Manage platform and product line development requirements Derive and generate test cases from UML activity diagrams Deploy validation, verification, and rapid development procedures Handle RE for globally distributed software and system development projects Perform hazard analysis, risk assessment, and threat modeling
Publication Date: 2009-04-16
Stream Processing with Apache Spark by Before you can build analytics tools to gain quick insights, you first need to know how to process data in real time. With this practical guide, developers familiar with Apache Spark will learn how to put this in-memory framework to use for streaming data. You'll discover how Spark enables you to write streaming jobs in almost the same way you write batch jobs. Authors Gerard Maas and François Garillot help you explore the theoretical underpinnings of Apache Spark. This comprehensive guide features two sections that compare and contrast the streaming APIs Spark now supports: the original Spark Streaming library and the newer Structured Streaming API. Learn fundamental stream processing concepts and examine different streaming architectures Explore Structured Streaming through practical examples; learn different aspects of stream processing in detail Create and operate streaming jobs and applications with Spark Streaming; integrate Spark Streaming with other Spark APIs Learn advanced Spark Streaming techniques, including approximation algorithms and machine learning algorithms Compare Apache Spark to other stream processing projects, including Apache Storm, Apache Flink, and Apache Kafka Streams
Publication Date: 2019-06-17
Take Control of Slack by This book helps you master Slack! It shows you things you'll never learn by reading the online documentation or simply poking around, based on Glenn's years of experience in multiple Slack teams.
Publication Date: 2019
Take Control of Your Online Privacy by Learn what's private online (not much)--and what to do about it!Nowadays, it can be difficult to complete ordinary activities without placing your personal data online, but having your data online puts you at risk for theft, embarrassment, and all manner of trouble. In this book, Joe Kissell helps you to develop a sensible online privacy strategy, customized for your needs. Whether you have a Mac or PC, iOS or Android device, set-top box, or some other network-enabled gadget, you'll find practical advice that ordinary people need to handle common privacy needs (secret agents should look elsewhere).
Publication Date: 2019
TensorFlow for Deep Learning by Learn how to solve challenging machine learning problems with TensorFlow, Google's revolutionary new software library for deep learning. If you have some background in basic linear algebra and calculus, this practical book introduces machine-learning fundamentals by showing you how to design systems capable of detecting objects in images, understanding text, analyzing video, and predicting the properties of potential medicines. TensorFlow for Deep Learning teaches concepts through practical examples and helps you build knowledge of deep learning foundations from the ground up. It's ideal for practicing developers with experience designing software systems, and useful for scientists and other professionals familiar with scripting but not necessarily with designing learning algorithms. Learn TensorFlow fundamentals, including how to perform basic computation Build simple learning systems to understand their mathematical foundations Dive into fully connected deep networks used in thousands of applications Turn prototypes into high-quality models with hyperparameter optimization Process images with convolutional neural networks Handle natural language datasets with recurrent neural networks Use reinforcement learning to solve games such as tic-tac-toe Train deep networks with hardware including GPUs and tensor processing units
Publication Date: 2018-03-23
Electronic Book Collections
AccessEngineering An engineering reference tool that provides seamless access to a collection of critical and, regularly updated engineering reference information, most notably over 650 reference and handbooks. AccessEngineering also comprises dynamic online features, such as instructional videos, interactive tables and charts, as well as personalization tools allowing users to organize crucial project information as they work.
Knovel Online Books A collection of 800+ online reference and text books for science and engineering. Browse by title or search all titles or subject groups for needed information in multiple disciplines. Subject areas include engineering, chemistry, materials science, biochemistry, biology & biotechnology, environmental engineering, and more.
Morgan and Claypool: Synthesis Digital Library of Engineering and Computer Science Hundreds e-books in Engineering and Computer Science from Morgan and Claypool Publishers.
Library Catalog (Intranet) Library catalog of Rose-Hulman via Intranet.
ProQuest (eBrary) eBook Central ProQuest provides an intuitive eBook system that allows access to academic eBooks in all major disciplines. Books can be downloaded to specific eReaders like Kindles and Nooks, and tablets like the iPad and Android based devices.
Computer Science & Software Engineering Call Numbers: Dewey Decimal & Library of Congress
005 - Computer Programming, Programs, Data - QA75.5-76.765
005.1 - Software Engineering - QA76.75-76.765
620s - Engineering General - TA1-2040
621.39 - Computer Engineering - TK7885-7895