BARCELONA / NOVEMBER 28 - DECEMBER 16, 2016
BY ALEXANDER KULIKOV
We offer innovative university degrees taught in English by industry leaders from around the world, aimed at giving our students meaningful and creatively satisfying top-level professional futures. We think the future is bright if you make it so.
At Harbour. Space the protagonist is the student, because it’s our students who are in charge of the future. Our mission is to nurture and accelerate talent, supported by the most knowledgeable and successful people in technology and design. Harbour. Space allows for brilliant ideas to flourish and produce solutions to contemporary societal challenges around themes such as the environment, health, energy and security.
Our immersive learning approach means realworld problems take centre stage in the classroom, not textbook challenges. Brilliant ideas are born in collaboration, through experimentation by crossing every possible academic boundary. We know this is true in business, now we’re making it happen in our university.
All rights reserved. 2016
DATA STRUCTURES AND ALGORITHMS
In this session students will learn about seemigly naïve yet powerful class of algorithms called greedy algorithms.
In this session students will learn about a powerful algorithmic tecnique called divide and conquer.
In this session students will learn about the basic dara structures used throughout the rest of this course.
We start this session by considering priority queues which are used to efficiently schedule jobs and sort huge files, which is the most important building block for any big data processing algorithm.
In this session students will learn about a powerful tecnique for solving problems called dynamic programming.
In this session students will learn about a very powerful and widely used tecnique called hashing.
In this session students will study binary search trees, which are a data structure for doing searches on dynamically chaging ordered sets.
Graphs arise in various real-world situations as there are road networks, computer networks and most recently, social networks.
In this session students will study algorithms for finding shortest path in graphs. These algorithms have many applications.
In this session students will study the minimum spanning tree problem.
Although many of the algorithms students have learned so far are applied in practice a lot, it turns out that the world is dominated by real-world problems without a known probably efficient algorithm.
This module covers basic algorithmic techniques and ideas for computational problems that arise frequently in various branches of computer science. It is essential for students who are looking to get a job as a software engineer at a top technology company. The module is a mix of theory and practice: students will prove the correctness of algorithms, as well as analyze how long it takes for algorithms to run.
Their programs will be tested against carefully prepared test cases using an automated testing system. The system has been tested by tens of thousands of students and is essential to learn writing programs which really work. Some of the assignments will contain problems which were previously used at the interviews to top tech companies.
DATA STRUCTURES AND ALGORITHMS
Alexander Kulikov - Senior research fellow, Laboratory of Mathematical Logic, St. Petersburg Department of Steklov Institute of Mathematics. Alexander graduated from St. Petersburg State University in 2005 and received Ph.D. from St. Petersburg Department of Steklov Mathematical Institute in 2009 under the supervision of Edward A. Hirsch. His main research interests are algorithms for NP-hard problems and circuit complexity, most of his publications are in these fields. Alexander is running the Computer Science club and Computer Science center that provide students of St. Petersburg with advanced computer science lectures. He teaches courses and runs seminars on algorithms and circuit complexity and from time to time organizes computer science conferences and student schools in Russia. Alexander is one of the authors and teachers of the unique Coursera Specialization for Master Algorithmic Programming Techniques.