Turtle Flowers Coding Project 🐢🌼

Are you looking for a coding project for your class? Here’s an idea for a creative assessment, using the Turtle module in Python or Blockly.

Some Turtle flowers we made earlier!

Grade level: Years 5 to 8

Language: Blockly or Python Turtle

Assessed concepts:

This coding task assumes knowledge of the below concepts. These concepts are covered in our Introduction to Programming in Python or Blockly courses, and many of the concepts are addressed in our free short activities as well!

  • Programming the turtle using Blockly or Python to move forwards and/or backwards and turn different angles;
  • Changing the pen colour, fill colour, background colour, and/or pen size;
  • Using loops to avoid unnecessary repetition of code;
  • Using variables to store and reuse information;
  • Collecting and using user input.

Optional concepts:

  • Differentiating and converting different types of data (integers and strings);
  • Performing mathematical calculations with code;
  • Using conditionals (using if, else, elif);
  • Using nested loops.

Curriculum links:

Australian Curriculum: Digital Technologies - Years 5 and 6:

  • Acquire, store and validate different types of data, and use a range of software to interpret and visualise data to create information (ACTDIP016)
  • Define problems in terms of data and functional requirements drawing on previously solved problems (ACTDIP017)
  • Design, modify and follow simple algorithms involving sequences of steps, branching, and iteration (repetition)(ACTDIP019)
  • Implement digital solutions as simple visual programs involving branching, iteration (repetition), and user input (ACTDIP020)
  • Plan, create and communicate ideas and information, including collaboratively online, applying agreed ethical, social and technical protocols (ACTDIP022)

Australian Curriculum: Digital Technologies - Years 7 and 8:

  • Implement and modify programs with user interfaces involving branching, iteration and functions in a general-purpose programming language (ACTDIP030)

Cross-curricular links: Mathematics — shape and geometric reasoning

Project Task: Build your own Flower Bot!

Use your programming skills to build a flower-drawing bot. Your program should use the turtle to draw a flower of your own design, using lines and/or geometric shapes. You need to:

  • Write a program to draw an attractive flower of your own design. Think about using colour, fills, geometry and symmetry when creating your design.
  • Collect user input and let the user control some aspects of how the flower looks. For example, the user might be able to choose the number of petals, or the colour of the flower.

There are two parts to this assignment:

Part 1: Planning

  • Sketch some early designs for your flower. What angles will the turtle need to turn to draw your design? Include the angle calculations in your sketches.
  • Your program should give the user options to decide on how the flower will look. What information will your program collect from the user, and how will your program use this information to change the appearance of the flower? (1–2 paragraphs)

Part 2: Write your program

Write your program using the Python Turtle or Blockly Turtle Playground. Here are some things to consider:

  • How well does your program run? Does it have any bugs?
  • Is your code clear, logical, and easy for someone else to follow and understand?
  • How creative and attractive is your flower design? Have you used colour and symmetry? (Your program may need to perform some calculations!)
  • How many options do you give the user to control the design of the flower and how well does your program use this data?
  • Does your program avoid unnecessary repetition by using loops where possible?

Grading student work

We’ve provided a sample assessment rubric below. You can also click here to download a pdf version.

We’ve also created a few sample programs you can try out and tinker with yourself, or show to your students for inspiration.

Here is a simple example which asks the user to choose the colour of the flower, calculates the angle the turtle will need to turn in between drawing each petal, and uses a loop to draw a symmetrical five-petaled flower:

This more complex example collects multiple inputs from the user (the number of outer petals, the number of inner petals, and the petal colours), converts strings to integers, calculates angles, and uses nested loops to draw the correct number of inner and outer petals:

Have you tried this project with your students? We’d love to hear how it went! Leave a comment or send us an email (info@groklearning.com). And, if you’ve found this article helpful, please give it some👏 !

Useful links