1 of 30

The Arizona STEM Acceleration Project

Exploring Drones

and

Block Coding Basics

2 of 30

Exploring Drones and Block Coding Basics

Grade Levels: 5, 6, 7, 8

Subject: Aerospace Engineering!

Duration: three 1-hour lessons

Author:

Sanjeev Tripathi

3 of 30

Learning Objectives

Students will be able to :

  1. Explain how a drone takes off, flies, and lands
  2. Create and run a program so a drone can take off, hover and land
  3. Develop coding skills by programming a drone to perform specific tasks like create and run a program that has a drone do pushups within a time constraints
  4. Engineer a solution to lifting as large of a payload as possible
  5. Understand the basics of drone technology, including components and functionalities.
  6. Explore block coding concepts and its application in programming drones.
  7. Apply problem-solving strategies and critical thinking to overcome coding challenges.

4 of 30

Notes for teachers

  • Familiarize yourself with drone technology and block coding concepts.
  • Gather the necessary materials before the lessons.
  • Create groups of students for collaborative activities.
  • Provide guidance and support as students explore drone programming.
  • Ensure a safe environment during hands-on activities involving drones.

List of Materials

  • CoDrones with batteries (one per group)
  • Technology for showing online videos with sound and shared screens.
  • Device (computer, tablet, or smartphone) with block coding software installed (e.g., Scratch or Tynker) with internet access
  • Drone batteries and chargers
  • Obstacle course materials (cones, hoops, or any objects for creating a course)
  • Engineering journal or worksheets
  • Notepads and pencils for students

5 of 30

Standards & Content

Science Standard(s):

S1: Inquiry Process

S2: Physical Science

S3: Earth and Space Science

S5: Life Science

Math Standard(s):

M1: Number Sense

M2: Algebraic Thinking

M3: Geometry

M4: Measurement

6 of 30

Concepts:

  • Interpreting visual, oral, and text information
  • Following multi-step and complex directions
  • Problem solving
  • Using appropriate tools strategically
  • constructing programs

7 of 30

Agenda:

  • Introduction and Background Information (10 minutes)
  • Drone Technology Presentation (15 minutes)
  • Hands-on Activity: Block Coding Basics (25 minutes)
  • Group Discussion and Reflection (10 minutes)

Lesson 1:

Introduction to Drones and Block Coding Concepts

8 of 30

Introduction/Background Information:

  • CoDrones are quadcopters, which are based off of (much larger) helicopters. Demonstrate the CoDrone taking off and landing, and then have students read some information about helicopter from OSI (Open Source Information) to know How are a helicopter, and the CoDrone, able to take off, hover, and land? Have students explore programming concept together and ask what menus and blocks they think they will need to have their CoDrone perform these tasks.
  • Provide an overview of drone technology, explaining their components, functionalities, and various applications.
  • Introduce block coding as a way to program drones using visual programming languages.

9 of 30

Exemplars of Driving Question/Opening

  1. How is a drone able to fly and stay in the air?
  2. How will each flight command help you control your drone?
  3. What are drones, and how are they used in real-world scenarios?
  4. How can we program drones to perform specific tasks?
  5. What are the advantages of using block coding for drone programming?

10 of 30

The concept of drones and explore the basic principles of block coding.

What are Drones?

Drones, also known as unmanned aerial vehicles (UAVs), are aircraft without a human pilot onboard.

They are controlled remotely or autonomously using a combination of sensors, GPS, and communication systems.

Drones have a wide range of applications, including aerial photography, surveying, search and rescue operations, package delivery, and more.

Block Coding:

Block coding is a programming technique that uses blocks or visual elements to create programs.

Instead of writing code in a traditional text-based language, block coding allows you to drag and drop blocks to build your program.

Each block represents a specific command or action, and you connect them together to create a sequence of instructions.

Understanding Block Coding Concepts:

Events:

Events trigger actions in block coding. For example, pressing a button can start the drone's takeoff sequence.

Commands: Commands are specific actions or operations that the drone can perform. Examples include moving forward, turning, or taking pictures.

