- Description
- Materials Included
- Curriculum Topics
- Technical Requirements
- Spec Sheet
- Standards & Alignment
- Request Proposal

In *Discover DroneBlocks: Advanced Coding*, students combine *DroneBlocks*, a drag-and-drop coding environment, Tello drones and three different online premium courses to create complex, pre-programmed flight missions. From applying algebra and geometry to their codes to exploring Python programming, this course puts the power of flight into the hands of learners with multiple coding languages and top-of-the-line indoor drones.

This kit includes an Instructor Guide, digital curriculum access and all the supplies needed for 22 Tello drone programming lessons:

- Bound Instructor Guide- 1
- PCS Edventures Tello Flight Manual - 1
- Printed Digital Resource License Keys Granting Access to:
- Introduction to DroneBlocks
- Advanced Tello Programming with DroneBlocks
- Tello Drone Programming with Python
- Storage tub - 1
- LiPo safe storage bag - 1
- Tello carrying cases - 5
- Tello drones - 5
- LiPo batteries - 15
- USB charging cables - 5
- Extra propellers (4ct) - 5
- 3-Port LiPo multi-chargers - 5
- USB-to-Wall multi-charger - 1

**Intro to DroneBlocks**

- Introduction to Coding & Launching Missions
- Hand Landings & Pitch and Roll
- Yaw in a Square
- Loops and Flips
- Variables for the Win
- Adding Logic With If/Else Statements

**Advanced Programming with DroneBlocks**

- Elevate Squares with Nested Loops
- The Polygon Equation with Variables
- 3D Coordinates & the Right-Hand Rule
- Fly Points on a Line Using Slope
- Fly an Arc Pattern on the Horizontal X/Y Plane
- Fly a Loop Pattern on the Vertical Plane
- Fly Using the Sine Wave Equation
- Orbit Around a Center Point

**Tello Drone Programming with Python**

- Setting Up Your Python Programming Environment
- Brief Overview of User Datagram Packets (UDP)
- Sending and Receiving UDP Packets
- Box Mission Using Tello SDK Commands
- Custom Functions: Spin and Bounce
- Keyboard Commands
- Unit Conversions
- Retry Commands

** Intro to DroneBlocks** and

*5 compatible devices (one per drone) running the DroneBlocks app and 1 compatible device running the Tello app.*

**Advanced Programming with DroneBlocks**:The DroneBlocks app requires the use of a Wifi-enabled smartphone, tablet, Chromebook, desktop or laptop running Android, iOS or ChromeOS. (Note: DroneBlocks is not compatible with FireOS, the operating system for Amazon tablets.)

The Tello app required for firmware updates requires the use of a Wifi-enabled smartphone or tablet running Android or iOS. (Note: the Tello app is not compatible with FireOS, the operating system for Amazon tablets).

**: 5 compatible devices (one per drone) running Python and Anaconda and 1 compatible device running the Tello app.**

*Tello Drone Programming with Python*Python and Anaconda require the use of desktops or laptops running Windows, OSX or Linux.

The Tello app required for firmware updates requires the use of a Wifi-enabled smartphone or tablet running Android or iOS. (Note: the Tello app is not compatible with FireOS, the operating system for Amazon tablets).

**COMPUTER SCIENCE**

While computer science standards vary from state-to-state, we hope this list of the Idaho State Standards provide a useful starting point for your alignment.**Algorithms and Programming**

3-5.AP.06. Construct and test problem solutions using a block-based visual programming language, both independently and collaboratively (e.g. pair programming).

6-8.AP.02. Compare different algorithms that may be used to solve the same problem by time and space efficiency.

9-10.AP.01. Design and develop a software artifact by leading, initiating, and participating in a team (e.g. pair programming, agile software development).

9-10.AP.03. Compare a variety of programming languages available to solve problems and develop systems.

9-10.AP.06. Understand the notion of hierarchy and abstraction in high-level languages, translation, instruction sets, and logic circuits.

9-10.AP.09. Demonstrate code reuse by creating programming solutions using APIs and libraries (e.g. using text to speech in App Inventor, using Twitter API).

9-10.AP.18. Evaluate and improve program quality using various debugging and testing methods and examine the difference between verification and validation.

11-12.AP.04. Modify an existing program to add additional functionality and discuss the positive and negative implications (e.g., breaking other functionality).**Computing Systems**

3-5.CS.02. Identify, using accurate terminology, simple hardware and software problems and apply strategies for solving these problems (e.g. rebooting the device, checking the power, access to the network, read error messages, discuss problems with peers and adults).

