**When and where**

The course will run every week on Friday from 13:00-17:00. The course will take place in Building 358, Room 006.

**What**

This course will give a short and intensive introduction to a large set of computational tools and techniques for dealing with large data. We will touch upon for example: The UNIX terminal, version control, databases, Python, parallel programming, GPU’s and cloud computing.

**Why**

There are multiple reasons for teaching this course. Many of the people who do work on machine learning and scientific computing come from a mathematical background where the focus has been on the mathematical theory rather than on the practical tools and implementations of these theories. This holds for both students, as well as researchers in different departments. We are teaching this course to help students get a hold of the different tools and technologies available for working with large scale data, and to develop these competences internally.

**How**

Instead of giving lectures about how to use the different tools, we will attempt a more hands-on approach. For each week, we will list a set of learning objectives and resources for obtaining the basic understanding of these objectives. We will also specify concrete tasks where the solution requires the understanding and application of the tools and techniques. Each week, there will be 4 hours of confrontation time where we will sometimes give short lectures, or simply be available for support. How you decide to spend your time is up to you, as long as the learning objectives are met.

**Who**

The course is managed by multiple sections under DTU Compute (so far “Cognitive Systems”, “Scientific Computing” and “Algorithms, Logics and Graphs”). Since this course introduces technologies from a multitude of different fields within computer science, no single person will be able to know all the details. Due to this, we will draw upon the knowledge of multiple people from different sections.

**Prerequisites**

For this course, it is assumed that you are familiar with programming in some language and that you have taken courses within an area which has a need for large scale computing, such as machine learning, image analysis, scientific computing etc. We will be using Python throughout the course, and week 2 and 3 will introduce Python.

**Evaluation**

The course is pass/no pass. In the last two weeks, students will do individual presentations about subjects which we did not have time to cover in the course.