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 191 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...
  • 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...
  • 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.
  • 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 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 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...
  • 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.
  • Anonymous
    The courses are short, simple, and straightforward, the tests are useful and diverse, everything is made by literal saints compared to school. I never imagined it would be this easy to learn.
  • 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

    Anonymous completed this course.

    I am a super beginner at coding. This made me want to pull my hair out at times, but like boolean logic puzzles, keeping at it paid off. I have no real coding support network to fall back on, but I figured things out eventually, occasionally searching...
  • Anonymous

    Anonymous completed this course.

    To people like me with absolutely no experience in programming/ computer science etc, this course is amazing. Clear, concise and useful analogies are made throughout the course, and these are lifesavers for us beginners. Yes there's a lot of theory...
  • Anonymous
    This was my first course in any coding language ever. From this course I have propelled myself to understanding python basics in a way that I couldn't do before. The way that the lessons are structured gives you a very in depth understanding of how the...
  • Anonymous
    This is an excellent course. I really enjoyed the way the videos and reading were quickly followed by learning exercises in python that allowed you to figure out if you actually understand the material. Two things that I think would improve the course:...
  • Anonymous

    Anonymous completed this course.

    I tried this course after trying another introduction to Python course first (microsoft). I found that this course gave me a far better UNDERSTANDING of what I was actually doing, instead of just replicating instructions. This makes the course a bit more slow paced, but in my opinion it's worth the effort. I will certaintly be following the next classes.

    As room for improvement - I thought the problems on a whole were a bit too easy. These are good to start with and improve your confidence. But over time I would have enjoyed bigger challenges. Coding challenges that you can really sit on and think about. I think that would have completed the learning experience for me!
  • Anonymous
    I started this course with zero experience in programming (I have a business background). I loved the very detailed explanations, they paid off at the end (even if I got a bit impatient at times). The course definitely requires some work/practice to pass. I feel well prepared for Computing in Python II.

    The only downside: I have a couple of exercises I could not complete because I did not know how to approach them. I wish there was a way to get a sample answer after submitting everything to see where my thought process lacked.

    And yes, I have a big rubber duck on my desk now :-)
  • Anonymous

    Anonymous completed this course.

    The course is well thought out and implemented. The delivery is clear and understandable. The only area for improvement would be how some of the questions are worded. Sometimes the questions were difficult to follow when multiple variables were used and labeled vaguely, such as "a", "b", "c" and then had to be referenced for multiple questions. A possible improvement would be to 'build' the variable. Example: Instead of using "a", "b", "c", use "apple" for "a", "bike" for "b", "cat" for "c". That way it's easier to follow along as they 'build'.
  • Anonymous
    As someone who has taken their first MOOC class like this, I thought that the material was refreshing. As a second-year college student, I already learned Java and some C++, but wanted to learn Python as it is extremely popular with cyber security fundamentals.

    The material was not too bad and is easy to follow along.
  • 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
    Great online class for introduction to programming and computing. Videos for instruction are very well done and David Joyner as instructor does an amazing job providing easy do understand explanations and examples from the world ouside of computing. I highly recommend this class.

Never Stop Learning!

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

Sign up for free