We may earn an affiliate commission when you visit our partners.
Course image
Stephen Gruppetta

This course introduces the fundamentals of programming through graphics-based projects using Python's built-in `turtle` module. This is a fun way of learning the basics and you'll also be able to apply your newly-acquired knowledge to other non-graphics programs.

A Turtle Tale starts from the basics and introduces all the key topics that are central to programming and Python. All the projects are graphics-based, including creating animations and some games, too. However, the key Python topics you'll learn are universal.

Read more

This course introduces the fundamentals of programming through graphics-based projects using Python's built-in `turtle` module. This is a fun way of learning the basics and you'll also be able to apply your newly-acquired knowledge to other non-graphics programs.

A Turtle Tale starts from the basics and introduces all the key topics that are central to programming and Python. All the projects are graphics-based, including creating animations and some games, too. However, the key Python topics you'll learn are universal.

I've been teaching Python for a decade and I believe in clear communication and in making sure students understand why things happen the way they do, and not just how to get things done. My teaching style is different. Try out the first few lessons and if it's your style, then we'll be together for a many hours.

No prior experience of Python or coding is required. This is a beginner's course.

Or perhaps you're not a beginner, but you've done a bit of coding in the past but didn't carry on. It wasn't you, it's likely you didn't find the resources that speak directly to you. I can't promise my style is what you're looking for, but you'll know after the first few lessons.

In this course you'll learn:

  • How to apply the key principles and mindset for communicating with a computer through programming

  • How to repeat blocks of code using `for` loops and `while` loops

  • How to store data using variables and using various data types

  • How to define your own functions to re-use code

  • How to use data structures including lists, dictionaries, and tuples

  • How to apply best practices when coding

This course will teach you all the fundamental tools, of course, but more importantly, it will teach you the right mindset for programming. This is just as important as learning all the programming techniques—if not more important.

Enroll now

What's inside

Learning objectives

  • Understand the fundamentals of writing a python computer program
  • Understand the mindset needed for communicating with a computer through a program
  • Learn key foundational topics, including loops, defining functions, conditional statements
  • Gain confidence to write programs independently

Syllabus

Learn the fundamental tools needed to start coding
Welcome to the coding • What's different in this course?
About a Turtle Tale

Installing the Software

If you already have a setup to code in Python that you're happy with, keep it. Don't let anyone tell you "You should use this editor and this configuration to code". Find what you're comfortable with.

But if you're new to coding, then you can follow these steps to install Python and an editor. I'll use PyCharm in my videos, so you can use the same software if you don't already have a preferred editor.


Install Python

First, you'll need to install Python, the language.

  • Go to the main Python website (link in resources)

  • Hover on the Downloads tab and click the button to install Python. This link will download the latest version, which is the one you want to use.

  • Once the download is complete, run the installer. You can choose all the default options when you're asked any question during installation.

You don't need to run anything. As long as Python is installed on your computer, you can move on to the next download and installation.


Install PyCharm Community Edition

The language is not enough. You need an editor to write code and manage your projects. Although Python comes with a basic editor, I'll recommend you use one of the standard IDEs (Integrated Development Environment)—that's a fancy word for an all-in-one software for your coding.

  • Go to the PyCharm download page (link in resources)

  • There are two versions of PyCharm on this page. Don't choose the more prominent one, the Professional Edition, since this required a paid license. Instead, scroll down to get PyCharm Community Edition, which is free and more than enough for your current.

  • Once the download is complete, run the installer. You can again choose all the default options when you're asked any question during installation.

Once you've installed PyCharm, launch it, again choosing the default options during any set up steps presented to you.

  • Create a New Project. A project is a folder with all the files that belong together. I recommend you create a single project for all the lessons we'll work on in this course. Don't create a project for each lesson!

  • You'll be asked to choose your Interpreter. PyCharm wants to know how you want Python set up. Go with the defaults again. This will create something called a Virtual Environment (don't worry about what this is for now) using the version of Python you have just installed. In future, you may have more than one version of Python installed on your computer and you can use different ones for different projects.

  • And you're in! Now, From the File menu, choose New... (not the menu item that says New Project, since you're already created a project, but the one the simply says New...)

    • From the window that comes up, choose Python File (not the option that just says File)

    • If you don't see any options in the little window that pops up on your screen, make sure your project/folder is selected in the Project sidebar on the left (you may need to open the sidebar first) and then try again.

    • Name your file anything you want, and you're ready to code

Read more

Traffic lights

