Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Georgia Institute of Technology

Computing in Python III: Data Structures

Georgia Institute of Technology via edX


Build on your existing knowledge of conditionals, loops, and functions by studying more about complex Python data structures, including strings, lists, dictionaries, and file input and output. Organized into five chapters, this course starts by covering the basics of data structures, then moves on to these four common data structures in Python:

  • Strings let you perform far more complex reasoning with text.
  • Lists let you process long lists of data, and even lists of lists of data for more complex reasoning.
  • Dictionaries let you more clearly code for complex types of data, and even simulate some basic elements of object-oriented programming.
  • File input and output brings your programs to life, allowing you to persist data across executions of the same program.

By the end of this course, you'll be able to write even more complex programs in Python that process and persist complex data structures. For example, you'll be able to write an ongoing gradebook application that tracks and updates your average over time, a program to calculate the net force based on several force magnitudes and directions, or a program that can turn a string like this into a StRiNg LiKe tHiS.

Structurally, the course is comprised of several parts. Instruction is delivered via a series of short (2-3 minute) videos. In between those videos, you'll complete both multiple choice questions and coding problems to demonstrate your knowledge of the material that was just covered.


Chapter 1. Data Structures. Building the fundamental types of data – Booleans, integers, floating point numbers, and characters -- into more complex strings, lists, and dictionaries that can be persisted in files.

Chapter 2. Strings. Working with series of characters that can represent plaintext messages, passwords, and more, including all the complexities of combining human language with programming code.

Chapter 3. Lists. Taking fundamental data types like strings, integers, and floats and organizing them into tuples or lists that can represent complex structures of data; or for added complexity, creating lists of lists to create 2-dimensional (or more) data structures.

Chapter 4. File Input and Output. Taking information stored in your code and persisting it in an external file that can last after the program has finished executing, or loading data from a file into a program for processing.

Chapter 5. Dictionaries. Organizing key-value pairs (very similar to variables and values) into higher-level structures that can be easily passed around or reused with some intuitive structure.

Taught by

David Joyner


4.8 rating, based on 44 Class Central reviews

