Foundations of Data Structures and Algorithms
University of Colorado Boulder via Coursera Specialization
-
10
-
- Write review
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.
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
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
Tags
Reviews
5.0 rating, based on 1 Class Central review
Showing Class Central Sort
-
This specialization started out as a great introduction to algorithms and went into more complex graduate-level study in the later 3 courses. The instructor does a really good job at explaining topics with intentional repetition & thorough analysis.
While the first 2 courses were quite easy, it gets noticeably harder with course 3.