Interdisciplinary Algorithms Lab, Fall Semester 2018
Prof. Dr. Angelika Steger
Prof. Dr. David Steurer
Dr. Johannes Lengler
The first meeting is Wednesday, Sep 19, at 15:15 in CAB G 15.2. On the first meeting, we will agree on a time slot for the rest of the semester.
In this course students will develop solutions for algorithmic problems posed by researchers from other fields. The course addresses master students in computer science, and is suited both for students with a theoretical and with a more applied focus.
The main goal is to learn how to solve algorithmic problems in an interdisciplinary or applied context.
The key is to combine (i) a solid understanding of algorithmic methodology with (ii) insights into the problem at hand to judge which side constraints are essential and which can be loosened. Or, phrased differently, real world problems are often ill posed.
And a major step toward a solution is to find an appropriate formalization of the problem.
Since we are dealing with real data, performance will be evaluated experimentally. For this evaluation, students need to implement algorithms, preferably by using and combining available tools. The course will be run during the term. The course is 5CP and we thus expect that students work for the lab a full day each week.
The lab will be in cooperation with the lab of Benjamin Grewe from INI (Institute of Neuroinformatics, University of Zurich). They can produce a video of calcium imaging data. The calcium concentration in a neuron sharply increases whenever the neuron sends a signal (action potential, spike) to its neighbors. From the video data they want to infer (i) at which point in time there is such a spike; (ii) which spikes originate from the same neurons.
The students will thus be split into groups. One group works on the problem of identifying spikes. The other group works on the problem of matching spikes that come from the same neuron. A third group will provide both groups with the tools to use the output of each other as feedback.
The lab aims at bringing together students with different skill sets. For example, a theoretically oriented student may enjoy reading papers about different approaches, while a practically oriented student may have better programming skills, or may come up with efficient heuristics. The teams should be formed in such a way that the students complement each other with their skills and interests.