In this course you will learn several fundamental principles of algorithm design. You'll learn the divide-and-conquer design paradigm, with applications to fast sorting, searching, and multiplication. You'll learn several blazingly fast primitives for computing on graphs, such as how to compute connectivity information and shortest paths. Finally, we'll study how allowing the computer to "flip coins" can lead to elegant and practical algorithms and data structures.
In this course you will learn several fundamental principles of advanced algorithm design. You'll learn the greedy algorithm design paradigm, with applications to computing good network backbones (i.e., spanning trees) and good codes for data compression. You'll learn the tricky yet widely applicable dynamic programming algorithm design paradigm, with applications to routing in the Internet and sequencing genome fragments.
From Google Maps to consumer global positioning system (GPS) devices, spatial technology shapes many lives in both ordinary and extraordinary ways. Thanks to spatial computing, a hiker in Yellowstone and a taxi driver in Manhattan can know precisely where they are, discover nearby points of interest and learn how to reach their destinations. Spatial computing technology is what powers the Foursquare check-in, the maps app on your smartphone, the devices used by scientists to track endangered species, the routing directions that help you get from point A to point B, the precision agriculture technology that is revolutionizing farming, and the augmented reality devices like Google Glass that may soon mediate our interaction with the real world.
Process mining is the missing link between model-based process analysis and data-oriented analysis techniques. Through concrete data sets and easy to use software the course provides data science knowledge that can be applied directly to analyze and improve processes in a variety of domains. Data science is the profession of the future, because organizations that are unable to use (big) data in a smart way will not survive. It is not sufficient to focus on data storage and data analysis. The data scientist also needs to relate data to process analysis. Process mining bridges the gap between traditional model-based process analysis (e.g., simulation and other business process management techniques) and data-centric analysis techniques such as machine learning and data mining.