====== Visual Analytics (602AA) - Course Semester 2019 ====== * **Salvatore Rinzivillo** ([[rinzivillo@isti.cnr.it]]) ===== Schedule ===== * Monday, 16:00 - 18:00, Aula N1 Polo Fibonacci * Friday, 14:00 - 16:00, Aula V1 Polo Fibonacci ===== News ===== To keep updated with the last news of the course, subscribe at the Telegram channel: https://t.me/va602aa * **[new]** The new edition is starting on Monday 18th February 2019 at 16:00 in Aula N1 ===== Exams ===== Students will be admitted to the exam after the registration on the website [[http://esami.unipi.it]]. The exam consist of a discussion of the project. It is mandatory to submit a short report (6-10 pages) within the deadline by mail to instructor, specifying the tag "[VA]" in the subject. ==== Project assignment ==== * A project should have the following requirements: * The application should contain several visual widgets, each providing insights on a selection of dimensions of the original data * It is possible to use state-of-the-art charts (bar charts, line charts, etc.) and libraries (plotly, nvd3, etc). It is a plus to implement a novel, original visualization to present the data in a creative, non-trivial way. (see examples on Vast Challenge 2008 developed in class) * Interactivity should be implemented, providing toolbars, selections and filters for the data. * The visual widget should interact among them, realising a set of linked display to browse the data across multiple dimensions * The project should be submitted as a Git repository * The project report should be submitted 4 days before the discussion and should discuss at least the following points: * Description of data and presentation of the pattern or model to communicate * design choices: colors, interactions, shapes, transformations) * state-of-art: similar tools or interfaces for the same problem * detailed description of the visualization with description of interaction * use case example for an analytical task The student may choose one of the following project proposals. She/he can also propose an additional topic. In this case a project proposal should be submitted for approval, containing a description of the data, a sketch of the possible visualization and the motivation for the project. === VAST Challenge 2018 === The project assignment for the exam consist in the realisation of a web application addressing data and mini challenges presented for the VAST challenge 2018 (http://www.vacommunity.org/VAST+Challenge+2018). The general contest of the challenge asks to analyse and explain the possible causes of pollutants spreading in a natural park, threatening the survival of a bird species in the park. The challenge presents 3 different mini challenges. However, only MC2 and MC3 can be used for preparing the project exam (MC1 is based on analytical skills we did not discuss during the course). Each student should tackle one mini challenge for the exam (teams of two students should address at least two mini challenges). === Didactic Data Mining === This is a project that requires to implement a module with visual interface to explore and manage the project __Didactic Data Mining__ developed within the course of Data Mining. The module is implemented in Python and provides a RESTful interface to create an experiment, to insert a dataset and to follow the evolution of a data mining algorithm on the dataset. == Rules == * The students should select a data mining algorithm after a preliminary discussion with the project manager (Prof Monreale) * The requirements of the project are discussed in this extended committee. The student is autonomous in developing and proposing the visual interface * From a technical point of view, a few constraints are already set: * The project should be developed within the GitHub platform, accessing the repository of the main Project (it will be created a branch dedicated to the student) * The interfaces and data schema of the whole project is fixed and cannot be changed (any modification should be discussed) * The module developed by the student should confirm the code quality rules already set (linting, testing, etc.) * The project uses the Vue.js framework for developing the application === Network Diffusion Library === This is a project that requires to extend the visual interface of the __NDLib - Network Diffusion Library__ developed within the KDDLab. The core library is implemented in Python and provides a RESTful interface to create an experiment, to insert a network and to execute a diffusion simulation over the network. == Rules == * The students should select one task to extend the interface, after a preliminary discussion with the project managers (Rossetti, Milli, Rinzivillo) * The requirements of the project are discussed in this extended committee. The student is autonomous in developing and proposing the visual interface * From a technical point of view, a few constraints are already set: * The project should be developed within the GitHub platform, accessing the repository of the main Project (it will be created a branch dedicated to the student) * The interfaces and data schema of the whole project are fixed and cannot be changed (any modification should be discussed) * The module developed by the student should conform the code quality rules already set (linting, testing, etc.) * The project uses the Vue.js framework for developing the application === Geological data visualization :!: **new**=== This project has the objective of creating a visual dashboard to explore and browse geographical and geological data. This is a joint project with the IGG institute of CNR. Data available for the project can not be shared publicly. If interested, send me an email to fix a meeting to discuss more in detail. ==== Next Exams ==== * ===== Textbooks ===== * [[http://www.vismaster.eu/news/mastering-the-information-age/|VisMaster - Mastering the information age]] * Processing: a programming handbook for visual designers and artists . Casey Reas, Ben Fry. MIT Press, 2007 * Design for Information. Isabel Meirelles, Rockport Publisher,2013. * Interactive Data Visualization for the Web, Scott Murray, O'Reilly Atlas, 2013 ===== Useful Resources ===== * Tools * [[http://www.openprocessing.org/classroom/4698| OpenProcessing Classroom]] * [[http://processing.org|Processing.org]] * [[http://d3js.org|D3 Javascript Library]] * [[http://piktochart.com/|PiktoChart]] * [[http://jsbin.com/|JS Bin]] * Reading Material * [[http://www.slideshare.net/AmandaMakulec/data-visualization-resource-guide-september-2014|Data Visualization Resources (on Slideshare)]] * [[http://blog.hubspot.com/marketing/data-visualization-mistakes|Why Most People's Charts & Graphs Look Like Crap]] * [[https://infoactive.co/data-design/|Data + Design (crowdsourced book)]] * [[http://svgpocketguide.com/book/|Pocket Guide to Writing SVG]] * Inspiration * [[http://datavisualization.ch/]] * [[http://infosthetics.com/]] * [[http://www.informationisbeautiful.net/]] * [[http://visualoop.com/]] * [[http://www.openprocessing.org/]] * [[https://www.flickr.com/groups/processing/|Set of images of Processing artwork on Flickr]] * Processing libraries * [[http://www.sojamo.de/libraries/controlP5/|Extends sketches with toolbar]] * [[http://toxiclibs.org/|Utilities]] * [[http://unfoldingmaps.org/|Mapping library]] ==== Other resources ==== * [[http://dati.toscana.it|Open Data Tuscany Region]] * [[http://riccomini.name/posts/game-time-baby/|Sport results]] * [[http://yahoolabs.tumblr.com/post/89783581601/one-hundred-million-creative-commons-flickr-images|Flickr Images dataset]] * [[http://www.yelp.com/dataset_challenge]] * [[http://socialcomputing.asu.edu/pages/datasets]] * [[http://networkrepository.com/]] * [[http://chriswhong.com/open-data/foil_nyc_taxi/]] * [[http://www.sociopatterns.org/datasets/]] * [[http://konect.uni-koblenz.de/]] * [[http://snap.stanford.edu/data/|Stanford Large Network Dataset Collection]] ===== Class Calendar ===== All exercises and code discussed during each lesson are available as a Git repository at: https://github.com/va602aa-2019 | ^ Day ^ Aula ^ Topic ^ Learning material ^ ^01| 2019/02/18 16:00-18:00 | N1 | Intro: Visual Analytics Process; | {{ :magistraleinformaticaeconomia:va:2019:va_lesson1_introcourse.pdf |Slides}} ; VisMaster Book (Chapter 2) | ^ 02 | 2019/02/22 14:00-16:00 | V1 | Node.js, NPM, Vue.js, GIT | {{:magistraleinformaticaeconomia:va:2019:VA_Lesson2_nodejs_npm_git.pdf|Slides}} | ^ 03 | 2019/02/25 16:00-18:00 | N1 | Vision, Perception and effective visualization | {{:magistraleinformaticaeconomia:va:2019:VA_Lesson3_vision_perception.pdf|Slides}} | ^ 04 | 2019/03/01 14:00-16:00 | V1 | Introduction to HTML, CSS, Javascript | {{:magistraleinformaticaeconomia:va:2019:VA_Lesson4_html_css_js.pdf|Slides}} | ^ 05 | 2019/03/04 16:00-18:00 | N1 | Chart Taxonomy, DO and Don't examples | {{:magistraleinformaticaeconomia:va:2019:VA_Lesson5_doanddonts.pdf| Slides}} | ^ 06 | 2019/03/08 14:00-16:00 | V1 | Intro to SVG and D3.js | {{:magistraleinformaticaeconomia:va:2019:VA_Lesson6_svg.pdf|Slides}}; {{:magistraleinformaticaeconomia:va:2019:VA_Lesson6_d3js_intro.pdf|Slides}} | ===== GITHub repository ===== All source code of exercises are available at the URL: https://github.com/va602aa-2019 ===== Previous Editions ===== * [[magistraleinformaticaeconomia:va:Course2018]] * [[magistraleinformaticaeconomia:va:Course2017]] * [[magistraleinformaticaeconomia:va:Course2016]] * [[magistraleinformaticaeconomia:va:Course2015]]