Start your review of Computing in Python III: Data Structures

  • Anonymous

    Anonymous completed this course.

    This is a great course to take for those relatively or completely unfamiliar with the data structures being discussed in the course language (for me in 2018-19, it was Python 3). Though I was somewhat familiar with strings, lists, file input/output,...
  • Wim Leys completed this course, spending 35 hours a week on it and found the course difficulty to be easy.

    I have programmed - without taking any course - in Python 2.x more than 10 years ago (and I forgot most of it). I am interested in data science and was looking for a Python course as a first step up. I was also looking at an introductory programming course...
  • This is was a great course to follow for understanding data structures (in general). this course give me a good space for practicing and implementing new skills with tests and exercises , I learn a lot about dealing, and manipulate data structures.

    Smartbook or the interactive textbook was a very good place for review information that i take in video lectures, it help me to clear my understanding for topic i take before.
  • Anonymous
    Well-explained lessons with great practice tests.
    Computing in Python I & II were relatively easy, so free version was enough, but III felt like more practice projects were needed, which you get with paid version.
    Love the fact that you can do the project and then check a professional way of doing it, as sometimes you find a much quicker way to solve the problem.

    You learn everything you need to learn for the beginning. The way the instructor is teaching is comforting. If it gets confusing you are comforted not to panic and that later on it will make sense.
  • Anonymous

    Anonymous completed this course.

    My goal was to learn how to program in Python. This course series continues with a primarily academic exercise focus - too much theory. The textbook skims briefly over subjects as do many of the exercises, without in-depth explanation or sufficient programming...
  • Clementine
    David Joyner is the kind of teacher who I wish I had for real, he has explained the concepts of Python programming brilliantly through his relatable examples and interesting learning nuances. The course is righteously names as Computing in Python, viz far beyond than programming, which can alone take you not as far you wish.
    Good choice if you have signed up for it.
  • Anonymous
    I'm working through the four-part seriese that Computing in Python III is a part of, and have been really impressed with the structure of the course so far. The course carefully build concepts toward greater complexity and connectivity. While some problems are challenging and get me stuck or thinking for a while, I always find I've been given the tools to figure them out, and solving them fells very rewarding. The practices interspersed throughout the videos do a fantastic job of checking for understanding so that you don't get lost. The examples given by the teacher in the videos are super clear and helpful. I've really enjoyed this series and look forward to completing the fourth part!
  • Anonymous
    David Joyner is such a great teacher. He built everything up from the fundamentals in a logical progression and "preview" harder concepts before covering them in detail. It is a great series of courses!
  • David Dana
    Data Structures was a really great, self-paced, online course. I found the work challenging and yet completable during the various hours I was able to find while working full-time and taking care of my family. I did hunger for some more meaty problems, especially ones with real data. Perhaps they can be offered just for fun for those interested? Another neat addition might be an FAQ of Gotcha's like: remember that a method call on an immutable object that isn't assigned to something is like screaming in the wind :) One last question... how many of those blue shirts does Prof Joyner have?
  • Anonymous
    This class started great with lots of details, but feels like it was very rushed to complete. Much more coding opportunities should have been provided for dictionaries.

    The final problem was actually unworkable based on the materials provided without extensive research outside of the course. That is definitely "coding" in the real world, but it probably is the best way to learn.

    I don't expect the videos to explain exactly what to do in the coding problems, but there should definitely be a build up that let's us apply in the context of the other courses.
  • Anonymous
    It was an excellent course that i'll never forget. I also hope to have a great performance in the next course of Object-Oriented Programming and Data Algorithms.
  • Profile image for Daniel Dario Duran Jimenez
    Daniel Dario Duran Jimenez
    I loved this course! I could easily say it's one of the best courses out there to learn Python! Teacher David Joyner explains every lesson clearly and makes the contents pretty intuitive most of the time. I loved the proposed exercises of every module, each one has at least something new to teach you and some of them are pretty challenging. If you are planning to learn about Data Structures in Python I fully recommend this course to you.
  • Anonymous
    Excellent Course, Georgia Tech has a great teaching style. Lots of different ways to absorb the material. It helps you master it eventually, despite the fact that some of the concepts are challenging.

    By the time you reach the end, the concepts are a breeze, but there were times where I was a bit overwhelmed while completing the practice problems.

    I was very impressed by the teaching style of David Joyner.
  • Anonymous
    The course is very well organized on a step-by-step mode, taking us from a very basic level to grasping the most difficult concepts. I’ve evolved a lot during the course. I’m very happy for chosen this course series to learn python from scratch. In addition to the concepts being explained in full detail, there are hundreds of exercises, which evolve in difficulty and allow us to master Python.
  • Anonymous
    This class was a great overview of data structures that I'd recommend. Although I had seen this material before, the problems still gave me great practice and reinforced my mastery of the topics. It was also a great sequel to the first two courses, and I felt adequately prepared for this one.
  • Anonymous

    Anonymous completed this course.

    The audit track for this course is just as good as the first two in the series. There is enough access to the learning materials to dive deep into the subject matter. I was an audit learner, so I can't complain about anything because I didn't pay. However the audit can be improved without adding anything by including sample answers on the "Practice Problem Sets". They let you know when you get it right, but there isn't a sample answer to see a more optimal way to solve the problem. All in all I think this course gives you a lot of information and practice compared to the other mobile coding apps I've tried, which don't give ample practice for all of the learning materials.
  • Anonymous

    Anonymous completed this course.

    This is an amazing course for gaining practical skills in Python. David does a great job of providing practical, real-world examples and practice, for those learners who would rather learn by doing instead of watching. I have tried many online courses, but none have given such fundamental skill nor have been nearly as enjoyable as the X series.
  • Stanley Waiyaki Maina

    Stanley Waiyaki Maina completed this course, spending 16 hours a week on it and found the course difficulty to be hard.

    I thoroughly enjoyed the course .Especially how it was structured and the links to additional resources. I found some problem sets to be particularly challenging; however, persistence and reaching out to the awesome TA's usually provided a breakthrough. David Joyner is an excellent teacher.
  • Anonymous
    Great class! This course (part 3) has been my favorite so far of the 4-part series. It also was helpful in taking CSE6040. The additional feedback provided in links were a fun addition! Thank you!
  • Anonymous
    The lectures are well designed for the student to build skills in a nice progression. The coding exercises enforce the lectures and ensure the student can solve real-world coding problems.

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.