Data science is a dynamic and fast-growing interdisciplinary research field that, across science, industry, and government, is altering how people understand the world and make decisions. Not surprisingly, the demand for data science skills is on the rise. This course will cover key principles and tools of data science. In particular, the course will cover the process of acquiring and transforming data; the application of algorithms to learn from data (e.g., classification, regression, clustering); the application of techniques to make decisions based on data; and the role of generative models in data science. This course will cover network data analysis, as well as the social and ethical implications of data science, with a particular emphasis on algorithmic fairness, privacy and explainability. The course will expose students to theory (i.e., machine learning and statistical methods underlying data science) and practice (i.e., use of data science libraries and analysis of real-world datasets).
During the course, students will work on a series of individual exercises and group assignments that will bind together all elements of the data science process. Python will be used for all programming assignments and project. The course will introduce and make use of Jupyter notebooks, Numpy, Matplotlib and Pandas. Auxiliary libraries such as NetworkX, GeoPandas and Seaborn will also be covered.