Barobo
Learning Math and Coding with Robotics

Instructor's Guide for Getting Started with 

Prime Curriculum on Robotics, Coding, and Math 

1. Overview of Prime Curriculum

The RoboBlockly Full Curriculum consists of Free Curriculum and Prime Curriculum. The Prime Curriculum for authorized instructors and their students for classroom and/or distance learning consists of three courses in robotics, two courses in coding, and eleven courses covering Kindergarten math through Algebra I:

ROBOTICS

Robotics 1A (using Symbol blocks)  |  Robotics 1B (using Symbol+Word blocks)  |  Robotics 2

CODING

Coding 1  |  Coding 2

MATH

Kindergarten Math  |  First Grade Math  |  Second Grade Math  |  Third Grade Math  |  Fourth Grade Math

Fifth Grade Math  |  Sixth Grade Math  |  Math 7  |  Math 8  |  Integrated Math I   Algebra I

FREE CURRICULUM (open to all)

Hour of Code  |  AP CS Principles  |  Arduino  |  LArduino (Linkbot + Arduino)  |  Projects

 

This Instructor's Guide provides an overview of the curriculum and how to get started with creating and managing classes.

PLEASE NOTE: Make sure that you are at www.roboblockly.com, not www.roboblockly.org. The ".org" version of RoboBlockly is an older version that is no longer being updated.

 

2. Tutorials and FAQ