Loops: Loops allow you to repeat a set of instructions multiple times. For instance, you can program the drone to circle around a specific area using a loop.

11 of 30

Hands-on Activity Instructions

Block Coding and Drone Simulation:

  • In this hands-on activity, you will have the opportunity to explore block coding concepts and simulate drone flights using a coding platform.
  • Learn how to program a virtual drone to perform various tasks, such as taking off, flying in different directions, and landing.
  • Follow the step-by-step instructions provided by your facilitator to complete the activity successfully.
  • Provide each group with a device and block coding software.
  • Instruct students to explore the block coding interface and complete simple coding challenges (e.g., moving a character on the screen).
  • Encourage them to experiment with different code blocks and observe the outcomes.

How things are setup:

12 of 30

Notes for students:

  • Pay attention to the presentation and take notes on drone technology and block coding concepts.
  • Collaborate with your group members during the block coding activity.
  • Record any observations or difficulties you encounter during the coding challenges.

Hands-on Activity: Key Terms and Takeaways:

  • Drones are unmanned aerial vehicles used for a wide range of applications.
  • Block coding is a visual programming technique that simplifies coding by using blocks to build programs.
  • Block coding concepts include events, commands, and loops.
  • In the hands-on activity, you will practice block coding and simulate drone flights using a coding platform.
  • Get ready to dive into the world of drones and block coding! Pay attention, ask questions, and let's have an exciting learning experience together.

13 of 30

Assessment Rubrics:

4 The student demonstrates a clear understanding of drones, their features, and applications, accurately grasping the concepts and characteristics.

3 The student provides a good grasp of drone concepts, features, and applications, showing a solid understanding with minimal misconceptions.

2 The student shows some understanding of drone concepts, features, and applications, but with some misconceptions or gaps in knowledge.

1 The student shows limited or no understanding of drone concepts and applications, lacking comprehension and accurate knowledge of their features and uses.

14 of 30

Content Differentiation:

  • Provide differentiated reading materials or resources at varying reading levels to cater to students' reading abilities.
  • Offer additional information or extension activities for students who demonstrate a strong understanding and interest in drones and coding.

Process Differentiation:

  • Provide guided practice or step-by-step instructions for students who may require additional support in understanding block coding concepts.
  • Offer flexible pacing options, allowing students to work at their own pace during the hands-on activity.

Product Differentiation:

  • Allow students to choose from a range of final products, such as a written reflection, a visual presentation, or a video demonstration, to showcase their understanding of drones and block coding.
  • Provide different levels of complexity in programming tasks for students to choose based on their skill level and readiness.

Learning Environment Differentiation:

  • Create a quiet space or offer noise-cancelling headphones for students who require a low-distraction environment during the coding activity.
  • Provide access to assistive technologies or tools that support students with specific learning needs, such as screen readers or magnifiers.

Differentiation:

15 of 30

Lesson 2:

Programming Drones with Block Coding

16 of 30

Introduction/Background Information:

  1. Recap the basics of drone technology and block coding concepts from the previous lesson.
  2. Emphasize the importance of sequencing and logic in programming drones.

17 of 30

Driving Question/Opening:

  1. How can we program drones to perform specific tasks using block coding?
  2. What are the key components of a drone program?
  3. How can we use block coding to solve coding challenges?

18 of 30

Agenda:

  1. Review and Warm-up Discussion (10 minutes)
  2. Programming Concepts Presentation (15 minutes)
  3. Hands-on Activity: Programming Drone Movements (25 minutes)
  4. Group Discussion and Reflection (10 minutes)

19 of 30

Hands-on Activity Instructions:

  1. Instruct each group to program their drone to navigate through an obstacle course.
  2. Set up the obstacle course using cones or other objects.
  3. Students should use block coding to control the drone's movements and successfully navigate through the course.

20 of 30

Notes for Students:

Key Terms:

  • Review the basics of drone technology and block coding concepts from the previous lesson.
  • Collaborate with your group members during the drone programming activity.
  • Take notes on the code blocks used and any adjustments made to successfully navigate the obstacle course.

Sequencing: The order in which commands are arranged in a program to execute tasks in a specific order.

