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


4.8 rating, based on 251 Class Central reviews

4.6 rating at edX based on 41 ratings

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

  • 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…
  • 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 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…
  • The “Fundamental and Procedural Programming” course is a remarkable learning experience. It provides a solid foundation for anyone interested in programming, whether you're a beginner or looking to expand your knowledge. Comprehensive content, excellent instructors, hands-on exercises, and a supportive community all contribute to an exceptional learning journey. I highly recommend this course to anyone who wants to take their first steps into the world of programming.
  • Anonymous
    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 re…
  • 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…
  • Anonymous
    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 agree with many others that, overall, the course does a wonderful job of outlining the theory of programming from the bottom up in a concise, clear and detailed way, which absolutely suits my learning style. However, where I quickly became frustra…
  • Anonymous
    Outstanding for those who are new (or relatively new) to programming. The professor does a wonderful job of explaining concepts, making them easy to understand even if you're not at all familiar with them. I *strongly* suggest working your way through all of the exercises, including at least one practice test. It is a lot of work, but it will help cement the information into your brain. You might think, "I'm so tired of these types of questions" with some of the material, but by the time the course is over, the material will probably feel like second nature. This is the best online course I've taken in terms of how the material was explained and the ability to test my knowledge. The course deserves at least 10 stars out of the possible 5.
  • 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 re…
  • Koji Konosu
    Best ever Python introcution course. This course is like hike up 100ft by walking 1mile. It takes a time but not very tiring. You may have the time to want to challenge to climb steeper rock but you should follow this course. Keep walking this long way. After a while, you will see how high you have reached!
  • 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…
  • Anonymous
    Hard to say whether it would be truly great for beginners, but for folks with ANY sort of advanced programming experience (including a mastery of functions in Excel [not even VBA]) it drags a bit explaining logical operators. The course does a great job of feeding you the syntax and language specific to Python though, so it was still well worth the 8 hours.
  • 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…
  • Profile image for Amio Galib Chowdhury
    Amio Galib Chowdhury
    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 an…
  • Anonymous
    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 searc…
  • 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
    This was a very strong intro to Python course and I highly recommend it if you are new to programming or just want to brush up on your fundamentals. I am a part of the latter group and while at first I thought I was going to already know everything in this course, I've definitely come away with a deeper understanding of mathematical and logical operators. Thanks for the great course!
  • Anonymous
    Amazing class. I took this to begin to gain some coding knowledge before undergrad and it really gave a great understanding of the topics. I am excited to take the next courses and continue furthering my knowledge.
  • Anonymous
    This is a great course, highly recommended. The structure is very well organized and the exercises and tests are great. Every thing can be done just over the web browser.

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.