Grade level: Years 5 to 8
Language: Blockly or Python Turtle
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.
- Differentiating and converting different types of data (integers and strings);
- Performing mathematical calculations with code;
- Using conditionals (using if, else, elif);
- Using nested loops.
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
- 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 (firstname.lastname@example.org). And, if you’ve found this article helpful, please give it some👏 !
- Download a pdf version of this assessment task
- Python Turtle Playground (where you can write your own Turtle programs in Python)
- Blockly Turtle Playground (where you can write your own Turtle programs in Blockly)
- Learn how to program the Turtle — try our Intro to Programming course, our Maths and Computing course, or one of our free short activities.