We may earn an affiliate commission when you visit our partners.
Take this course
Paul Resnick and Steve Oney

This course introduces the basics of Python 3, including conditional execution and iteration as control structures, and strings and lists as data structures. You'll program an on-screen Turtle to draw pretty pictures. You'll also learn to draw reference diagrams as a way to reason about program executions, which will help to build up your debugging skills. The course has no prerequisites. It will cover Chapters 1-9 of the textbook "Fundamentals of Python Programming," which is the accompanying text (optional and free) for this course.

Read more

This course introduces the basics of Python 3, including conditional execution and iteration as control structures, and strings and lists as data structures. You'll program an on-screen Turtle to draw pretty pictures. You'll also learn to draw reference diagrams as a way to reason about program executions, which will help to build up your debugging skills. The course has no prerequisites. It will cover Chapters 1-9 of the textbook "Fundamentals of Python Programming," which is the accompanying text (optional and free) for this course.

The course is for you if you're a newcomer to Python programming, if you need a refresher on Python basics, or if you may have had some exposure to Python programming but want a more in-depth exposition and vocabulary for describing and reasoning about programs.

This is the first of five courses in the Python 3 Programming Specialization.

Enroll now

What's inside

Syllabus

General Introduction
In week one you will be introduced to programming in python through lectures and the Runestone textbook - an interactive online textbook built for this course. By the end of the module, you will have run your first python program, and learned how to draw images by writing a program.
Read more

Traffic lights

Read about what's good
what should give you pause
and possible dealbreakers
Introduces essential concepts like conditional execution and iteration
Suitable for beginners seeking an introduction to Python programming
Develops foundational skills in Python for those with some prior exposure
Provides a solid foundation for subsequent courses in the Python 3 Programming Specialization
Leverages an interactive textbook and lecture videos for enhanced learning
Emphasizes debugging skills through the use of reference diagrams

Save this course

Create your own learning path. Save this course to your list so you can find it easily later.
Save

Reviews summary

Foundational python for beginners

According to learners, this course is a highly recommended starting point for those new to Python. Students praise the clear explanations and logical structure that build foundational concepts step-by-step. The course is noted as being particularly great for absolute beginners, offering a solid introduction to Python 3 basics like control structures and data types. Some reviewers found the practical exercises, including the use of the Turtle module, to be engaging and helpful for understanding concepts. While the focus is strictly on basics, some students who had prior exposure noted it served as a good refresher, although a few with existing coding knowledge found it too slow-paced.
Turtle graphics make learning interactive and fun.
"The turtle exercises were a fun way to apply the concepts and see immediate results."
"Drawing with Turtle made the learning process much more engaging than just abstract problems."
"Really enjoyed the hands-on coding activities, especially the Turtle graphics."
"Using the Turtle module helped visualize how the code works, which was great."
Provides a strong base in Python 3 fundamentals.
"Covers all the essential Python 3 basics needed to start coding."
"This course gave me a solid foundation in variables, loops, conditionals, and data types."
"Feel confident in the fundamental Python concepts after completing this course."
"The coverage of lists, strings, and control flow was thorough for a beginner course."
Concepts are explained clearly and build logically.
"The course explains basic concepts very clearly and the progression of topics is logical."
"The explanations are very clear and easy to understand, making complex ideas accessible."
"Structure of the course is very well-thought-out, building from simple to more complex topics effectively."
"I appreciated the step-by-step approach; each lesson built nicely on the last."
An excellent introduction to Python for novices.
"This is an excellent introductory course for those who have absolutely no programming background."
"Highly recommend this course to anyone starting out with Python. Very beginner-friendly."
"Perfect for absolute beginners like me. It takes you step by step and doesn't assume prior knowledge."
"As a complete newcomer to coding, I found this course accessible and easy to follow."
Might be slow-paced for those with experience.
"If you have any prior programming experience, this course might feel quite slow."
"For someone who knew a bit of Python beforehand, the initial weeks were very repetitive."
"The course is strictly basic; intermediate learners will need to look elsewhere for depth."
"I felt some parts could move faster, but I understand it's designed for complete novices."

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Python Basics with these activities:
Review Python Syntax and Basics
Refreshing your knowledge of Python syntax and basics will help you get up to speed quickly and easily.
Browse courses on Python Syntax
Show steps
  • Review the official Python documentation.
  • Take an online quiz or practice test on Python syntax.
  • Write a simple Python program to test your understanding.