Read about what's good
what should give you pause
and possible dealbreakers
Uses the `turtle` module, which provides a fun and visual introduction to programming concepts, making it engaging for beginners
Focuses on building the right mindset for programming, which is crucial for beginners who are just starting to learn how to code
Teaches fundamental tools and techniques applicable to various programming tasks beyond graphics-based projects, ensuring a solid foundation
Requires installing Python and PyCharm, which may present a hurdle for absolute beginners unfamiliar with software installation processes
Uses PyCharm, which is a robust IDE, but beginners may find its interface overwhelming compared to simpler text editors
Covers topics like loops, functions, and data structures, which are essential for any programming language, not just Python

Save this course

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

Reviews summary

Fun visual python for beginners

According to students, this course is a fantastic starting point for absolute beginners looking to learn Python. Learners particularly praise the instructor's clear and patient explanations and the highly effective visual approach using the `turtle` module. The hands-on, project-based learning, including building animations and simple games, makes the process engaging and fun. While the `turtle` module itself has limited real-world application, students agree the course successfully teaches universal programming fundamentals and builds confidence to move on to more complex topics. Some reviewers noted it might be too slow-paced if you have some prior coding experience, but for a true beginner, it provides a solid foundation.
`turtle` module usage is primarily for learning.
"Understandably, the turtle graphics are just for learning, not for building typical applications."
"While the concepts are universal, the direct use of the turtle library won't transfer directly to most professional Python work."
"I appreciate the visual learning, but I know I'll need to learn other libraries for 'real' programming tasks after this."
Might be too basic for those with prior experience.
"If you've coded before, even just a little, some parts might feel a bit slow."
"This course is definitely geared towards absolute beginners. If you know any programming, it will feel very basic."
"The pace was perfect for me as a total novice, but I can see how someone with a tiny bit of background might find it slow."
Successfully teaches core Python principles.
"While it uses `turtle`, the course does an excellent job of teaching fundamental Python concepts like loops, functions, and data types."
"I feel like I have a strong base in programming logic after taking this course."
"It covers all the key basics needed to understand more complex Python later on."
"The focus on 'why' things work, not just 'how', was very helpful for building a true understanding of programming."
Hands-on projects make learning enjoyable.
"Building the small games and animations was really fun and helped reinforce the lessons."
"The projects are well-designed and give you a sense of accomplishment as you build them."
"I enjoyed the creative aspect of the exercises and projects, which kept me motivated."
"Making the turtles move and create patterns was surprisingly entertaining and taught me a lot."
Using `turtle` helps visualize programming concepts.
"Learning Python through the `turtle` module was a brilliant idea! Seeing the code produce graphics immediately helps solidify understanding."
"The visual nature of this course made learning loops and functions much easier to grasp."
"I'm a visual learner, and the turtle graphics really clicked with me. It's much more engaging than just console output."
"Watching the turtle draw and move as I wrote code was incredibly motivating and educational."
Excellent for those with no prior coding experience.
"The instructor explains things in a way that is incredibly easy to understand, even for someone who has never coded before."
"Perfect for absolute beginners. The concepts are broken down clearly, step-by-step."
"I had zero programming background, and this course made Python feel approachable and not intimidating at all."
"The explanations are very patient and thorough, which is exactly what a beginner needs."

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 A Turtle Tale • Learn Python in a Visual Way with these activities:
Review Basic Python Syntax
Reviewing basic Python syntax will help you grasp the turtle module concepts more easily.
Browse courses on Python Syntax
Show steps
  • Read a Python tutorial covering variables, loops, and conditional statements.
  • Write short code snippets to practice each concept.
  • Refer to online resources for clarification on syntax rules.
Read 'Python Crash Course'
Reading 'Python Crash Course' will provide a strong foundation in Python, making it easier to understand the course material.
Show steps
  • Read the first few chapters covering basic Python syntax and data structures.
  • Complete the exercises at the end of each chapter to test your understanding.
Practice Python Loops
Practicing Python loops will help you master the control flow needed for creating animations and games with the turtle module.
Show steps
  • Solve coding challenges on websites like HackerRank or LeetCode focusing on loops.
  • Write functions that use loops to generate patterns or manipulate data.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Create a Simple Turtle Drawing
Creating a simple drawing using the turtle module will reinforce your understanding of basic commands and coordinate systems.
Show steps
  • Write a Python script that uses the turtle module to draw a shape (e.g., a square, triangle, or star).
  • Experiment with different colors, line widths, and fill colors.
  • Share your drawing with other students in the course forum.
Explore 'Automate the Boring Stuff with Python'
Exploring 'Automate the Boring Stuff with Python' will expose you to broader applications of Python and reinforce your understanding of programming concepts.
Show steps
  • Read chapters related to data structures and control flow.
  • Try adapting some of the examples to work with turtle graphics.
