This book introduces basic computing skills designed for industry professionals without a strong computer science background. Written in an easily accessible manner, and accompanied by a user-friendly website, it serves as a self-study guide to survey data science and data engineering for those who aspire to start a computing career, or expand on their current roles, in areas such as applied statistics, big data, machine learning, data mining, and informatics.
The authors draw from their combined experience working at software and social network companies, on big data products at several major online retailers, as well as their experience building big data systems for an AI startup. Spanning from the basic inner workings of a computer to advanced data manipulation techniques, this book opens doors for readers to quickly explore and enhance their computing knowledge.
Computing with Data comprises a wide range of computational topics essential for data scientists, analysts, and engineers, providing them with the necessary tools to be successful in any role that involves computing with data. The introduction is self-contained, and chapters progress from basic hardware concepts to operating systems, programming languages, graphing and processing data, testing and programming tools, big data frameworks, and cloud computing.
The book is fashioned with several audiences in mind. Readers without a strong educational background in CS--or those who need a refresher--will find the chapters on hardware, operating systems, and programming languages particularly useful. Readers with a strong educational background in CS, but without significant industry background, will find the following chapters especially beneficial: learning R, testing, programming, visualizing and processing data in Python and R, system design for big data, data stores, and software craftsmanship.
Author(s): Guy Lebanon, Mohamed El-Geish
Publisher: Springer
Year: 2018
Language: English
Pages: 584
Tags: Data Science, C++, Java, Python, R
Front Matter ....Pages i-xvii
Introduction: How to Use This Book? (Guy Lebanon, Mohamed El-Geish)....Pages 1-5
Essential Knowledge: Hardware (Guy Lebanon, Mohamed El-Geish)....Pages 7-36
Essential Knowledge: Operating Systems (Guy Lebanon, Mohamed El-Geish)....Pages 37-98
Learning C++ (Guy Lebanon, Mohamed El-Geish)....Pages 99-168
Learning Java (Guy Lebanon, Mohamed El-Geish)....Pages 169-190
Learning Python and a Few More Things (Guy Lebanon, Mohamed El-Geish)....Pages 191-253
Learning R (Guy Lebanon, Mohamed El-Geish)....Pages 255-276
Visualizing Data in R and Python (Guy Lebanon, Mohamed El-Geish)....Pages 277-324
Processing Data in R and Python (Guy Lebanon, Mohamed El-Geish)....Pages 325-361
Essential Knowledge: Parallel Programming (Guy Lebanon, Mohamed El-Geish)....Pages 363-413
Essential Knowledge: Testing (Guy Lebanon, Mohamed El-Geish)....Pages 415-439
A Few More Things About Programming (Guy Lebanon, Mohamed El-Geish)....Pages 441-470
Essential Knowledge: Data Stores (Guy Lebanon, Mohamed El-Geish)....Pages 471-493
Thoughts on System Design for Big Data (Guy Lebanon, Mohamed El-Geish)....Pages 495-541
Thoughts on Software Craftsmanship (Guy Lebanon, Mohamed El-Geish)....Pages 543-576