We may earn an affiliate commission when you visit our partners.
Course image
Sriram Sankaranarayanan

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.

Read more

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.

This specialization can be taken for academic credit as part of CU Boulder’s MS in Data Science or MS in Computer Science degrees offered on the Coursera platform. These fully accredited graduate degrees offer targeted courses, short 8-week sessions, and pay-as-you-go tuition. Admission is based on performance in three preliminary courses, not academic history. CU degrees on Coursera are ideal for recent graduates or working professionals. Learn more:

MS in Data Science: https://www.coursera.org/degrees/master-of-science-data-science-boulder

MS in Computer Science: https://coursera.org/degrees/ms-computer-science-boulder

Enroll now

Share

Help others find Specialization from Coursera by sharing it with your friends and followers:

What's inside

Five courses

Algorithms for Searching, Sorting, and Indexing

(2 hours)
This course covers basics of algorithm design and analysis, as well as algorithms for sorting arrays, data structures such as priority queues, and applications such as Bloom filters.

Trees and Graphs: Basics

(2 hours)
Basic algorithms on tree data structures, binary search trees, self-balancing trees, graph data structures, and basic traversal algorithms on graphs.

Dynamic Programming, Greedy Algorithms

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.

Approximation Algorithms and Linear Programming

(0 hours)
This course continues our data structures and algorithms specialization by focusing on linear and integer programming formulations for algorithmic problems. Next, we will study algorithms for NP-hard problems with guaranteed solutions within an approximation factor of the best possible solutions.

Advanced Data Structures, RSA and Quantum Algorithms

(0 hours)
Introduces number-theory based cryptography, basics of quantum algorithms, and advanced data structures.

Learning objectives

  • Organize, store and process data efficiently using sophisticated data structures and algorithms
  • Design algorithms and analyze their complexity in terms of running time and space usage
  • Create applications that are supported by highly efficient algorithms and data structures for the task at hand

Save this collection

Save Foundations of Data Structures and Algorithms to your list so you can find it easily later:
Save
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser