My Library
A collection of defining books that have shaped my perspective on system design, data architecture, and writing clean, scalable code.
Python Crash Course
Eric Matthes
- Master the fundamentals of Python syntax and structures.
- Build practical projects including data visualization and web applications.
- Learn object-oriented programming concepts in Python.
البرمجة بلغة بايثون
ليزا تاغليفيري
- Comprehensive guide to Python for Arabic speakers.
- Covers basic to intermediate programming paradigms.
- Focuses on practical code examples and problem-solving.
Fundamentals of Data Engineering
Joe Reis & Matt Housley
- Understand the end-to-end data engineering lifecycle.
- Choose the right tools for scalable ETL/ELT architectures.
- Best practices for data modeling and serving.
Python for Data Analysis
Wes McKinney
- Master Pandas for efficient data manipulation and cleaning.
- Learn to handle time series data and perform aggregations.
- Leverage NumPy and Matplotlib for data science workflows.
Designing Data-Intensive Applications
Martin Kleppmann
- Deep dive into distributed systems, replication, and partitioning.
- Understand scalability and reliability principles in modern architectures.
- Learn the trade-offs between different database and stream processing models.
Python Data Science Handbook
Jake VanderPlas
- Utilize IPython and Jupyter notebooks for exploratory data analysis.
- Apply Scikit-Learn for practical machine learning applications.
- Perform advanced data visualizations using Matplotlib and Seaborn.
Python Data Analytics
Fabio Nelli
- Extract, process, and analyze diverse datasets effectively.
- Implement statistical methods and forecasting techniques.
- Utilize D3.js and Python visualization libraries for dashboards.
Pro Git
Scott Chacon & Ben Straub
- Understand the internal mechanics of the Git version control system.
- Learn advanced branching, merging, and rebasing workflows.
- Setup and manage distributed team environments using Git.
Learning Spark
Jules S. Damji, Brooke Wenig, Tathagata Das, Denny Lee
- Build scalable data pipelines using Apache Spark 3.0.
- Process streaming data with Structured Streaming.
- Optimize Spark performance and troubleshoot execution bottlenecks.
Spark: The Definitive Guide
Bill Chambers & Matei Zaharia
- Deep dive into Spark's DataFrame and Dataset APIs.
- Understand the low-level RDD execution model and DAG architecture.
- Learn how to deploy and tune Spark clusters in production.
Hands-on Guide to Apache Spark 3
Alfonso Antolínez García
- Implement practical Spark 3 solutions using PySpark.
- Explore the new Adaptive Query Execution (AQE) features.
- Manage distributed data processing workloads efficiently.
Learning Apache Spark with Python
Wenqiang Feng
- Master the fundamentals of PySpark and RDDs.
- Build machine learning models using Spark MLlib.
- Perform large-scale SQL queries with Spark SQL.
Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow
Aurélien Géron
- Master the foundational concepts of traditional machine learning.
- Build, train, and scale deep neural networks using TensorFlow.
- Implement robust computer vision and natural language processing models.
Machine Learning
Hamdi Mahmoud
- Learn the mathematics underlying core machine learning algorithms.
- Differentiate between supervised and unsupervised learning techniques.
- Apply fundamental algorithms to real-world datasets.
The Data Warehouse Toolkit
Ralph Kimball & Margy Ross
- Master dimensional modeling and the star schema architecture.
- Implement Slowly Changing Dimensions (SCDs) for historical data tracking.
- Design enterprise data warehouses for robust business intelligence.
Delta Lake: The Definitive Guide
Denny Lee, Tristen Wentling, Scott Haines, Prashanth Babu
- Build reliable data lakehouse architectures using Delta Lake.
- Enable ACID transactions and time travel on Apache Spark workloads.
- Architect scalable, real-time data pipelines leveraging Delta architecture.
Data Pipelines Pocket Reference
James Densmore
- Understand core principles of reliable ELT and ETL pipeline design.
- Evaluate and select appropriate modern data stack tools.
- Implement essential data validation and testing strategies.
Rich Dad Poor Dad
روبرت تي كيوساكي
- Learn the fundamental difference between assets and liabilities.
- Understand that financial literacy is the key to wealth building.
- Shift focus from working for money to having money work for you.
Python for Absolute beginners
Oswald Campesato
- Grasp the basics of programming concepts without prior experience.
- Execute simple scripts and understand Python's core data types.
- Build confidence to progress to intermediate programming topics.
Foundations Of Computer Vision
James F. Peters
- Explore image processing techniques and geometric computer vision.
- Understand feature extraction and object recognition methods.
- Learn the mathematical foundations behind visual data interpretation.
Computer Graphics
Mohammed Salah Reda
- Understand 2D and 3D rendering pipelines and transformations.
- Learn lighting, shading, and texture mapping algorithms.
- Master fundamental mathematical concepts for computer graphics.
Introduction to the Design and Analysis of Algorithms
Anany Levitin
- Master algorithm design techniques like divide-and-conquer and dynamic programming.
- Analyze time and space complexity using Big O notation.
- Solve computational problems efficiently with appropriate algorithms.
Introduction to Algorithms
Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein
- Comprehensive reference for graph algorithms, sorting, and data structures.
- Deep dive into advanced algorithmic paradigms and their proofs.
- Understand the theoretical foundations of computer science computation.
Understanding ETL
Matt Palmer
- Learn the core principles of Extract, Transform, Load processes.
- Identify common pitfalls in data integration workflows.
- Architect pipelines that ensure data quality and reliability.