It is recommended that instructors who are new to RoboBlockly take advantage of the interactive tutorials and instructional videos available via the Tutorials button at the upper left in the RoboBlockly interface (or at https://www.roboblockly.com/tutorials):

You will then see the Tutorials page:

 

You can also check the RoboBlockly FAQ page.

 

3. Course Structure

Each course consists of a number of sections, with each section containing a number of activities. Each section focuses on one or two major concepts. Here’s an example from the Robotics 1B course:

The first activity in a section introduces the main concept(s) in a “Lesson Description” section that is displayed at the top of the page when loaded. The Lesson Description may contain a video outlining and demonstrating the concept, as well as explanation and screenshots of key code blocks being introduced. An instructor may use the Lesson Description to present the material to students. Example:

The Lesson Description section may be closed up by clicking the “-” (minus sign) icon at the top right of the section. (The icon then becomes a “+” sign—clicking it opens the description back up.)

After the first activity in a section, subsequent activities are designed to provide practice and/or homework problems for students. These activities typically do not have a Lesson Description section (though some may have an animated screenshot of what the final result of the activity should look like). Each activity will have a problem statement displayed immediately above the Workspace, giving instructions to the student on what to do. For example:

Younger students or English Language Learners can click the triangular “Play” button  to hear an audio playing of the problem statement. The light bulb icon  provides hints and tips to the student for the activity. The  icon provides information about the activity, such as Common Core standards it maps to.

Some activities have additional information or tips for the instructor via an “Instructor Info” button, located above the Solution button.

Most activities have code blocks that are pre-placed in the Workspace to help students get started on an activity.

 

Solutions and Example Code:

Solutions to the activities are available to instructors via the “Solution” and “Load” buttons, displayed to the right of the problem statement. The Solution button displays a popup window with the underlying Ch code for the solution. The Load button will load the code blocks for the solution into the Workspace, which may then be executed using the Run button underneath the grid area.

In some cases two solutions are given for an activity, in which case there will be two versions of the Solution and Load buttons. In other cases there may be multiple possible solutions, or an activity may have randomly generated components that give different numeric values each time the "New Problem" button is clicked. In those cases an "Example Code" button is displayed rather than the Solution button:

Instructors can release solutions (either in blocks or Ch code) to students in their classes using the Class Management System (next section).

 

4. Creating and Managing Classes using Course Templates and the Class Management System

Authorized instructors have access to a full Class Management System via the “My Classes” link in the top left menu section in RoboBlockly (or also via the “Class Management” link on the Portal page):

The Class Management System allows you to enroll your students using Google Class account, manage class, create assignments, track their progress, release solutions to students through assignment, grade their work, provide feedback, view class statistics, etc.

The Class Management System includes course templates for Robotics 1A, Robotics 1B, Robotics 2, Coding 1, and Coding 2 that can readily be copied, customized, and used. The templates are available here, or via the “Shared Courses” link on the My Classes page. Classes may also be created from scratch.

Another nice feature of the Class Management System is that it gives instructors the capability to stop and/or mute all RoboBlockly activities that students in the class are running at that time. To do so, click the red "Stop All" or "Mute" buttons that are located at the middle of the row of menu tabs that run across the top of the RoboBlockly interface (the buttons will only appear if you are signed in with your teacher account):

Clicking the "Stop All" button will pull up a window that allows you to specify the class and section for stopping activities. The "Mute" button works similarly.

 

5. Robotics Courses

5.1. Robotics 1A and Robotics 1B: These two courses offer an introduction to robotics and cover the same topics. Robotics 1A uses “Symbol” code blocks to make it more suitable for beginning students in Kindergarten through 2nd grade and/or English Language Learners. Robotics 1B uses “Symbol + Word” code blocks. Although the courses cover the same topics, they use different exercises, so students who go through Robotics 1A can still find Robotics 1B a good learning experience. The topics covered are:

1. Drive Forward: Driving a Robot Forward for a Specified Distance

2. Color: Driving a Robot with Multiple Blocks in Different Color

3. Speed: Changing How Fast a Robot Moves

4. Time: Driving a Robot Forward by Time

5. Driving a Robot Forward and Backward

6. Turning Left and Right

7. Loop : Repeating a Robot's Motion

8. Melody: Having a Robot Play a Song

9. LED Color: Changing the Light on The Robot

10. Blink LED: Blinking the LED Light on the Robot

11. Delay: Stopping a Robot's Movement For a Few Seconds

12. Play Notes: Creating Piano Notes from a Keyboard

13. Multiple Robots: Programming Multiple Robots One at a Time

14. Robot Models and Sizes

15. Select Points on the Grid

 

5.2. Robotics 2: The Robotics 2 course assumes knowledge of the concepts covered in Robotics 1A/1B, building on them with more advanced activities and introducing new topics. The topics covered are:

1. Drive Distance: Driving a Robot a Specified Distance

2. Set Speed: Driving a Robot At a Specified Speed

3. Drive Time: Driving a Robot Forward For a Specified Amount of Time

4. Drive Angle: Driving a Robot By Turning the Wheels

5. Turning Left/Right in the Coordinate Plane

6. Loop: Repeating a Robot's Movement in a Pattern

7. Drive XY: Driving Around the Coordinate Plane by Plotting Points

8. Trace On/Off: Drawing the Path of a Robot in the Coordinate Plane

9. Multiple Robots: Controlling Multiple Robots One At a Time

10. Multiple Robots: Controlling Multiple Robots in Synchronized Movement

11. Delay: Stopping a Robot's Movement For a Specified Amount of Time

12. LED Color: Changing the Color and Blinking the LED Light on the Robot

13. Blink LED While Robot is Moving

14. Set Buzzer Frequency and Play Melody: Having the Robot Create Sounds

15. Play Notes: Generating Piano Notes From a Virtual Keyboard

16. Playing Music While Robot is Moving

17. Robot's Setting: Changing the Initial Position

18. Robot Models and Sizes

19. Control Connected Robots

20. Robot's Setting: Changing the Wheel's Radius of a Robot

21. Get the Current Position of a Robot and Output the Result to User

22. Get the Joint Angle of a Robot and Output the Result to User

 

6. Coding Courses

6.1. Coding 1: This course uses block-based coding with robotics to introduce students to the fundamentals of programming. It assumes no prior knowledge and also introduces non-robotics concepts such as the use of images. The topics covered are:

1. Drive Distance: Driving a Robot Forward For a Specified Distance

2. Trace Color: Driving Forward and Backward in Different Trace Color

3. Turn Left/Right in the Coordinate Plane

4. Debugging: Running Step-By-Step to Find and Fix Coding Errors

5. Loop: Repeating a Robot's Movement in a Pattern

6. Set Variables: Assigning Variables to Hold User Input Values

7. Printing Text

8. Print Variables: Outputting Variables Values to the User

9. Using a Message Box

10. Drawing with Rectangles in Roboblockly

11. Getting the Click Position

12. Displaying Images

13. Function: Creating a Program Within a Program

14. Robot's Setting: Changing the Initial Position of a Robot

 

6.2. Coding 2: This course expands on the Coding 1 course with additional activities and more advanced concepts, such as conditional statements, random numbers, animation, and using multiple robots. The topics covered are:

1. Debugging: Running a Code Step-by-Step to Find and Fix Error

2. Set Variables: Assigning User Input to a Variable

3. Math: Using Roboblockly to Solve Simple Mathematical Expression

4. Printing Numbers

5. Prompting the User to Enter a Value

6. Printing Decimal Values

7. Print Variable: Outputting Variable's Value to the User

8. Using a Message Box

9. Getting the Click Position

10. Get Position: Getting the Position of a Robot on the Coordinate Plane and Outputting Result to User

11. Loop: Repeating a Robot's Movement

12. Drawing: Drawing Geometric Shapes

13. Images: Displaying Images

14. Images: Using Image Variables

15. Images: Flipping Images

16. Images: Rotating Images

17. Images: Animation Basics

18. Images: Animation Using a Loop

19. Adding Music

20. Animation: Creating Movement with Drawing Objects

21. Random Integer: Generating, Assigning, and Printing Random Integers

22. Conditional Statement If: Making Decision Based on a Specified Condition

23. Conditional Statements If - If Else - Else: Making Multiple Decision

24. Logical AND and OR: Making Decisions on Multiple Conditions Simultaneously

25. Function: Creating a Generalized Program

26. Function: Inputting Argument for Internal Calculation Inside the Generalized Program

27. Function: Outputting Result from Function to Main Program/Workspace

28. Multiple Robots: Controlling Multiple Robots in Synchronize Movement

29. Robot Models and Sizes

30. More with Multiple Robots, Random Numbers, and Conditional Statements

31. Creating Arrays

32. User Input Using Radio Buttons

33. Working with the Innards of Arrays: Array Elements

34. User Input Using Checkboxes

35. Creating and Using Arrays by Length

36. Creating Plots

 

7. Math Courses

RoboBlockly’s math courses use robotics and coding to motivate and smooth the way for students to learn math, and help develop students’ critical thinking and problem-solving skills.. Common Core compliant activities are provided for Kindergarten through 8th Grade Math, plus Integrated Math I and Algebra I:

The math activities for Math 7, Math 8, Integrated Math I, and Algebra I are complementary to the UC Davis C-STEM math curriculum that uses Ch coding to teach and learn math in an integrated manner.

 

8. Free Curriculum

The Free Curriculum includes a variety of activities accessible to all. The Hour of Code, AP CS Principles, Arduino, and LArduino (Linkbot + Arduino) activities will especially be of value to instructors for teaching and learning coding, robotics, and physical computing. For more on using this free curriculum, see its User's Guide.