With the advent of massive data management and artificial intelligence models, making data analysis and communication understandable is crucial. This course aims to provide the foundations for understanding, designing and evaluating data visualizations for analysis, explainability and user interactions with machines. The topics touched in the course are related to the practice of data wrangling, the learning of visualizations grammar, the application of visual design heuristics and guidelines. These principles are then applied using tools for the creation of valuable visualizations and explainability for understanding complex data processing and interactions tasks.