9-10.CS.04. Demonstrate the multiple levels of abstraction that support program execution including programming languages, translations, and low-level systems including the fetch-execute cycle (e.g. model, dance, create a play/presentation).**Data Analysis**

9-10.DA.06. Convert between binary, decimal, octal, and hexadecimal representations of data. **Impacts of Computing**

9-10.IC.04. Describe how computer science shares features with creating and designing an artifact such as in music and art.

9-10.IC.10. Explain how computer science fosters innovation and enhances other careers and disciplines.

11-12.IC.01 Understand the ecosystem of open source software development and its impact on global collaboration through an open-source software project (e.g. https://codein.withgoogle.com). **Networks and Internet**

9-10.NI.02. Illustrate the basic components of computer networks, protocols and routing (e.g. team based activities which may include drawing a diagram of a network including routers, switches, local networks, and end user computing devices, creating models with string and paper, see CS unplugged activities).**Common Core State Standards**

CCSS.MATH.CONTENT.6.EE.A.2. Write, read, and evaluate expressions in which letters stand for numbers.

CCSS.MATH.CONTENT.6.EE.B.6. . Use variables to represent numbers and write expressions when solving a real-world or mathematical problem; understand that a variable can represent an unknown number, or, depending on the purpose at hand, any number in a specified set.

CCSS.MATH.CONTENT.6.EE.B.7. Solve real-world and mathematical problems by writing and solving equations of the form x + p = q and px = q for cases in which p, q and x are all nonnegative rational numbers.

CCSS.MATH.CONTENT.6.EE.C.9. Use variables to represent two quantities in a real-world problem that change in relationship to one another; write an equation to express one quantity, thought of as the dependent variable, in terms of the other quantity, thought of as the independent variable. Analyze the relationship between the dependent and independent variables using graphs and tables, and relate these to the equation. For example, in a problem involving motion at constant speed, list and graph ordered pairs of distances and times, and write the equation d = 65t to represent the relationship between distance and time.**Functions**

CCSS.MATH.CONTENT.8.F.A.1. Understand that a function is a rule that assigns to each input exactly one output. The graph of a function is the set of ordered pairs consisting of an input and the corresponding output.

CCSS.MATH.CONTENT.8.F.A.3. Interpret the equation y = mx + b as defining a linear function, whose graph is a straight line.**Geometry**

CCSS.MATH.CONTENT.4.MD.C.5. Recognize angles as geometric shapes that are formed wherever two rays share a common endpoint, and understand concepts of angle measurement.

CCSS.MATH.CONTENT.7.G.B.5. Use facts about supplementary, complementary, vertical, and adjacent angles in a multi-step problem to write and solve simple equations for an unknown angle in a figure.

CCSS.MATH.CONTENT.8.G.B.8. Apply the Pythagorean Theorem to find the distance between two points in a coordinate system.

CCSS.MATH.CONTENT.HSG.SRT.C.8. Use trigonometric ratios and the Pythagorean Theorem to solve right triangles in applied problems.**The Number System**

CCSS.MATH.CONTENT.6.NS.C.5. Understand that positive and negative numbers are used together to describe quantities having opposite directions or values (e.g., temperature above/below zero, elevation above/below sea level, credits/debits, positive/negative electric charge); use positive and negative numbers to represent quantities in real-world contexts, explaining the meaning of 0 in each situation.

CCSS.MATH.CONTENT.6.NS.C.6. Understand a rational number as a point on the number line. Extend number line diagrams and coordinate axes familiar from previous grades to represent points on the line and in the plane with negative number coordinates.

CCSS.MATH.CONTENT.6.NS.C.8. Solve real-world and mathematical problems by graphing points in all four quadrants of the coordinate plane. Include use of coordinates and absolute value to find distances between points with the same first coordinate or the same second coordinate.**Trigonometry**

CCSS.MATH.CONTENT.HSF.TF.A.1. Understand radian measure of an angle as the length of the arc on the unit circle subtended by the angle.

CCSS.MATH.CONTENT.HSF.TF.B.5. Choose trigonometric functions to model periodic phenomena with specified amplitude, frequency, and midline.

© Copyright 2010. National Governors Association Center for Best Practices and Council of Chief State School Officers. All rights reserved.

## Request Proposal

Questions about the Discover Advanced Coding with Drones? Want to request a proposal for a purchase order?

Our STEM experts are here to help!