Logic: The reasoning and decision-making process used to solve problems in programming.

21 of 30

Assessment Rubrics:

4 The student demonstrates exceptional creativity and innovative thinking in designing the drone's program, resulting in unique and original solutions.

3 The student demonstrates creativity and some innovative thinking in designing the drone's program, resulting in original and creative solutions.

2 The student demonstrates limited creativity and innovative thinking, with limited application of new ideas in designing the drone's program.

1 The student lacks creativity and innovation in designing the drone's program, resulting in unoriginal or uninspiring solutions.

22 of 30

Differentiation:

Recommendations & Extension/Enrichment:

For Advanced Learners:

  • Challenge them to program additional features, such as altitude control or image recognition, using advanced coding blocks.
  • Provide more complex obstacle courses or challenges for them to solve.

For Struggling Learners:

  • Provide step-by-step guidance and support during the programming activity.
  • Simplify the obstacle course or provide visual aids to help them plan their code.
  • Students can explore drone programming languages beyond block coding, such as Python or JavaScript, to further enhance their coding skills.
  • Students can research and present innovative applications of drones in different industries, such as delivery services or aerial photography.

23 of 30

Lesson 3:

Advanced Drone Programming and Project Showcase

24 of 30

Background Information:

  • Recap the programming concepts and drone navigation from the previous lesson.
  • Introduce more advanced programming concepts, such as loops, conditionals, or variables.

25 of 30

Driving Question/Opening:

  1. How can we use advanced programming concepts to enhance drone functionality?
  2. How can we apply our coding skills to solve more complex challenges?
  3. How can we showcase our drone projects to others?

26 of 30

Agenda:

  1. Review and Warm-up Discussion (10 minutes)
  2. Advanced Programming Concepts Presentation (15 minutes)
  3. Hands-on Activity: Advanced Drone Programming (25 minutes)
  4. Project Showcase and Reflection (10 minutes)

27 of 30

Hands-on Activity Instructions:

  • Instruct each group to enhance their drone program using advanced coding concepts.
  • Encourage them to incorporate loops, conditionals, or variables to improve functionality or add interactive features.
  • Provide time for groups to test and debug their programs.

28 of 30

Notes for Students:

Key Terms:

  • Review the programming concepts and drone navigation from the previous lesson.
  • Collaborate with your group members during the advanced drone programming activity.
  • Take notes on the advanced coding blocks used and any improvements made to the drone program.
  • Use pseudocode to explain to a partner how they got their drone to take off, hover, and land in programming platform used using both their own words and the appropriate academic language.
  • Payload challenge: The top three winners of the payload challenge to demonstrate their engineering. Think of what in winners design allowed their CoDrones to lift heavier payloads.
  • Find different ways to modify their CoDrone pushup program. This will most likely be just changing the delay time.

Loops:

Repeating a sequence of instructions multiple times in a program.

Conditionals:

Statements that control the flow of a program based on specific conditions.

Variables:

Symbols or names that represent a value or data in programming.

29 of 30

Assessment Rubrics:

4 The student successfully overcomes challenges encountered during the programming process and adapts strategies as needed, demonstrating effective problem-solving skills.

3 The student effectively resolves challenges encountered during the programming process and adapts strategies as needed, showcasing strong problem-solving abilities.

2 The student partially resolves challenges encountered during the programming process, with limited adaptation or problem-solving skills.

1 The student struggles to resolve challenges encountered during the programming process, lacking effective problem-solving skills and struggling to adapt strategies as needed.

30 of 30

Differentiation:

Differentiation:

For Advanced Learners:

  • Challenge them to implement more complex features, such as autonomous flight or sensor integration, into their drone programs.
  • Encourage them to experiment with different coding languages or platforms for drone programming.

For Struggling Learners:

  • Provide additional guidance and support during the advanced programming activity.
  • Offer simplified examples or templates to help them understand and implement advanced coding concepts.
  • Students can organize a showcase event to present their drone projects to other classes or parents, highlighting the functionality and features they have programmed.
  • Students can research and present ethical considerations and regulations related to drone usage and programming.