Foundations of Data Structures and Algorithms Specialization
About Course
Foundations of Data Structures and Algorithms Specialization, 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. Learners will solve data-structure problems by analyzing and designing algorithms for searching, sorting, and indexing; creating trees and graphs; and addressing intractability. Courses also include conceptual algorithm design problems as well as opportunities to program data structures/algorithms in the python programming language.
Course Content
01. Algorithms for Searching, Sorting, and Indexing
-
001 01_earn-academic-credit-for-your-work_instructions.html
00:00 -
002 02_course-support_instructions.html
00:00 -
003 03_important-prerequisites_instructions.html
00:00 -
004 04_logistics-textbook-and-readings_instructions.html
00:00 -
007 05_what-is-an-algorithm.mp4
00:00 -
008 06_clrs-chapter-1_instructions.html
00:00 -
009 07_important-specialization-information_instructions.html
00:00 -
013 01_an-introduction-through-the-insertion-sort-algorithm.mp4
00:00 -
014 02_clrs-chapter-2_instructions.html
00:00 -
015 03_insertion-sort-and-running-times_exam.html
00:00 -
018 01_time-and-space-complexity.mp4
00:00 -
021 02_asymptotic-notation.mp4
00:00 -
022 03_clrs-chapter-3_instructions.html
00:00 -
023 04_asymptotic-notation-and-complexity_exam.html
00:00 -
026 01_binary-search.mp4
00:00 -
028 02_binary-search-lecture-slides_instructions.html
00:00 -
030 03_jupyter-notebook-on-binary-search_instructions.html
00:00 -
031 04_binary-search_exam.html
00:00 -
034 01_merge-sort-algorithm-analysis-and-proof-of-correctness.mp4
00:00 -
035 02_notes-on-mergesort_instructions.html
00:00 -
038 03_mergesort-algorithm_exam.html
00:00 -
041 01_pitfalls-and-logarithms.mp4
00:00 -
047 02_clrs-chapter-10-10-1-jupyter-notebook_instructions.html
00:00 -
048 03_basics-of-data-structures_exam.html
00:00 -
051 01_heap-min-max-heaps-and-properties-of-heaps.mp4
00:00 -
052 02_clrs-chapter-6-1-and-6-2_instructions.html
00:00 -
053 03_basics-of-heap-data-structures_exam.html
00:00 -
056 01_heap-primitives-bubble-up-bubble-down.mp4
00:00 -
057 02_clrs-chapter-6-3_instructions.html
00:00 -
060 03_priority-queues-heapify-and-heapsort.mp4
00:00 -
061 04_clrs-chapter-6-4-and-6-5_instructions.html
00:00 -
062 05_bubble-up-bubble-down-insertion-and-deletion-operations_exam.html
00:00 -
066 01_hashtables-introduction.mp4
00:00 -
067 02_clrs-chapter-11-1-and-11-2_instructions.html
00:00 -
068 03_hashtables_exam.html
00:00 -
072 01_introduction-to-randomization-average-case-analysis-recurrences.mp4
00:00 -
076 02_clrs-chapter-7-1_instructions.html
00:00 -
077 03_quicksort-and-partition_exam.html
00:00 -
080 01_detailed-design-of-partitioning-schemes.mp4
00:00 -
081 02_clrs-chapter-7-1_instructions.html
00:00 -
082 03_partition-schemes_exam.html
00:00 -
085 01_analysis-of-quicksort-algorithm.mp4
00:00 -
086 02_clrs-chapter-7-2-7-4_instructions.html
00:00 -
087 03_analysis-of-quicksort_exam.html
00:00 -
090 01_quickselect-algorithm-and-its-applications.mp4
00:00 -
091 02_clrs-chapter-9-1-9-2_instructions.html
00:00 -
092 03_quickselect-algorithm_exam.html
00:00 -
095 01_selecting-hash-functions.mp4
00:00 -
098 02_universal-hash-functions-and-analysis.mp4
00:00 -
099 03_clrs-chapter-11-3_instructions.html
00:00 -
100 04_universal-hash-functions_exam.html
00:00 -
104 01_open-address-hashing.mp4
00:00 -
105 02_clrs-11-4_instructions.html
00:00 -
106 03_open-address-hashing_exam.html
00:00 -
109 01_perfect-hashing-and-cuckoo-hashing.mp4
00:00 -
110 02_clrs-chapter-11-5-perfect-hashing-and-slides-with-scribbles_instructions.html
00:00 -
114 01_bloom-filters-and-analysis.mp4
00:00 -
117 02_bloom-filter-slides_instructions.html
00:00 -
120 01_count-min-sketching-using-hashing.mp4
00:00 -
122 02_count-min-sketches-slides_instructions.html
00:00 -
125 01_string-matching-using-hashing.mp4
00:00 -
126 02_slides-with-scribbles_instructions.html
00:00 -
links.txt
00:00
02. Trees and Graphs Basics
03. Dynamic Programming, Greedy Algorithms
04. Approximation Algorithms and Linear Programming
05. Advanced Data Structures, RSA and Quantum Algorithms
Earn a certificate
Add this certificate to your resume to demonstrate your skills & increase your chances of getting noticed.