Develop a Turtle-Based Game
Developing a turtle-based game will solidify your understanding of programming concepts and allow you to apply your skills in a creative way.
Show steps
  • Brainstorm game ideas that can be implemented using the turtle module.
  • Design the game mechanics and user interface.
  • Implement the game logic using Python and the turtle module.
  • Test and debug the game thoroughly.
Help Others in the Course Forum
Helping other students in the course forum will reinforce your understanding of the material and improve your communication skills.
Show steps
  • Regularly check the course forum for questions from other students.
  • Provide clear and helpful answers to their questions.
  • Share your own code examples and insights.

Career center

Learners who complete A Turtle Tale • Learn Python in a Visual Way will develop knowledge and skills that may be useful to these careers:
Teacher
A teacher educates students in various subjects, including computer science and programming. This course provides a strong foundation in Python programming, essential for a teacher looking to teach these topics. The course covers key programming concepts such as loops, data structures, and functions, explained in a clear and accessible manner. The graphics-based projects using the `turtle` module offer an engaging way to introduce programming to students. The instructor's emphasis on clear communication and understanding the 'why' behind the code makes this an ideal resource for teachers wanting to effectively convey these concepts to their students. By learning, a teacher is better able to educate.
Python Developer
The Python developer specializes in building applications using the Python programming language. This course, centered around learning Python in a visual way, helps build a strong starting point for a career as a Python developer. The course covers essential Python topics like loops, data structures (lists, dictionaries, tuples), and defining functions, all while creating graphics-based projects. The focus on clear communication and understanding the 'why' behind the code, as emphasized by the instructor, will greatly benefit aspiring Python developers. The use of the `turtle` module offers a unique and engaging way to learn the fundamentals. The ability to write programs independently, as targeted by the course, is crucial for Python developers. Learning Python, even in a basic fashion, goes a long way toward becoming a Python developer.
Software Developer
A software developer designs, develops, and tests software applications. This course, with its introduction to Python and fundamental programming concepts, helps build a foundation for a career as a software developer. The syllabus covers key topics such as loops, data structures, and defining functions in a clear and accessible way. Learning to create animations and games using the `turtle` module provides engaging, hands-on experience that reinforces these concepts. For anyone exploring software development, the course's emphasis on the right mindset for programming helps provide a comprehensive introduction to the field. The practical application of Python, as seen in the course, is directly transferable to real-world software development projects. This course helps software developers write and debug code effectively.
Game Developer
A game developer creates video games for various platforms. This course introduces programming fundamentals through the creation of games and animations using Python's `turtle` module, helping build a foundation for a career as a game developer. The course covers key Python topics like loops, conditional statements, and functions that are directly applicable to game development. The hands-on projects in the course, focused on building animations and games, provide practical experience. The instructor's emphasis on clear communication and understanding the underlying principles makes this an ideal starting point for aspiring game developers. This course provides a unique and engaging introduction to game development concepts, making it a valuable resource for those interested in the field. The ability to create games is a cornerstone of being a game developer.
Software Engineer
A software engineer applies engineering principles to the design, development, and testing of software systems. The course helps build a valuable starting point for a career as a software engineer through its introduction to Python and core programming concepts. The course curriculum includes key topics such as loops, data structures, and defining functions, all crucial for software engineering. The focus on best practices when coding and understanding the mindset needed for communicating with a computer through programming aligns with the principles of software engineering. The `turtle` module allows for a visually engaging introduction to programming. This course may be useful for individuals seeking to understand the basics of programming and how they apply to larger software projects. The skills learned from this course will lay the groundwork for later software engineering success.
Automation Engineer
An automation engineer designs and implements automated systems and processes, often using programming languages to write scripts and code. This course, with its introduction to Python and fundamental programming concepts, helps to build a beneficial foundation for a career as an automation engineer. Python is a widely used language in automation due to its versatility and readability. The course covers key topics such as loops, conditional statements, and functions, which are used in automation scripts. The ability to automate tasks is central to the role of an automation engineer. The course may also be useful for those looking to grasp the mindset needed for communicating with a computer through programming. This course may be useful for any automation engineer who is looking to expand knowledge on the field.
Data Analyst
A data analyst examines and interprets data to identify trends and insights, often using programming languages to manipulate and analyze data. This course may be useful to data analysts, as it provides an introduction to Python, a popular language in the field of data analysis. The course curriculum includes fundamental concepts such as data structures (lists, dictionaries, tuples) and loops, which are useful for data manipulation. While the course focuses on graphics-based projects, the underlying Python skills are transferable to data analysis tasks. Gaining confidence in writing programs independently, as targeted by the course, helps data analysts in scripting and automating data-related tasks. Learning Python would allow Data Analysts to gain more familiarity with their work.
Web Developer
A web developer is involved in building and maintaining websites. This course may be useful to web developers, as it introduces Python, which can be used in backend web development. The course focuses on fundamental programming concepts such as loops, functions, and data structures. Although the course uses the `turtle` module for graphics-based projects, these concepts are directly relevant to web development tasks. Many frameworks for backend web development rely on these concepts. The material taught may be useful for those seeking to understand the basics of Python and how it can be applied in a web development context. Backend web developers gain a more valuable skillset by learning Python.
Data Scientist
A data scientist uses statistical methods and machine learning techniques to analyze data and extract meaningful insights. While a data scientist typically requires advanced knowledge and often a master's or doctoral degree, this course helps with a foundation in Python, a language commonly used in the field. The course covers foundational programming concepts such as loops, functions, and data structures, which are applicable to data manipulation and analysis. The course may be useful for those exploring data science, to learn the basics of Python programming. This can serve as a stepping stone to more advanced topics. Data scientists rely on Python to interpret data.
Robotics Engineer
A robotics engineer designs, builds, and programs robots. This course may be useful to a robotics engineer, as Python is a common language for robot control and simulation. The course introduces fundamental programming concepts such as loops, conditional statements, and functions. Although the course uses the `turtle` module for graphics, the programming concepts are directly transferable to controlling physical robots or simulating their behavior. Acquiring familiarity with Python syntax and programming logic may be useful to the robotics engineer. The basics taught here can be applied widely among robotics engineers.
Embedded Systems Engineer
An embedded systems engineer designs and develops software for embedded systems, often using programming languages like Python for scripting and testing. This course may be useful to embedded systems engineers wishing to gain an introduction to the Python language. The course covers fundamental programming concepts. These concepts are, at times, useful in testing embedded systems. Although the course uses the `turtle` module, the lessons are transferable to more complex tasks. Gaining a greater understanding of the basics of Python may be useful to the embedded systems engineer. The material will allow the embedded systems engineer to gain more knowledge on the basics of a valuable field.
Research Scientist
A research scientist conducts research and experiments in a specific field. This course may be useful to research scientists, as Python is often used for data analysis, simulations, and automation of experiments. The course introduces fundamental programming concepts. These concepts are useful to research scientists. Although the course uses the `turtle` module, that knowledge gained is applicable to a variety of research tasks. Familiarity with Python syntax and programming logic may be useful to research scientists. Much research can only be done through the use of programming.
Quality Assurance Engineer
A quality assurance engineer ensures the quality of software products through testing and analysis. This course may be useful to quality assurance engineers, as Python is often used to write automated tests. The course introduces fundamental programming concepts, such as loops and conditional statements. These statements are invaluable during the testing process. Although the course uses the `turtle` module, this knowledge is applicable to a variety of testing tasks. Familiarity with Python syntax and programming logic helps the quality assurance engineer. Testing is made easier through the use of quality assurance.
Technical Writer
A technical writer creates documentation for software and hardware products. This course may be useful to technical writers who need to understand basic programming concepts to document software effectively. The course introduces fundamental programming concepts such as loops, conditional statements, and functions. Although the course involves graphics-based projects, the core programming concepts are beneficial for understanding software behavior. Clear communication of programming concepts, a focus of the instructor, is valuable for technical writing. A technical writer ensures that software and other products are easy to use.
IT Support Specialist
An IT support specialist provides technical assistance to users of computer systems and software. This course may be useful to IT support specialists to automate routine tasks, diagnose software issues, and understand basic programming concepts. The course introduces fundamental programming concepts such as loops, conditional statements, and functions. Although the course uses the `turtle` module, the knowledge gained can be applied to scripting and troubleshooting. The emphasis on problem-solving and understanding the 'why' behind the code can benefit IT support specialists in diagnosing and resolving technical issues. IT support specialists will be better able to solve the problems of others.

Reading list

We've selected two 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 A Turtle Tale • Learn Python in a Visual Way.
Provides a solid foundation in Python programming, covering essential concepts in a clear and concise manner. It's particularly useful for beginners as it includes hands-on projects that reinforce learning. While not specifically focused on graphics, it provides the necessary background for understanding the Python concepts used in the course. It is commonly used as a textbook for introductory Python courses.
Provides practical examples of how Python can be used to automate everyday tasks. While not directly related to turtle graphics, it reinforces core Python concepts and introduces useful modules. It's more valuable as additional reading to expand your Python skills beyond the course's scope. This book is commonly used by beginners to learn Python through practical applications.

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