Read 'Automate the Boring Stuff with Python'
This book provides a comprehensive introduction to Python and will help you build a strong foundation in the language.
Show steps
  • Read through the book and make notes on important concepts.
  • Complete the exercises at the end of each chapter.
  • Apply what you've learned in the book to solve real-world problems.
Review Syntax and Data Structures
Python Syntax and basic data structures are essential to the core of the course.
Browse courses on Python Syntax
Show steps
  • Review the "Syntax and Basic Data Structures" section of the Runestone textbook
  • Complete the associated exercises in the Runestone textbook
Ten other activities
Expand to see all activities and additional details
Show all 13 activities
Create a Python Resource Collection
Creating a resource collection will help you organize and keep track of useful Python materials.
Show steps
  • Gather Python resources from online sources and books.
  • Organize the resources into categories, such as tutorials, references, and code examples.
  • Create a document or website to share your resource collection with others.
  • Update your resource collection regularly with new and relevant materials.
Explore Online Python Tutorials
External Python tutorials can provide additional practice and insights.
Show steps
  • Search for Python tutorials that cover specific topics or concepts covered in the course
  • Follow the tutorials and complete any associated exercises
Solve Practice Problems for Python Data Structures
Solving practice problems will reinforce your understanding of Python data structures and help you develop your problem-solving skills.
Browse courses on Lists
Show steps
  • Find a set of practice problems online or in a textbook.
  • Set aside a specific amount of time each week to work on the problems.
  • Break down each problem into smaller steps.
  • Implement a solution to the problem using Python.
  • Test your solution and debug any errors.
Practice Conditional Execution and Iteration
Applying Conditional Execution and Iteration is a critical skill in Python.
Browse courses on Conditional Execution
Show steps
  • Solve at least 10 practice problems on Conditional Execution and Iteration
Participate in a Study Group
Peer-assisted study groups can greatly improve learning outcomes.
Show steps
  • Join or start a peer study group
  • Regularly meet with the group to discuss course material and practice skills
Join a Python Study Group
Joining a study group will give you the opportunity to discuss course material with other students and get help with your assignments.
Show steps
  • Find a Python study group online or in your local area.
  • Attend study group meetings regularly.
  • Participate in discussions and ask questions.
  • Work on practice problems together.
  • Help other students with their work.
Create a Turtle Graphics Project
Turtle Graphics provides a visual representation of concepts covered in the course.
Browse courses on Turtle Graphics
Show steps
  • Design a simple Turtle Graphics project
  • Implement the project using Python
Create a Python Project Using Turtle Graphics
Creating a project in Python will help you apply the concepts you've learned in the course and develop your programming skills.
Browse courses on Turtle Graphics
Show steps
  • Choose a simple project idea, such as drawing a shape or creating an animation.
  • Plan out your project and create a design document.
  • Implement your project in Python using Turtle Graphics.
  • Test your project and make sure it works as expected.
  • Share your project with others and get feedback.
Participate in a Python Coding Competition
Participating in a coding competition will challenge you to solve complex problems and test your skills against other Python programmers.
Show steps
  • Find a Python coding competition online or in your local area.
  • Register for the competition.
  • Prepare for the competition by practicing your Python skills.
  • Compete in the competition and do your best to solve as many problems as possible.
  • Review your performance and learn from your mistakes.
Write a Python Program to Solve a Real-World Problem
Applying Python to real-world problems will help you develop your critical thinking and problem-solving skills and demonstrate your proficiency with the language.
Browse courses on Real-World Applications
Show steps
  • Identify a real-world problem that you can solve using Python.
  • Design and implement a Python program to solve the problem.
  • Test your program and make sure it works as expected.
  • Write a report or documentation that explains your solution and how it can be used to solve the problem.
  • Share your program with others and get feedback.

Career center

