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 II: Control Structures

Georgia Institute of Technology via edX


Building on your prior knowledge of variables and operators, this course gets into the meat of programming. Organized into five chapters, this course starts by covering the fundamentals of what control structures are and what they do, then moves on to four common control structures in Python. Conditionals let you modify what your program does based on the values of incoming variables. Loops let you repeat tasks for multiple values or while certain conditions hold true. Functions let you encapsulate complex reasoning into reusable chunks of code. Error handling lets you intelligently recover from anticipated and unanticipated glitches.

By the end of this course, you'll be able to write complex programs in Python that perform useful reasoning. For example, you could write a program that calculates your weight on other planets, calculates the standard deviation of a series of numbers, or checks for the validity of an incoming password.

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: Control Structures. The basic role of control structures in general: lines of code that control other lines of code, determining when they execute.

Chapter 2: Conditionals. Building complex reasoning into our code by letting it make decisions based on the changing values of variables, like recommending a raincoat if it's going to rain or issuing a passing grade if a student's average is over 70.

Chapter 3. Loops. Building even more complex reasoning with for loops and while loops, both of which repeat certain lines of code over and over for every value in a list or while some condition is true.

Chapter 4. Functions. Encapsulating blocks of code into reusable functions that can be called as needed, including specifying their input and dictating their output.

Chapter 5. Error Handling. Reacting gracefully when anticipated or unanticipated errors occur during your program's execution.

Taught by

David Joyner


4.8 rating, based on 59 Class Central reviews

4.8 rating at edX based on 21 ratings

Start your review of Computing in Python II: Control Structures

  • 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…
  • Profile image for Jimmy Miao Zhang
    Jimmy Miao Zhang
    I am deeply grateful to Prof. David Joyner and all the contributors who made this excellent course possible. I have embarked on my self-learning programming journey some time ago. Over time, the fundamental concepts of programming became second nat…
  • Anonymous
    I thought that this class was well taught and interesting. The practice tests and coding problems were excellent, but the expectation that you need to be able to do it all in 2 hours to prepare for the graded exams made it very challenging since some of the coding problems were time consuming, but I got better at my speed with each test. I’d highly recommend this class for someone interested in Python!
  • Profile image for Eric Stobbart
    Eric Stobbart
    I hesitated in reviewing this course. One the one hand, I did learn a lot, so it was a success on that front. However, like Computing in Python I, this is not a monitored course. What I mean by that, is that feedback emails are never answered, links are broken, there is no one from the school monitoring the forum etc... In short, if you get stuck, you're on your own. It's as if the class was developed, uploaded, and then forgotten. These classes are inexpensive, so one can't really complain too loudly, but keep your expectations low.
  • Anonymous
    There is not enough time provided to read, decipher, and complete the exam problems.
    Very disappointing.
  • Anonymous
    This was my first official course for Python. I had taken some Udemy classes prior to this in preparation for a Post Graduate Certificate/Masters in Data Analytics. In the beginning I found the course informative, but as I get into part 3 of the 4…
  • Anonymous
    This class is the second in a series of four classes on Computing in Python and I found it to continue to be very helpful. I am engaging in the paid certificate (which gives you a lot more material to practice). At the end of each chapter in this class I felt like I had learned a significant amount and that it built on previously taught knowledge. The only frustration I had was the fact that I am a slow test taker and the 2 hours provided for the timed test was both too little and it generated a lot of anxiety for me. Despite that, I'd gladly recommend this course to other learners who are knew to computing languages, especially Python.
  • Anonymous
    TL;DR: Great introductory course for learning coding fundamentals using Python. Detailed: I do not have a frame of reference for what a course on coding/computing should be like. However, as someone who has spent hours crying (literally) because o…
  • Anonymous
    Overall, a good and challenging course. A good combination of videos, sample problems, and section tests. In a few cases, the references to sample problem numbers are not correct because, it appears, sample problems have been added and/or deleted without updating their internal references. The timed test was very challenging given the two-hour limit to complete it. I still had five coding problems to complete when my time expired. Still, a good test of all of the skills and techniques taught during the entire course.
  • Anonymous
    This course is the best introductory computing course I have ever attended (both on-line and "in person").
    The lecturer describes the basic concepts of computing in clear and concise manner. If you are a complete newby to the programming, you should start here. If you have some experience with other languages this course is a good way to brush up on your general computing knowledge.
    The rate of the course is optimal. If an additional Python knowledge is needed to resolve the problem, it is disclosed by the lecturer (no need to search through entire Internet to find this one particular function that you need to finish this basic task).
    Definately worth trying.

  • Anonymous
    Engaging, encouraging and extremely well executed course.

    One of the best ever Moocs and by far the best Intro to computing w/python course you will ever find.

    But in no way, it's easy esp. for beginners, needs a lot of effort and a lot of self doubting days!

    A bit disappointed with edx policies in restricting access.
    It's both a boon and a bane. It helps be disciplined and complete the course within time limit.
    But if something comes up in between, u can't finish.
  • Anonymous
    I have been coding in Matlab for 10 years now, mostly as (under-) graduate research assistant and while pursuing a PhD in Chemical engineering. However I have never taken a formal computation course. I am fairly familiar with most topics covered in…
  • Anonymous
    I found the CS1301xII course to be well organized, the lectures are well presented and succinct, and problem sets are extensive and detail common mistakes and nuances. This is an excellent primer into Python concerning if/then/else statements, for and while loops, and error catching with try/except/else/finally blocks. The math required is basic arithmetic. David Joyner seems like a professor to follow.
  • Anonymous
    I would give you 6 stars there was such an option. This course is so well organized and easy to follow and the practice problems are very helpful too. Thank you and I appreciate your effort for making such a great course available online!
  • it is very easy to understand what they are saying and they are showing how to do it thank you very much to the teachers is this video
  • Anonymous
    I absolutely recommend this series of courses for anyone interested in coding or wanting to move into data analytics that doesn't have a computer science background! I'd even recommend it to those with a computer science background but wanting to learn python. This is by far my favorite coding course I've taken so far. The readings, videos, and graded homework SERIOUSLY helped me fully understand elements of python that make me feel like a real coder. I am so so happy with this class and am excited to start Part 3!
  • Profile image for E01203480-SUTHAKAR R MCA
    E01203480-SUTHAKAR R MCA
    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 suitable for my kids; Python is perfect for that.
  • Anonymous
    It is a great course that build's the foundations for programming, I really appreciate Professor David’s way of breaking down concepts to be easily digested.
  • Anonymous
    Really great, in-depth and with a lot of practice. I highly recommend it for everyone who wants to really learn python programming. It even helps you write code more efficiently, and give you instructions on how to improve.
  • Michael
    Great instructor, and a great course! That being said, expect to spend significantly more time studying and preparing for the final exam in this course, Computing in Python II, than you did for Computing in Python I.

Never Stop Learning.

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

Someone learning on their laptop while sitting on the floor.