Data Science Foundations: Data Structures and Algorithms
University of Colorado Boulder via Coursera Specialization
Overview
Building fast and highly performant data science applications requires an intimate knowledge of how data can be organized in a computer and how to efficiently perform operations such as sorting, searching, and indexing. This course will teach the fundamentals of data structures and algorithms with a focus on data science applications. This specialization is targeted towards learners who are broadly interested in programming applications that process large amounts of data (expertise in data science is not required), and are familiar with the basics of programming in python. We will learn about various data structures including arrays, hash-tables, heaps, trees and graphs along with algorithms including sorting, searching, traversal and shortest path algorithms.
The courses in this specialization can be taken for academic credit as part of CU Boulder’s Master of Science in Data Science (MS-DS) degree offered on the Coursera platform. The MS-DS is an interdisciplinary degree that brings together faculty from CU Boulder’s departments of Applied Mathematics, Computer Science, Information Science, and others. With performance-based admissions and no application process, the MS-DS is ideal for individuals with a broad range of undergraduate education and/or professional experience in computer science, information science, mathematics, and statistics. Learn more about the MS-DS program at https://www.coursera.org/degrees/master-of-science-data-science-boulder.
Syllabus
Course 1: Algorithms for Searching, Sorting, and Indexing
- Offered by University of Colorado Boulder. This course covers basics of algorithm design and analysis, as well as algorithms for sorting ... Enroll for free.
Course 2: Trees and Graphs: Basics
- Offered by University of Colorado Boulder. Basic algorithms on tree data structures, binary search trees, self-balancing trees, graph data ... Enroll for free.
Course 3: Dynamic Programming, Greedy Algorithms
- Offered by University of Colorado Boulder. This course covers basic algorithm design techniques such as divide and conquer, dynamic ... Enroll for free.
- Offered by University of Colorado Boulder. This course covers basics of algorithm design and analysis, as well as algorithms for sorting ... Enroll for free.
Course 2: Trees and Graphs: Basics
- Offered by University of Colorado Boulder. Basic algorithms on tree data structures, binary search trees, self-balancing trees, graph data ... Enroll for free.
Course 3: Dynamic Programming, Greedy Algorithms
- Offered by University of Colorado Boulder. This course covers basic algorithm design techniques such as divide and conquer, dynamic ... Enroll for free.
Courses
-
This course covers basics of algorithm design and analysis, as well as algorithms for sorting arrays, data structures such as priority queues, hash functions, and applications such as Bloom filters.
Algorithms for Searching, Sorting, and Indexing can be taken for academic credit as part of CU Boulder’s Master of Science in Data Science (MS-DS) degree offered on the Coursera platform. The MS-DS is an interdisciplinary degree that brings together faculty from CU Boulder’s departments of Applied Mathematics, Computer Science, Information Science, and others. With performance-based admissions and no application process, the MS-DS is ideal for individuals with a broad range of undergraduate education and/or professional experience in computer science, information science, mathematics, and statistics. Learn more about the MS-DS program at https://www.coursera.org/degrees/master-of-science-data-science-boulder. -
Basic algorithms on tree data structures, binary search trees, self-balancing trees, graph data structures and basic traversal algorithms on graphs. This course also covers advanced topics such as kd-trees for spatial data and algorithms for spatial data.
Trees and Graphs: Basics can be taken for academic credit as part of CU Boulder’s Master of Science in Data Science (MS-DS) degree offered on the Coursera platform. The MS-DS is an interdisciplinary degree that brings together faculty from CU Boulder’s departments of Applied Mathematics, Computer Science, Information Science, and others. With performance-based admissions and no application process, the MS-DS is ideal for individuals with a broad range of undergraduate education and/or professional experience in computer science, information science, mathematics, and statistics. Learn more about the MS-DS program at https://www.coursera.org/degrees/master-of-science-data-science-boulder. -
This course covers basic algorithm design techniques such as divide and conquer, dynamic programming, and greedy algorithms. It concludes with a brief introduction to intractability (NP-completeness) and using linear/integer programming solvers for solving optimization problems. We will also cover some advanced topics in data structures.
Taught by
Sriram Sankaranarayanan