Learners who complete Python Basics will develop knowledge and skills that may be useful to these careers:
Data Analyst
Data Analysts find and investigate patterns in data. They use various analytic techniques to help businesses make more informed decisions. This course helps prepare one to become a Data Analyst by teaching the basics of Python 3, including conditional execution and iteration as control structures, and strings and lists as data structures.
Software Engineer
Software Engineers design, develop, and maintain software systems. This course helps prepare one to become a Software Engineer by teaching the basics of Python 3, including conditional execution and iteration as control structures, and strings and lists as data structures.
Data Scientist
Data Scientists use scientific methods and processes to extract knowledge from data and find actionable insights. This course helps prepare one to become a Data Scientist by teaching the basics of Python 3, including conditional execution and iteration as control structures, and strings and lists as data structures. This course also introduces debugging skills.
Quantitative Analyst
Quantitative Analysts use mathematical and statistical models to analyze data and make investment decisions. This course helps prepare one to become a Quantitative Analyst by teaching the basics of Python 3, including conditional execution and iteration as control structures, and strings and lists as data structures.
Machine Learning Engineer
Machine Learning Engineers design and develop machine learning models to solve business problems. This course helps prepare one to become a Machine Learning Engineer by teaching the basics of Python 3, including conditional execution and iteration as control structures, and strings and lists as data structures. This course also introduces debugging skills.
Data Engineer
Data Engineers design and build systems to collect, store, and process data. This course helps prepare one to become a Data Engineer by teaching the basics of Python 3, including conditional execution and iteration as control structures, and strings and lists as data structures.
Web Developer
Web Developers design and develop websites and web applications. This course helps prepare one to become a Web Developer by teaching the basics of Python 3, including conditional execution and iteration as control structures, and strings and lists as data structures.
Business Analyst
Business Analysts help businesses solve problems and make informed decisions. This course helps prepare one to become a Business Analyst by teaching the basics of Python 3, including conditional execution and iteration as control structures, and strings and lists as data structures.
Product Manager
Product Managers are responsible for the planning, development, and launch of new products. This course helps prepare one to become a Product Manager by teaching the basics of Python 3, including conditional execution and iteration as control structures, and strings and lists as data structures.
UX Designer
UX Designers design the user experience for websites and applications. This course helps prepare one to become a UX Designer by teaching the basics of Python 3, including conditional execution and iteration as control structures, and strings and lists as data structures.
UI Designer
UI Designers design the user interface for websites and applications. This course helps prepare one to become a UI Designer by teaching the basics of Python 3, including conditional execution and iteration as control structures, and strings and lists as data structures.
Front-End Developer
Front-End Developers design and develop the front-end of websites and applications. This course helps prepare one to become a Front-End Developer by teaching the basics of Python 3, including conditional execution and iteration as control structures, and strings and lists as data structures.
Back-End Developer
Back-End Developers design and develop the back-end of websites and applications. This course helps prepare one to become a Back-End Developer by teaching the basics of Python 3, including conditional execution and iteration as control structures, and strings and lists as data structures.
Full-Stack Developer
Full-Stack Developers design and develop both the front-end and back-end of websites and applications. This course helps prepare one to become a Full-Stack Developer by teaching the basics of Python 3, including conditional execution and iteration as control structures, and strings and lists as data structures.
DevOps Engineer
DevOps Engineers bridge the gap between development and operations teams. This course helps prepare one to become a DevOps Engineer by teaching the basics of Python 3, including conditional execution and iteration as control structures, and strings and lists as data structures.

Reading list

We've selected ten books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Python Basics.
Focuses on the fundamentals of Python. Suitable for both beginners and experienced programmers, the book will help you deepen your understanding of programming concepts. It covers topics such as data structures, algorithms, object-oriented programming, and functional programming.
Provides a comprehensive introduction to Python and computer science. It great resource for students who are new to programming or who want to learn more about Python.
Comprehensive reference guide to Python. It great resource for experienced Python programmers who want to quickly find information about the language.
Provides a deep dive into the Python programming language. It great resource for experienced Python programmers who want to learn more about the language and its features.
Comprehensive reference guide to Python. It great resource for experienced Python programmers who want to quickly find information about the language.
Provides an introduction to Python for data analysis. It great resource for students who want to learn how to use Python to analyze data.
Provides an introduction to machine learning using Python. It great resource for students who want to learn how to use Python to build machine learning models.
Provides an introduction to Python for finance. It great resource for students who want to learn how to use Python to analyze financial data.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser