Start learning with our library of video tutorials taught by experts. Get started
Viewers: in countries Watching now:
Once you get past simplistic computer programs with one or two variables, you'll use a data structure to store the values—and groups of values— in your applications. While they are sometimes taken for granted in modern programming environments, a deeper understanding of data structures is vital for any programmer who wants to know what's going on "under the hood" and understand how to defend the choices they've made for performance and efficiency. Simon Allardice offers that understanding to you in this Foundations of Programming course.
Starting with simple ways of grouping data like arrays and structs, together you'll explore gradually more complex data structures, like dictionaries, sets, hash tables, queues and stacks, links and linked lists, and trees and graphs. Simon keeps the lessons grounded in the real world and answers the "why" behind many data-structuring decisions: Why use a hash table? Why is a set useful? Why avoid arrays? When you're finished with the course, you'll have a clear understanding of data structures and understand how to use them in whatever language you're programming in, today or 5 years from now.
Welcome to Foundations of Programming, Data Structures. I'm Simon Allardice. This course exists because as soon as we get beyond simplistic hello world programming, our programs are filled with data structures. An array is a data structure, an object in an object-oriented programming language is a data structure, but there are many others. We have dictionaries, sets, hash tables, queues and stacks, lists and link lists, trees and graphs, multiple ways to contain information inside a computer program.
We'll begin here by covering the plain old data structures from the earlier programing languages, things like structs and basic arrays that we all know. We'll see why they're so useful, but there are better options for many programming problems. I'm going to start to introduce more complex data structures, but we'll always keep a practical, real-world, pragmatic approach to this. Why would we use a hash table or a stack? What is a set useful for? When should you avoid using an array? Or a queue? Or a dictionary? Now, this course is not about writing the behind the scenes data structure algorithms because most modern programming languages already have incredible built-in support for all the classic data structures.
They're optimized, they're battle tested, but they're also often underutilized and misunderstood. Here, it's about truly understanding data structures so you can use them successfully in whatever language you're using today, or six months from now, or five years from now. Let's get started.
There are currently no FAQs about Foundations of Programming: Data Structures.
Access exercise files from a button right under the course name.
Search within course videos and transcripts, and jump right to the results.
Remove icons showing you already watched videos if you want to start over.
Make the video wide, narrow, full-screen, or pop the player out of the page into its own window.
Click on text in the transcript to jump to that spot in the video. As the video plays, the relevant spot in the transcript will be highlighted.