Computing in Python III: Data Structures
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 …
Courses : 6
Specification: Computing in Python III: Data Structures
20 reviews for Computing in Python III: Data Structures
Add a review Cancel reply
This site uses Akismet to reduce spam. Learn how your comment data is processed.
Stanley Waiyaki Maina –
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.
Neville A. Cross –
This course teach me about dictionaries and tuples. Why tuples are better than lists in some context. This theoretical explanation was well demonstrated with examples. I highly recommend this course to learn how to program using Python. If you already know how to program, this may be a bit slow.
Wim Leys –
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 suitable for my kids; Python is perfect for that.
I have followed all 4 “Computing in Python” courses, and I feel ready now to take on more advanced Python courses or books.
Each course is divided in 4 chapters, each chapter ends with an “exam”, the course ends with a final exam. Each course took about a week to complete (+ 3 hours/evening and 2 full days in the weekend (+ 8 hours per day). (I had to hurry, the courses were about to get archived.). The programming exercises and debugging take most of the time and are at the same time the most valuable to grok everything.
There is a SmartBook that is provided as a PDF. Next time I would read the PDF instead of viewing the video’s, that would have been faster.
The teaching is well structured and the programming problems are fun to make: they are quite basic at the beginning and get more challenging afterwards. You will make so many exercises that programming in Python really becomes an automation and the exercises never become boring.
I have advised my kids (they are almost or around 20 year) to take the courses.
I recommend the courses.
If you want to really learn programming and not just rote codes, this course is for you. David Joyner is really good at clarifying concepts, and the coding problems get tougher as you progress (at least for those new to programming). I will definitely recommend this course.
Joachim Schulze–lauen –
I could do this in much less than the required 20 words, just say super.
The course is excellent, structure, concept, the high amount of excercises and problem sets make it a perfect learning medium. Thanks to David and please more of this.
Absolutely amazing lecturer. Was the best course Python course I have taken so far. Lot’s of practice and different formats of it helped me to learn a lot. Thank you so much!
Great course overall, very comprehensive, challenging but doable. Lots and lots of practice which makes all the concepts stick in your head for good. 5 stars.
Plenty of practice problems, Develops good habit of coding practices. I like the fact that they put more emphasis on problems rather than just teaching theory.
Nice course, educated. I like it, BUT if u are free user the coding problems are really few. And there is the problem, u don’t have enough practice to be ready for final exams coding problems. You can still solve them but is hard. Not because they are tough but because u missing the practice especially in dictionaries you may experience this absence of enough practice, and there are no free alternatives to find on the internet for practicing in the right level of difficulty.
The great course thank you very much for your work. Unfortunately, it is closed. But it was awesome.
I Hight recommended this course.
I had previous Python experience (in school and practicing personal projects), and I used this course to practice skills with data structures. The course has a good balance of video lectures, short practice questions, and coding exercises. There was also an online textbook repeating the content in the lectures, which I did not use that much. Each section ended with references to other coding classes and websites, which was quite helpful.
Much of the graded material is only available to paying students ($95). Nonetheless, there were enough questions and coding problems that were automatically graded in the free version I followed to make it worthwhile for my purposes.
The course took me about 20 hours over two weeks to complete.
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, and dictionaries in Python already, I was very out of practice, and the course still proved challenging for me. I learned several new ways to manipulate and implement these data structures.
The lectures and Smartbook (online interactive textbook) go together nicely, and there is plenty of room to develop your own optimal method of learning, whether that entails all lecture, all reading, some of both, or a combination of those, exercises in the course, and information from other professor recommended websites.
I imagine that for people who are new to programming and/or computing (but have completed the prior units in CS1301), this course would be quite challenging at times, but rewarding overall. Even for those with a bit of prior exposure to data structures, this course would be challenging and worth your time. Several coding problems absolutely stumped me at first, but with debugging and reflection, the answers came, and proved surprisingly simple in execution. The process of developing solutions to actual coding problems can be frustrating, but can also prove entertaining, as you come up with strategies on your own that you continually perfect through trial and error.
On the note of coding problems, one criticism I have is that the problems you solve in this course are pretty small and discrete; they usually do not build off of one another directly. It would be nice to be required to use a function you have already written in your new code, as you might in some projects. This is not to say that the problems are not challenging. But you will have to come up with ideas for projects on your own, or find them elsewhere. The knowledge of data structures you will learn here lends itself well to creating your own programs that actually do things that are useful to you (e.g., games, calendars, calculators, unit converters). I recommend doing this for extra practice and fun (It may sound like work, but it can be fun to build your own program for your use).
For those hoping to learn programming for fun, this course would likely be a great choice. For those intending to apply programming in some kind of work, research or academic endeavor (me), this course is also a good choice, but keep in mind that the required material only partially delves into the variety of ways you can use these data structures. I recommend utilizing the supplemental material generously, reading the documentation and using other coding practice websites. Not all of the outside information will directly apply to this particular course, but it will help you understand some of the tougher topics (e.g., scope, mutability), provide some alternate techniques to use in the course, and provide other knowledge and tricks to keep in your back pocket to help you have an edge here or elsewhere. For example, from this course, I learned the valuable essentials of using dictionaries, but in reading and practicing supplemental material, I learned other ways to implement and manipulate them with ease, and got closer to learning what they really are, “under the hood”.
If you want to learn how to use data structures in the course programming language, this course might be for you!
NOTE: At time of writing (Summer 2019), auditing this course for free does not include full problem sets for each chapter; to get access to these useful problem sets, you MUST PURCHASE the verified course track for a fee.
I have found in this course what I was looking for I was playing with a thought about changing my career path to programming in my head for a while, but didnt know where to start? I think this was really good choice. It is selfpaced (for employed person it is necessary), well explained (really, probably the best learning material I have met in my life structurally, explanatory, comprehensive, fluently building on preceding chapters, well everything it should have, almost fun to go through…) course with lot of practise excercises (you actually program most of the time on real life problems). Also you get the idea where to move next from the exercises topic orientation. I have done all 4 courses from the profesional certificate and I thing it was really well spend money, 5 star, recommending!
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.
Impressive. Excellent material, coaching and examples. Coding problems were really useful in gaining depth on the subject. One star less as couple of ‘key’ videos could have spent more time on the aspect discussed. Would recommend this for all beginners & intermediate Pythoners.
Leslie Herr –
I have programmed in several languages for decades. Now that I’m picking up Python, I wanted a thorough grounding, not just a cookbook. David has offered a lot of insights into computer science in general and Python in particular. The exercises are fun and well chosen. Even the annoying features of the language, like immutability, were explained well.
Most MOOCs are worth maybe a week of the real, for credit course. David has taken the complete for credit course and structured it like a MOOC. If you complete all 4 parts of the sequence you will definitely know what you are doing.
In this course, I felt like I was beginning to be a “real” programmer. They gave lots of practice and assessments that challenge you, but they teach you so thoroughly that you always feel prepared to tackle the questions. I cannot recommend this class highly enough.
This course covers the basics of strings, lists, dictionaries and reading and writing to a text file.
The lecturer is better than most at explaining programming concepts. The problem sets are insightful.
This course requires about 50hours to complete. I set aside 8 10 hours per week and completed it in 5 weeks. I would recommend doing the entire series should you have the time to spare.
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 practice. There are more practical (and intensive) methods for learning the material which are better suited to actually applying the concepts.
In order to get the most out of this course I practiced coding through sites such as exercism.io and coderbyte, as well as studying other texts. For this particular level I found that the Head First Python book was much more instructive and useful “doing it to get it”.
The SmartBook format actually got in the way for me. Instead of being able to review previous chapters, or scan ahead when the course made specific reference to future material, it forces a fixed format of only a page or two at a time.
The videos followed the material in the textbook, there is not so much extra explanation to be found there which was disappointing.
I finished the course in less than two weeks, spending on average 6 hours a day many of those hours with external resources reading and practice. I am able to write simple programs now, primarily due to this extra effort.
I have followed the XSeries of Computing in Python and about to start the final chapter. This is my first formal training in python and I now feel confident to start more difficult courses. The material is clear, comprehensive, well explained and available in bite sized chunks for the beginner to someone who needs a bit of refreshing.
With some prior knowledge of Python, I spent approx. 6 8 hours per week on the courses and typically finished with ample time alotted if you choose to audit the course.
David is an excellent and knowledgeable teacher. Highly recommended!