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 185 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.
  • 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...
  • 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...
  • 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
    I found this course to be a great learning experience. It was challenging, but well-paced. I know some HTML and CSS code from building websites over the years, but never learned anything further. The only critiques I have are that there are number of warnings not to be intimidated by things that seemed easy, but later there were intimidating practice problems that required knowing math concepts that weren't covered in the course. (Maybe I missed the math presented in additional resources.) Some of these later coding problems took much more time than I expected.

    I'll probably look into the next course, and see how I may apply this knowledge in a job search.
  • 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've been in IT for a long time. I've learned numerous languages. Normally the way that I've learned is to take a course or two then use the language at work. Work gave me the repetition that I needed to make the language 'stick'. This course has lots of practice, which helps you learn and remember it. I have to say that the coding problems for changing decimal numbers to binary and back again were the ones that stumped me the longest. I solved these, then went back and reworked them.

    The final exam was about what I expected. And, I got interrupted three times by phone calls and work. That cut my exam time a little bit.
  • 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
    I am a retired IT professional. Because of my background, I thought the pace of the course was rather slow. However, if I were just starting out in computing, this course would be much appreciated. The discussion of various errors, the conversion of types, and debugging was very worthwhile. I had to learn those things by trial and error and "reading that fine manual".
    I will be taking the next sections.
  • 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

    Anonymous completed this course.

    Great course - I highly recommend. Examples are practical and easy to follow. the questions get harder as you move through the material. videos are clear and concise - straight to the point. Because I am not a coder, I sometimes have to play and replay the videos to understand, but it is very helpful to have the book to follow along as well.

Never Stop Learning!

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

Sign up for free