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 I: Fundamentals and Procedural Programming

Georgia Institute of Technology via edX


This course starts from the beginning, covering the basics of how a computer interprets lines of code; how to write programs, evaluate their output, and revise the code itself; how to work with variables and their changing values; and how to use mathematical, boolean, and relational operators.

By the end of this course, you'll be able to write small programs in Python that use variables, mathematical operators, and logical operators. For example, you could write programs that carry out complex mathematical operations, like calculating the interest rate necessary to reach a savings goal, recommending apparel options based on weather patterns, or calculating a grade based on multiple percentages.

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: Computing. The fundamentals of how computers work, what program code is, and how to get setup for the rest of the course.

Chapter 2: Programming. The basic principles of computer programming: writing and running code, evaluating results, and compiling vs. executing.

Chapter 3: Debugging. The common results of running program code, and how to use those results to inform revision of your code.

Chapter 4: Procedural Programming. The fundamental approach to program code: writing sequences of lines of code that run in order to accomplish an objective.

Chapter 5: Variables. Creating and modifying variables, tracing how their values may change as a program runs, and understanding the role of data types.

Chapter 6: Logical Operators. Working with relational (greater than, less than, equal to) and logical (and, or, not) operators to make decisions in code.

Chapter 7: Mathematical Operators. Adding addition, subtraction, multiplication, division, modulus, and exponents to your code, and seeing how they work with unexpected data types.

Taught by

David Joyner

Related Courses


4.8 rating, based on 199 reviews

Start your review of Computing in Python I: Fundamentals and Procedural Programming

  • 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...
  • It's very good for beginners in programming. Goes into a lot of detail for even the most basic things.

    Some questions may seem repetitive or lengthy. It will be hugely boring for someone who knows basic programming but is looking to get a certificate since this part I is very easy.
  • Profile image for Simão Nóbrega
    Simão Nóbrega
    Given Prof. David Joyner’s effort to develop novel methodologies for online learning, it didn't come as a surprise the high quality of this introductory course. If you have no background in computer science and would like a smooth start, I highly recommend...
  • Anonymous

    Anonymous completed this course.

    Outstanding introduction to Python. About 6 or 7 years ago I completed the MIT Intro to Computing using Python, but in the intervening years my skill set has gotten quite rusty and Python 3 has displaced Python 2, so I'm audited this course as a refresher...
  • Anonymous
    I took this course as a school student as a way to educate myself further and to start developing experience and knowledge on the field of computing and programming. And I must admit that the class did a truly great job at explaining more then the basic...
  • Profile image for Mart Andrew Maravillas
    Mart Andrew Maravillas
    This is truly a course that is beyond coding. It makes me think that Python is more than just a tool. It is also a science. I appreciate it more than just a computer language. I like how the content of this course is presented. Yes, they are very detailed...
  • Anonymous

    Anonymous completed this course.

    My goal with this course was to gain some basic programming skills in Python. This course has an academic bottom-up approach, lots of theory. I used external resources such as Head First Python, Learn Python the Hard Way, and Crash Course in Python,...
  • Anonymous
    I’ve been working as a data scientist for some time now, and have been in the career path for more than 20 years, but with a non-technical degree. The only programming language I’ve used with any degree of regularity prior to this course is VBA, and that was entirely self-taught. Had I known computing could be so effectively taught in this forum, I’d have pursued certificate granting courses of this nature much earlier. I’ve already purchased the next 3 courses in this series, and look forward to continuing my education with Georgia Tech’s courseware via edX.
  • Anonymous
    I'm just getting started with coding and had tried several other online classes prior to completing "Computing in Python I". This course was much better than any I had tried to work through previously and it's the first online course I've worked through to completion. It's structured in a way that is easy to stop and pick back up at your convenience. The format of the lessons and practice problems reinforces concepts as you go so you'll spend less time reviewing and more time moving forward through the class lessons.
  • Anonymous
    I had lots of questions or there were errors that occurred while I was going through the lessons and during the practice tests. But there is no support at all. No way to ask questions and actually get a response. The discussion board posting was completely...
  • Profile image for Amio Galib Chowdhury
    Amio Galib Chowdhury

    Amio Galib Chowdhury completed this course and found the course difficulty to be easy.

    This is probably the most accessible introductory programming course for absolute beginners. At the same time, it's not too easy or watered-down like many other online courses. It covers the topics in great details, has lots of practice exercises and...
  • Anonymous
    I am a beginner to learning computer programming i.e python and I'm happy I chose this course. I think its worth the price; many sample questions and graded questions, it helped to force the learning. It's kind of addictive, there are days I stay on the computer from early morning till late in the night, trying to solve coding problems but it all paid off as I finished the course with 99% grade

    David Joyner - Thank you!
  • Anonymous
    The course material and problem sets are fantastic. They take simple concepts and create challenging questions to really ensure you have a deep understanding of the core foundations of computing. It is an excellent introduction to computing and Python programming. If you are looking for an introductory course that will still provide a challenge and is not just video after video of concepts, this is the place to go!
  • Anonymous
    Excellent course! David Joyner is an excellent professor. I do wish EdX's structure made it a little easier to navigate the course, but this is a review of strictly content and the content itself is amazing. There are plenty of practice problems, the problem sets allow for ample experimentation and "learning by trying", and the final exam is very reasonable. Overall, I am very happy with this course.
  • Octavian Datcu completed this course.

    Some of the problems at the end of the course are challenging; I didn't manage to solve them without control structures, although I think the teacher created them not to require such complications.

    I'm quite new to programming, I don't know much, so maybe that's why I found some of the problems a little challenging. But they were fun :)

    All in all, the course is very well structured, the main takeaways were very clear. Maybe some more challenging examples inside the course itself would be a helpful addition; that would be useful for those who want to tackle the more challenging problems at the end of the course.
  • Profile image for Nawaraj  Adhikari
    Nawaraj Adhikari
    David Joyner is a wonderful teacher. Instead of making one long video of each topic, he makes them several short videos, which are very easy to understand.

    The course materials are very good along with in-course practices which aren't available for free in many other similar courses.

    You can learn and practice so much without paying.
  • Anonymous
    I was pleasantly surprised at how effective this class format is. David Joyner explains things thoroughly, and there are plenty of hands-on opportunities to practice the skills (the only way to really learn programming, in my opinion). I feel like I could learn anything, if taught in this way, by this instructor.
  • Anonymous
    I was unsure about taking this course since I don't really have a background in programming. Little by little I gained confidence. At the end, I was surprised with what I was doing. I'm satisfied. Now, I'm confident and eager to take the following courses.
  • Anonymous
    This course is excellent for beginners who would like to learn the basic knowledge of programming and Python 3. There are lots of questions for you to practice and strengthen your understanding of the materials. It really worth the time.
  • Anonymous
    I had done some self learning but this course was definitely the best I did. I really like that they emphasized logical operators. For the first time, I am truly confident with logical operators. Professor Joyner was also a joy to listen to.

Never Stop Learning!

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

Sign up for free