Discover Robotics & Programming

111
C OMPUTER S CIENCE C URRICULUM S TUDENT E DITION

description

 

Transcript of Discover Robotics & Programming

Page 1: Discover Robotics & Programming

Computer SCienCe CurriCulum

Student edition

Page 2: Discover Robotics & Programming

2 ©2014 PCS Edventures, Inc. All rights reserved. Use of this material is restricted to PCS Licensees.

Copyright ©2014 PCS Edventures®, Inc. All rights reserved.

This User’s Guide, as well as the software services described in it, is furnished under license and may be used or copied only in accordance with the terms of such license. The content of this manual is furnished for educational use only, is subject to change without notice, and should not be construed as a commitment by PCS Edventures, Inc. PCS Edventures, Inc. assumes no responsibility or liability for any errors or inaccuracies that may appear in this book. Except as permitted by such license, no part of this publication may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, electronic, mechanical, recording, or otherwise, without the prior written permission of PCS Edventures, Inc. PCS Edventures! and PCS Academy of Robotics are trademarks of PCS Edventures, Inc. in the USA and other countries. All other products or brand names are the trademarks of their respective holders.

WARNING! Electrocution Hazard. Do not use the materials provided for other than its intended purpose as described in the included manual.

For support, contact us at: [email protected]

Need help?

More RiQ!

To share your own RiQ inventions, find more projects, ideas, and add-ons join

the RiQ community!

riq.edventureslab.com

Page 3: Discover Robotics & Programming

3©2014 PCS Edventures, Inc. All rights reserved. Use of this material is restricted to PCS Licensees.

1. OVERVIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .• Document Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

• Pedagogy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

• Programming in Arduino and Other Languages . . . . . . . . . . . . . . . . . .

2. JOURNALING AND REFLECTION . . . . . . . . . . . . . . . . . . . . . . . . .

• Journal Evaluation (classroom activities provided) . . . . . . . . . . . . . . . . .

3. THE BRAIN & CORTEX USERGUIDE . . . . . . . . . . . . . . . . . . . . . . .• The Brain Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

i. Powering, Recharging, and Buttons . . . . . . . . . . . . . . . . . . . .

ii. Lights and Motors . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

iii. Sensors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

• The Cortex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

i. Quick Start Guide . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

ii. Uploading to The Brain . . . . . . . . . . . . . . . . . . . . . . . . . .

iii. Writing Programs . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

• About fishertechnik® . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4. COMPUTOR SCIENCE CURRICULUM . . . . . . . . . . . . . . . . . . . . . .• LeveL 1 - Students learn the basics of motor control through an introduction to

the language and reasoning used by computers to manage basic mechanical tasks.

• LeveL 2 - Students construct their first robot, and apply what they’ve learned about motor control to produce useful robotic behavior. Through activities with math and physics applications, and work with some more advanced coding, students expand their knowledge of programming while practicing math and science.

• LeveL 3 - This level introduces students to the use of subroutines, if- and for- loops, as well as the use of basic sensor inputs. These new skills are applied to challenges with new and interesting applications.

• LeveL 4 - In level 4, students will continue to expand their working knowledge of programming. They will create more sophisticated robots that interact with their environment in quite complex ways. Much of the logic used to create code in level 4 reinforces fundamental math concepts at a very intuitive level, setting the stage for explorations into discrete math and advanced programming applications.

5. APPENDICES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A. Standards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

B. Common Core . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

C. Bibliography . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4

10

15

29

104

5

6

8

12

15

19

21

16

20

22

18

20

105

48

106

30

108

80

91

diSCover: robotiCS & programming

28

Page 4: Discover Robotics & Programming

4 ©2014 PCS Edventures, Inc. All rights reserved. Use of this material is restricted to PCS Licensees.

PCS Edventures promotes hands-on, activity-based learning as a means of helping students develop their problem-solving, communication, reflection, and collaboration skills. Our content is designed to integrate instructional goals into application-based learning experiences. With the freedom to iterate and design, students gain tangible benefits that come from frequent analysis and reflection. Projects are designed to accommodate groups of 2-3 students, though groups of 4 can work with some additional structure, such as more specific task assignments for group members.

The robotics curriculum is a platform for teaching basic programming logic in the context of mechanical output (e.g. a motor moves) and data input (e.g. a light sensor identifies a boundary). Projects incorporate applied math, physics, and engineering principles via optional approaches and extensions. These extensions are designed to be optional, and the instructional time made available for these activities. Many of the extensions are also convenient ways to assign deliverables (exit items) and/or homework.

PCS has created the robotics programming curriculum to include a journaling component in response to the extensive research that illustrates the benefits of including reflective elements in STEM classrooms. Since students will be applying concepts repeatedly, with ever-increasing difficulty and rigor, it is critical that they both record and reflect on their process. The reflective component of the curriculum should not be omitted or understated, as student outcomes are highly correlated to the effort they put into such record-keeping. For additional information about our suggested journaling process, please review the appropriate index in the instructor’s guide.

diSCoverOverview

Overview

Page 5: Discover Robotics & Programming

5©2014 PCS Edventures, Inc. All rights reserved. Use of this material is restricted to PCS Licensees.

This is a student’s guide. Extensions are suggested but optional, and are included in both the instructor and student materials.

Activity sequences for all four levels have a structure that includes A) initial projects with explicit directions meant to expose students to the concepts associated with each level, B) challenges, which ask them to apply those same concepts, and C) a personal design project, which typically incorporates all previous material and provides a lot of creative freedom.

Explicit build and design instructions are provided only for projects where each build is first encountered. The expectation is that students will be able to either reference prior work or create functional builds based on their growing understanding of the build process. Also, we don’t want to remove creativity from the challenge and personal projects, as diverse pathways to accomplishing the goals will serve to broaden the learning in the group.

PROJECT 1

PERSONAL PROJECT

CHALLENGE 2

PROJECT 2

CHALLENGE 1

doCument StruCture

Ove

rvie

w

+UNDERSTANDING

SEQ

UE

NC

E PR

OG

RE

SSION

Page 6: Discover Robotics & Programming

6 ©2014 PCS Edventures, Inc. All rights reserved. Use of this material is restricted to PCS Licensees.

You may already be quite familiar with the following information. The purpose of this section is to explain the rationale for the design of this content.

engineering

With the advent of the Next Generation Science Standards, and the philosophical approach that underlies the Common Core, it has become clear that many educators could benefit from additional support regarding methods for instructing some of the processes now emphasized by these standards.

For more than 25 years, PCS has specialized in the kind of application-based, iterative discovery that characterizes an engineering design approach to problem-solving. With this curriculum, we have attempted to scaffold this process in a way that we hope will fit nicely into a more formalized classroom environment.

As an instructor, the critical piece of the engineering design approach is in the method of iteration. There are two typical erroneous ways that learners iterate on their solutions.

First, and often least effective, is some version of the classic “guess and check” approach, in which students invest little to no energy in planning their approach to a problem. Rather, they simply try something and then adjust, repeating this process until they either stumble upon a solution or lose interest in the problem. This is not always bad. Some students are more tactical in nature: very thoughtful about their plan following their first attempt(s) at solutions. When the stakes are low, there is no harm in this.

The second, sometimes problematic, approach to problem-solving (the one historically emphasized in any technical academic program/course) is purely analytical, wherein the first attempt is expected to be perfect, flawless if possible. While this method certainly has academic and educational merit, it fails to take into consideration practical, application-level issues (imperfect parts, environmental variation, etc.).

It is nested neatly between these two extremes—thoughtless fumbling and purely theoretical analytics—that the engineering practice lives. The activities in this curriculum were designed to encourage engineering design, but it is critical that oversight be diligent, such that students who fall toward one or the other extreme be provided with some guidance and redirection.

In the first case, simply mandating that they outline their plan prior to initiating any experimentation often solves the problem. In the second case, encouraging disengagement from analysis once a reasonable approximation is possible generally suffices to bring students closer to effective completion.

iterative diSCoverYENGINEERING PROCESS

TRIAL & ERROR

ACADEMIC ANALYSIS

MOST EFFICIENT

pedagogY

Overview

Page 7: Discover Robotics & Programming

7©2014 PCS Edventures, Inc. All rights reserved. Use of this material is restricted to PCS Licensees.

engagement

Effective instruction for innovative design and deep understanding of technical concepts is all about engagement. Often, it has been found, students are directed by an expert to follow a pre-established sequence of instructions (2, 28, 29), and this generally does very little to encourage students to develop and consider their own analytical process (21, 22, 23, 24) . If something is confusing, the resolution is obvious – ask the teacher.

It has been shown to be more effective if students create their own solutions to challenges. It is ideal if students practice seeking varied resources to develop those solutions. The ultimate is when students generate novel and innovative solutions to problems (1, 25, 30).

With our hands-on, activity based curriculum, we aim to encourage students to engage in low-stakes problem solving on various scales: setting up structures (building, assembly), planning for challenges (sketching out designs, gathering information, etc.), and analyzing results for future applications.

FeedbaCk

Learning is a constructive, iterative process. Learners actively build understanding by assembling bits of information into working models and concepts. A learner can then fortify his or her understanding by attempting to apply it to a new scenario (1, 25). Truth is subjective; something that withstands many of these iterations. When our process is rigorous, our truth is more universal.

Since the process of construction, testing, analysis, and reconstruction can take some time, it is ideal if no step along the way is bogged down by the need for excessive feedback. Traditionally, classroom feedback comes from the instructor. With many students and one instructor, this means that any individual learner’s process can be repeatedly slowed by the feedback bottleneck. Otherwise learners can find themselves in a sort of limbo, charting territory without feedback, often only to discover that they have been moving in a non-productive direction for some time.

Instructor feedback can be interpreted with hidden or counter-productive messages by students who receive abstracted information (grades, percentages, points, etc.). From these abstract concepts, students actively judge themselves and their peers in order to establish an intellectual hierarchy. Such habits reduce motivation among both high and low achieving students, and can severely hinder the development of effective collaboration skills (30, 31, 32, 5, 9, 10, 25).

Again, it has been shown through extensive studies and test groups that it is better to provide students with immediate, continuous feedback, coming directly from their personal experience. This is a primary goal of hands-on, activity based learning. Students, during the development of a project, are repeatedly observing the results directly the results of their work, and they can adjust their process according to that “natural” learning. In doing so, motivation tends to shift from extrinsic to intrinsic, as students focus on the task at hand rather than on others’ perception of their skill/value (14-20, 23, 25).

The design-build component of most PCS activities supports this repeated (nearly continuous) feedback loop. The act of connecting two elements together, all by itself, requires that a learner test the way their mind visualizes each element, and also demands hat they configure and reconfigure their methodology until they find something that works. Use of these manipulatives teaches the process of procedural organization and efficiency, as well as reinforcing basic physics, math, construction, and logic principles again and again. Thus, students are provided with constant learning on many levels.

Historically, students who proceed through a rote set of instructions have difficulty applying their methods in a new context. The design process offers resolution of this problem. Through hands-on projects, concepts can be accessed via visual, tactile, and even auditory experiences (in addition to pure, and abstract, cognitive connections). In this way, learners can more readily make neural connections (create lasting understanding) that are available for future learning and application toward novel challenges.

pedagogY (Cont.)

Ove

rvie

w

Page 8: Discover Robotics & Programming

8 ©2014 PCS Edventures, Inc. All rights reserved. Use of this material is restricted to PCS Licensees.

The Cortex uses a graphical user interface to create code in the Arduino language. Whenever you install the Cortex onto your device, a library of functions and coding elements is installed as well. If your students show a serious interest in more advanced coding practice, the Cortex makes the language used to instruct the bot visible for inspection or for cutting and pasting into the free, open source Arduino software.

Arduino was originally built for custom electronics, developed specifically for hobbyists and hackers to create new and exciting devices. All of the basic Arduino-based components are extremely affordable. Students expressing an interest in these electronics can, and should, be encouraged to explore the platform further, using the coding they’re learning here as a jumping off point.

Finally, Arduino itself is a platform on top of the coding language of “C.” C is one of the most common and powerful computer programming languages in use today. For students who really want to take this to the next level, encourage them to explore and work with C. Fortunately, C is also free to the public.

programming in arduino and other languageS

Overview

Page 9: Discover Robotics & Programming

9©2014 PCS Edventures, Inc. All rights reserved. Use of this material is restricted to PCS Licensees.

2

FIRST BUILD! MOTOR TESTING STATION (LEVEL1)

JournalingP.A.R.

3

MOTOR PROGRAMMING & EXPERIMENTATION

(LEVEL 1)

JournalingP.A.R.

4

BUILD RiQ THE ROBOT

(LEVEL 2)

JournalingP.A.R.

5

RiQ PROGRAMMING

ACTIVITIES(LEVEL 2-4)

JournalingP.A.R.

* Journaling & P.A.R. (Peer- assisted reflection) are both optional, reccommended extensions

getting Started guide

Ove

rvie

w

MEET THE BRAIN AND CORTEX!

1

Page 10: Discover Robotics & Programming

10 ©2014 PCS Edventures, Inc. All rights reserved. Use of this material is restricted to PCS Licensees.

RationaleReflection is another means of adding value to a learning experience. Both content and meta-level insight are available through the process of evaluating your work after it has been done. We recommend that journaling be a central and significant part of this curriculum. Our journal structure is by no means the only one that will accomplish the goals of reflection; we provide it as a default—a starting point. If your students are already journaling in your classroom, we encourage you to modify our prompts and categories to fit into your existing structure as you see fit.

Journaling&

reFleCtion

Overview

Page 11: Discover Robotics & Programming

11©2014 PCS Edventures, Inc. All rights reserved. Use of this material is restricted to PCS Licensees.

StruCture

The journal can either exist on paper or in a digital medium. The advantage of paper is that it is low-tech and portable, whereas an electronic journal allows for inclusion of photos and video, something that young people tend to find both enjoyable and familiar. It is also possible to combine the two platforms. Because there are so many easy and free ways to set up blogs, the projects section could be done electronically (they could showcase their projects, and post photos/videos), while the notes and questions might be done on paper so that students could easily flip through and reference them as needed.

The programming for robotics journal is designed with three sections:

Note: Masters of all three of the following journaling sheets are found in the Student Edition's journaling section.

noteS/SuggeStionS

This sheet is a reference space; a platform where students can summarize their conclusions, and record ideas that they anticipate will be useful for future projects.

QueStionS/hYpotheSeS

Here, students will record questions and testable answers to those questions. If there is a stagger in how students complete certain activities, they can be directed to explore these questions to the extent that it is feasible in your environment. They can also be turned into personal projects at home that students later report to their classmates about.

proJeCtS/ConCluSionS

This will be the most used section of the journal. Here students record their process and conclusions for all personal projects and some challenges. While less explicitly a referenced resource, the idea is that through record keeping they will be able to transfer skills and experience forward, as well as reflect on the work they just completed. A secondary benefit is that students can look back through and observe the trajectory of their understanding.

Journaling and reFleCtion

Journaling&

reFleCtion

Ove

rvie

w

Page 12: Discover Robotics & Programming

12 ©2014 PCS Edventures, Inc. All rights reserved. Use of this material is restricted to PCS Licensees.

evaluation

Feedback on journaling should come in a variety of forms, but the emphasis should be nearly entirely on the process and purpose of the journal. Feedback should provide information about the quality of the reasoning used, the thoroughness of observations, readability (clarity of explanations), and use of media (mainly if they use the online version).

To increase the level of self-evaluation used by student authors, it is advisable to have them write occasional summaries of their experiences and lessons learned, using only their journal as a reference. Allow them to work in groups when doing this but prompt them to ask one another as few questions as possible. Take note of questions they have to ask to recall information and motivate them to reduce this list by coming up with personal guidelines for improving their process.

In addition to this activity, you should have some additional, more formal evaluations (though always formative, as journaling, in some form, will forever be a part of their student life). Here, we will describe several possible evaluation protocols:

traditional

Collect journals (or review digital journals) periodically and provide feedback. This should be heavily front-loaded, as with the peer-to-peer alternative described below, so that students correct process problems early. This is the most time intensive, but requires less classroom time.

peer-to-peer

Ask students to exchange journals with one another and provide feedback. A new process, “Peer Assisted Reflection,” created by Dr. Daniel Reinholz at CU Boulder, has shown particular efficacy for student to student reflective feedback.

Students read one another’s work, providing written feedback according to provided guidelines. They then discuss each item, offering verbal explanations as well as working together to make revisions. These activities, administered repeatedly and with care, promote a wide range of highly valuable skills and habits for multidisciplinary success.

A great way to do this is to focus on a specific challenge or design project and the associated journaling. This way students will have a shared context. A secondary advantage of using a design project is that they will almost certainly have created unique solutions and therefore will have a lot to gain from one another. Also, if you plan to have them present their projects to the class, this is a great way for them to flesh out their presentations in a safer, more intimate and well structured setting. Below is an excerpt from Dr. Reinholz’s instructional guidelines [language has been adapted for middle school students].

Journaling evaluation

Overview

Page 13: Discover Robotics & Programming

13©2014 PCS Edventures, Inc. All rights reserved. Use of this material is restricted to PCS Licensees.

reading peer’S ConCluSionS

Question others’ solutions. Ultimately, you’re developing skills to apply to your own work as well.

Try to understand their journal and their experiences based only on what is written (without thinking of your own conclusions). Tell your partner if you have to guess what something means, or if a description it is unclear.

Does the conclusion connect to the evidence? Are they drawing clear and supported conclusions?

Finally, compare your partner’s conclusions to your own for the same challenge. Did you get the same result? If there are differences, discuss these with your partner during your conference. Try to decide if one or both conclusions are accurate.

peer ConFerenCing

A few simple guidelines will help you have more meaningful conversations with your partner.

Be critical, but kind. Your job is to help your partner improve their work as much as possible.

Ask questions. Encourage your partner to ask questions. Discussing ideas will help you learn.

Demand meaningful feedback. If your partner only says “everything looks good” you learn nothing.

Practice revisions to your explanations (verbally) before writing them. This is a unique opportunity to get instant feedback on your communication. Use it!

If both you and your partner are unsure about the solution, try to figure it out together. Talk through your reasoning, where it got you, and where it got you stuck.

Journaling evaluation (Cont)

Ove

rvie

w

Page 14: Discover Robotics & Programming

14 ©2014 PCS Edventures, Inc. All rights reserved. Use of this material is restricted to PCS Licensees.

SuggeStionS For meaningFul FeedbaCk

Here are a number of examples of feedback, followed by examples of how to make that feedback moremeaningful in italics.

• Everything looked good.— Even the best solutions can be improved. Put more effort into thinking how your partner

could do so.— What evidence do you have for saying this?

• Your solution was explained well.— This feedback not only fails to say what about it was explained well, but it also doesn’t help

your partner improve.

• Your solution could use a little bit more explanation.— Tell your partner exactly what needs more explanation and try to suggest how they could

improve their explanation. Remember, simply adding more isn’t always better.

• Your explanations were a little unclear.— You need to tell your partner what exactly was unclear, and try to suggest how they could

improve it. Try focusing on what you couldn’t understand or where you got lost.

• Show a little bit more work.— Tell your partner exactly where you got confused be more specific with your feedback.

• I found an error.— Tell your partner what the error was and why it was incorrect.

• Your answer needs improvement.— Tell your partner what was wrong and how to improve it.

• I think your conclusion is wrong.— Tell your partner what the error was and why you think it was incorrect.

StrategieS For FaCilitating peer-ConFerenCeS

Sometimes it may feel like you don’t know what to say or how to get better feedback from your peer conferences. If your partner simply says “it looks good” it does nothing to help you improve. PAR is a unique opportunity to get feedback and talk about your work, so make sure that you take advantage of it!

Here are some suggestions for things you might say or ask in order to have a more productive conversation. It is important that your questions are specific. For example:

I was struggling with how to say ________, do you have any suggestions?

Would it be alright if I practiced my explanation with you before I revise my work?

I noticed that we solved the challenge differently. Can we look together and make sure our solutions are consistent?

I was unsure about ________. Can we talk more about it?

In your explanation I notice that you did ________. Can you explain why?

Journaling evaluation (Cont)

Overview

Page 15: Discover Robotics & Programming

15©2014 PCS Edventures, Inc. All rights reserved. Use of this material is restricted to PCS Licensees.

:

Your name: unit name:

QueStionS / hYpotheSeS:

teStS / experimentS perFormed: reSultS:

Page 16: Discover Robotics & Programming

16 ©2014 PCS Edventures, Inc. All rights reserved. Use of this material is restricted to PCS Licensees.

The PCS Brain is an Arduino compatible robotic microcontroller that responds to the commands sent to it by the PCS Cortex Programming environment.

Use The Brain to program devices that walk, roll, and shake as you explore computer programming in its most exciting way - robotics! The Brain is designed be an open platform, both through it's Arduino heart, and through it's unique housing which was designed to connect to all major building systems such as fischertechnik®, K’NEX®, Erector® and others. The Brain even has the ability to add on R/C standard nuts and bolts so you can bolt it on to anything. The Brain is designed to be open-ended, extensible, and flexible and to encourage creativity - just like your own brain.

the brain and Cortex

Page 17: Discover Robotics & Programming

17©2014 PCS Edventures, Inc. All rights reserved. Use of this material is restricted to PCS Licensees.

ON/OFF SWITCHWhen you turn The Brain switch ON with a power source connected, you will be able to power DC and servo motors.

Note: You can power The Brain for programming using the USB cable, however the USB is not ade-quate voltage to drive motors.

RUN/STOPPressing this button will run a program stored in The Brain's temporary memory, or will interrupt a pro-gram that is running.

RESTARTThis button will reset The Brain. Use this button if your program is not operating properly and you want to reset the microcontroller.

LIGHTS ON THE BRAINThe lights that flash on The Brain represent different things. Look at the illustration above for details.

RUN/STOP Button

RESET Button

Bluetooth DONGLE Connector

DC MOTOR Ports (4)

SERVO MOTOR Ports (4)

SENSORPorts (8)

Ports 6 & 7 are only INPUT

USB Port

ON/OFF Switch

Power Connector

the brain

buttonS

The Brain and

Cortex

Page 18: Discover Robotics & Programming

18 ©2014 PCS Edventures, Inc. All rights reserved. Use of this material is restricted to PCS Licensees.

Option 1: LiPo Re-Chargable Battery

Option 2: Power Adapter

You can power The Brain directly from a wall socket using the DC power adapter. This is very useful for testing and building stationary robots that do not require mobility.

1. Connect the power adapter to the outlet.

2. Connect the battery and power adapter ports together using the charging cable.

3. The charging time is about 20 minutes.

The 11.5 volt, 500mAh lithium polymer battery requires about 20 minutes to fully charge and will run more than an hour.

Battery

Power adapter

Recharging cable

Recharging the Battery

power and reCharging

The

Bra

in a

nd C

orte

x

Page 19: Discover Robotics & Programming

19©2014 PCS Edventures, Inc. All rights reserved. Use of this material is restricted to PCS Licensees.

DC Motors Servo Motors

Servos are not included with the PCS Discover Robotics package, but if you are an advanced user and want more information on how to use these parts, please contact our technical support team at [email protected]. PCS will be releasing an exciting servo add-on package for The Brain - watch for it!

The Kit includes two 9 V DC Motors. You may have up to four DC motors working at one time.

The cable plugs attach to the holes of the fischertechnik® motor on the back side. There are 3 ways to connect the plugs:

1. Top holes of the motor2. Back holes of the motor3. Side holes of the motor The Brain includes four dedicated

servo ports which can be used to run standard hobbyist servos like

the one shown here.

NOT INCLUDED IN PACK!

If you switch the location of the plugs, the motor will run in the opposite direction!

Motor cable

Green light: Brain POWER ON. Connected to a power source such as USB or battery.

Green light:DC motor ON Red light: DC motor ON & in REVERSE

Yellow light: LED on Digital Port 13 wired for the classic arduino "blink" test program. DC motor port D shares this pin and will cause it to light when running positive polarity.

Purple light: Servo motor is ON

Blue light (under dongle):Program is executing [D8 on Arduino board]

Blue light: Receive Data

Red light: Transmit Data

Solid Pink light: Power to Bluetooth Module

Blue light: Transmit DataRed light: Receive DataBlue light: Status

Yellow light: Com link established

Solid Pink light: Power to Bluetooth Module

Blue light: Transmit DataRed light: Receive DataBlue light: Status

Yellow light: Com link established

lightS

dC motorS and ServoS

The Brain and

Cortex

Page 20: Discover Robotics & Programming

20 ©2014 PCS Edventures, Inc. All rights reserved. Use of this material is restricted to PCS Licensees.

LED SensorTouch Sensor

Ultrasonic Sensor

Use this sensor as a bumper or push button to start or stop actions. When the button is pressed it returns the value of 1 or "true." When not pressed it returns a value of 0 or "false."

LEDs can be plugged into ports 0-5 and can be used as status indicators, glowing robot eyes, etc.

Light Sensor

This sensor detects differences in ambient (surrounding) light conditions. It is a "photoresistor" which increases resistance based on the amount of light

it is exposed to. This sensor will return a value between 0 and 1023 based on lighting conditions. The light sensor can be connected to read a low-high range or high-low range.

Infrared Sensor

This sensor bounces a beam of infrared light off a surface and reads the amount of light reflected. It is most useful for short distances of one or two centimeters.

CONNECT ONLY ONE CABLE INTO THE LIGHT SENSOR AT A TIME! Using both may

cause irreparable damage to The Brain.

WARNING!! Read instructions carefully as connecting in-correctly can irreparably damage The Brain.

WARNING!!

Use this sensor for object avoidance and measuring distance. It sends out a sound signal and measures the time it takes to receive the signal back after it bounces off an object.

SenSorS

The

Bra

in a

nd C

orte

x

Page 21: Discover Robotics & Programming

21©2014 PCS Edventures, Inc. All rights reserved. Use of this material is restricted to PCS Licensees.

Software Installation Instructions:

Windows and Macintosh UsersTo install Cortex, go to riq.edventureslab.com/cortex or insert the Go to:

http://www.edventures.com/cortex

Download and install the appropriate installation package.Android UsersUsing your Internet connected tablet device, goto the Google Play Store and search and install "PCS Cortex." Alternatively you can go to the following web address and download and install the APK.

http://www.edventures.com/cortex

iOS UsersNote: Tablet users only. Go to the Apple App Store and search for PCS Cortex and install.

Contact [email protected] for help!

IMPORTANT NOTES ON INSTALLATION AND USE1. A current version of Java Runtime is required to run the Cortex software. JRE 6.0+2. You must have an active Internet connection to compile Cortex programs on a tablet.

Motor Commands

Profile

Library of Programs

Build the Program

Integrating virtual tablet sensors and the UI canvas

Arduino code display

Save Program

Complete and send program to The Brain

Run/Stop the program

Connection Status

ProcedureCommands

Sensor Commands

Logic Commands

MiscCommands

Shows which sensors are active and their output value

v 5 . 0

Cortex

This section will introduce you to the basics of programming with the Cortex programming environment.

QuiCk Start guide

introduCing Cortex

The Brain and

Cortex

Page 22: Discover Robotics & Programming

22 ©2014 PCS Edventures, Inc. All rights reserved. Use of this material is restricted to PCS Licensees.

When a program is finished, you must send it to The Brain.

CONNECTION

CORTEX BRAIN

1. Attach the dongle to The Brain. Make sure the black circuit side is facing away from The Brain.

2. Establish a Bluetooth Connection between The Brain and the Desktop/Laptop/Tablet (see next section).

1. Make sure the Bluetooth dongle is removed. The connection will not work with dongle attached.

2. Connect the USB cable from The Brain to the Desktop.

OPTION A: USB cable OPTION B: Wireless (Dongle)

1. Go to: SETTINGS; Bluetooth

2. Turn Bluetooth ON

3. Search for the PCS-BT

4. Click on PAIR

Windows/Mac/Android1. Go to: Control Panel; Devices & Printers; Add a Bluetooth device2. Wait for it to Search for PCS BT3. Pair the device using Code: 1234

iOS1. Go to: Applications; System Preferences; Bluetooth2. Wait for it to find PCS BT 000-029, then pair the device. The dongle number will be identified by a label on its back.

*Some laptop/desktops have integrated Bluetooth. For these, you do not need to purchase a Bluetooth module.

*You will have to find out where the Bluetooth connection manager is for your operating system.

+ OR

1- DESKTOP/LAPTOP with no integrated Bluetooth 2- TABLET and DESKTOP/LAPTOP with Bluetooth

CODE: 1234

PURCHASE IN STORE!

The Brain has to be ON in order

to Connect to the Cortex!

uploading to the brain

option b: uploading with bluetooth

The

Bra

in a

nd C

orte

x

Page 23: Discover Robotics & Programming

23©2014 PCS Edventures, Inc. All rights reserved. Use of this material is restricted to PCS Licensees.

Click or tap the appropriate command menus you want to use.

3

Once in your profile, you may start a new project or continue with a saved one.

Drag the commands onto the workspace with your mouse or your finger.

4

When placing new commands a gray box will appear. Let the command go and it will connect.

5 Double click or tap on motor command to select which motor(s) you want to use.

6

Add a new user or click on one of the user profiles previously made.

1 2

writing programS

The Brain and

Cortex

Page 24: Discover Robotics & Programming

24 ©2014 PCS Edventures, Inc. All rights reserved. Use of this material is restricted to PCS Licensees.

7 8 Save your programs so you can continue to work on them in the future. Note: programs are saved in the application and cannot be moved.

To delete commands, drag them into the trashcan. When the gray box appears click the check mark to confirm deletion.

The

Bra

in a

nd C

orte

x

writing programS (Cont)

Virtual Controls

Create your own control panel using joysticks, sliders, ON/OFF switches, buttons, etc.

Sensor Displays

These displays can be used to display values of different sensors, or counters.

Virtual Sensors

Microphone, GPS, compass, accelerometer, etc. are some of the virtual sensors available on tablet devices.

Sensor Displays

Virtual Sensors

Virtual Controls

User Interface Canvas

Build your own robotic control panel.

Page 25: Discover Robotics & Programming

25©2014 PCS Edventures, Inc. All rights reserved. Use of this material is restricted to PCS Licensees.

9 10Look at the Arduino Code to learn Arduino language. You can also copy this code and use it in the Arduino IDE.

Click/tap on the status icon to open up the connection status panel.

If The Brain and Cortex are connected correctly and communicating, the “LINKED” icon will display. Now you are ready to compile the program and transfer it to The Brain!

NOTE: Click/tap on the icon to refresh the connection if it is NOT

LINKED.

Connection Status

COMPILE1. Make sure you have an Internet connection for compiling programs when using tablet devices. Computers can compile locally or online.2. Press COMPILE to transfer the program to The Brain. It might take a few seconds.

RUNOnce the program is sent, you can either RUN/STOP it from the Cortex or else directly from the RUN/STOP button on The Brain.

NOTE: If using a tablet you must have

an active Internet connection to

COMPILE.

v 5 . 0

writing programS (Cont)

The Brain and

Cortex

Sending a program to the brain

Page 26: Discover Robotics & Programming

26 ©2014 PCS Edventures, Inc. All rights reserved. Use of this material is restricted to PCS Licensees.

Choose motor(s) to control.

Turns selected motor(s) on for specific time.

Turns on selected motor(s).To be most useful, used in a loop command.

Turns off specific motor(s).

Reverses direction of selected motor(s).

This is a global Comand.

Sets direction of selected motor(s) to run THIS WAY. Global command, so the motors will always turn THIS WAY unless otherwise specified.

Sets power level on selected motor(s).

This is a global Comand.

Used to end procedure(s) and program(s).

Call a defined procedure to run. Double click to chose procedure.

Set the value of a variable using a number.

Create and name a new global variable.

Set the value of a variable using a sensor.

Create and name procedure (section of code) which you can call into your main program.

Sets direction of selected motor(s) to run THAT WAY. Global command, so the motors will always turn THAT WAY unless otherwise specified.

This is a global Comand.

motor CommandS

proCedure CommandS

The

Bra

in a

nd C

orte

x

global Command: A command that remains on until specified otherwise.

Page 27: Discover Robotics & Programming

27©2014 PCS Edventures, Inc. All rights reserved. Use of this material is restricted to PCS Licensees.

Turns ON the specified port which will power an LED.

Turns OFF the specified port.

Enter a number value.

Represents the value of a selected sensor for variables.

Represents the value of a selected virtual sensor for variables.

Represents the value of the ultrasonic sensor on the selected port.

Represents the value of a selected virtual sensor for command(s).

Represents the value of a selected sensor for command(s).

Obtaining the values

1. Create this simple program(make sure you are connected to The Brain).

For example:

• Ultrasonic: values change according to how far an object is from the sensor.

• Infrared: values change by detecting the changes of color nearby.

• Light: value changes with brightness.

• Microphone: value changes with sound intensity.

2. Compile and Upload it toThe Brain.

3. Run the program and seehow the value changes.

EXAMPLE: This is an example of how you can analyze the sensor values

1. Connect your infrared sensor to any port on The Brain.

2. Make the Connection between The Brain and Cortex.

3. Build the “SEND” program shown above.

4. Press Compile, when it is done uploading, put the front of the sensor facing the white area very close (3 mm). While you do that look at the “SENSOR OUTPUT” on the Cortex.

5. Do the same thing with the black area. Do you see how the values change?

Knowing how to use sensors when programming is important. They send certain values to The Brain, and depending on the value they report, it will act one way or another. It is very important to find out which values are to be expected from each sensor such as the ultrasonic, infrared or light sensor as well as other tablet built-in controls like the microphone.

Port number 0 is being used in this case.

Best distance around 3 millimeters.

TEST THE SENSOR ON THESE SQUARES!

SenSor CommandS

reading SenSor valueS

The Brain and

Cortex

Page 28: Discover Robotics & Programming

28 ©2014 PCS Edventures, Inc. All rights reserved. Use of this material is restricted to PCS Licensees.

Add a space in your program where needed. (Cosmetic)

Delay for a given time. No commands in the program will run during this.

Delay for a time defined by a sensor or variable.

Play a short beep.

Play a note of a specific frequency for a specificduration.

Repeats the attached code infinitely until a “BREAK” command is reached, or the user stops the program.

Stops a Loop from continuing and sends the program to the next command after the Loop.

Used to compare two values. Can be used to check if two values are equal, greater than, less than, etc.

If the described condition is met, the attached code will be run.

If the described condition is met, the attached code will be run. Else, if the condition is not met, the second branch of defined code will run.

Repeats the attached code the number of times defined.

Duration (NUM)

Frequency (NUM)

Repetitions (NUM)

Procedure

COMPARE or SENSOR

Procedure

COMPARE or SENSOR

If Else

CDEFGABC

261294329344392440493523

Note Frequency:In the grey square to your left you can see the main note frequencies. If you multiply or divide any frequency it will raise or lower by an octave.

For example, 344 and 688 are both F’s. But 688 is one octave higher. Check it out at: riq.edventureslab.com

logiC CommandS

miSCellaneouS CommandS

The

Bra

in a

nd C

orte

x

Page 29: Discover Robotics & Programming

29©2014 PCS Edventures, Inc. All rights reserved. Use of this material is restricted to PCS Licensees.

User Friendlyfischertechnik® elements are naturally friendly and approachable by students and staff alike. The simple approach to connections and the variety of pieces enables builders to quickly grasp the basics of building with this amazing system. fischertechnik® manufactures kits and models for students as young as five years old.

Precise and RealisticUtilizing an ingenious groove, slide, and interlocking pin system, fischertechnik® creations are more flexible, realistic, and robust in all modeling and simulation environments. This system is not a toy, rather a professional modeling system that enables students to experiment, design, produce, and create amazing machines with real world results.

DurableEngineered to scientific precision and manufactured using high strength nylon, plastic and steel, fischertechnik® components are designed to last not for years, but for decades and beyond. Many original kits purchased in the 60s are as good as new and continue to serve reliably year after year in high use settings. Purchasing fischertechnik® systems is an investment in quality that will serve your students for years to come.

StrongThe unique design of fischertechnik® results in far stronger physical connections when modeling and building. Students who have experienced frustration with watching their hours of work fall apart due to the limitations of a building system will appreciate the amazing strength and solidity of fischertechnik®. The multitude of options for mechanization and power are also extensive with access to an advanced power motor system that enable serious engineering endeavors.

GROOVE

PIN

METRIC SYSTEM RULER: use this to measure the manipulatives

30 millimeter (mm) block is called a “Building Block 30”

0 10 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 (mm)

User Friendly

Precise and Realistic

Durable

Strong

about FiSCherteChnik®

The fischertechnik® manipulatives included with RiQ are high-end, quality products from Germany, ideal for engineering-related builds. Here are a few benefits of the fischertechnik® system.

Page 30: Discover Robotics & Programming

30 ©2014 PCS Edventures, Inc. All rights reserved. Use of this material is restricted to PCS Licensees.

Page 31: Discover Robotics & Programming

31©2014 PCS Edventures, Inc. All rights reserved. Use of this material is restricted to PCS Licensees.

Computer SCienCe CurriCulum

Page 32: Discover Robotics & Programming

32 ©2014 PCS Edventures, Inc. All rights reserved. Use of this material is restricted to PCS Licensees.

In this level, you will learn the basics of programming robots with The Brain robotic controller using the Cortex programming environment. The Brain is a micro-controller which is used to coordinate various sensor inputs and device outputs according to programs created for it. The Cortex is a computer programming environment where a sequence of instructions or procedures can be created to instruct the micro-controller (The Brain) to do something (such as make a motor turn on when a touch sensor is activated).

Direct current (DC) motors are used to operate robotic devices. DC motors connect to ports on The Brain using cables.

Bolded words are defined in the Concepts and Key Terms section at the end of each level.

level oneProgramming For Robotics: DC Motors

Page 33: Discover Robotics & Programming

33©2014 PCS Edventures, Inc. All rights reserved. Use of this material is restricted to PCS Licensees.

Begin by building your testing station. When you are finished it should look like this:

Build and Program a Motor Test Station

Project 1: Build and Program a Motor Test Station Connect It

Challenge 1: Create 3 Programs Reflect

Project 2: This Way/That WayChallenge 2: This Way/That Way

ReflectPersonal Project: Computational Multitasking

ReflectKey Concepts

In this project you will build a DC motor testing station, connect everything properly, and identify all ports and cables. You will also begin writing your first set of commands in Cortex.

level oneSChedule

1lev

el

Project 1

Icon Legend

Set assembly aside.

Build the number shown.

Rotate assembly.

Flip assembly.Le

vel 1

: Pro

gra

mm

ing

for

Rob

otic

s

Page 34: Discover Robotics & Programming

34 ©2014 PCS Edventures, Inc. All rights reserved. Use of this material is restricted to PCS Licensees.

Level 1: Prog

ramm

ing fo

r Ro

bo

tics

Materials you will need:

0 10 2 0 30 4 0 50 6 0 70 8 0 90 100 110 120 130 140 150 160 170 180 (mm)

*some part colors may vary

Link 15(Qty 2)

Mini Motor 6-9v(Qty 2)

Clip Axle T28(Qty 2)

Motor Reducing Gearbox(Qty 2)

Motor Plug (Qty 2)

Brain (Qty 1)

Clip Adapter(Qty2)

Building Block15 with 2 Pins

(Qty 2)

Dongle (Qty 1)

Base Plate 120x60(Qty 1)

Battery with Cable (Qty 1)

1

The assembly should look like this before proceeding to the next step.

x2

x1

All steps have an “exploded view” which helps with assembly.

Page 35: Discover Robotics & Programming

35©2014 PCS Edventures, Inc. All rights reserved. Use of this material is restricted to PCS Licensees.

Leve

l 1: P

rog

ram

min

g fo

r Ro

bot

ics

2

x2

x2

43

x2

Make sure to slide the Mini Motor 6-9v all the way into the Motor Reducing Gearbox so that the gears inside mesh together.

Page 36: Discover Robotics & Programming

36 ©2014 PCS Edventures, Inc. All rights reserved. Use of this material is restricted to PCS Licensees.

4a 4b

From Step 1

From Step 3

25

Make sure the round side of the Link 15 is inserted into the Clip Axle.

x2

x2

15

Level 1: Prog

ramm

ing fo

r Ro

bo

tics

Page 37: Discover Robotics & Programming

37©2014 PCS Edventures, Inc. All rights reserved. Use of this material is restricted to PCS Licensees.

6a 6b

From Step 4

From Step 5

4

x1

x2

The red wires plug into the left side of the Mini Motors.Plug into DC

Motor Port BPlug into DC Motor Port A

7

x1

The Dongle should not be attached if Brain is connected to a USB.

!

Leve

l 1: P

rog

ram

min

g fo

r Ro

bot

ics

Page 38: Discover Robotics & Programming

38 ©2014 PCS Edventures, Inc. All rights reserved. Use of this material is restricted to PCS Licensees.

58

x1

Finished Model

Level 1: Prog

ramm

ing fo

r Ro

bo

tics

Page 39: Discover Robotics & Programming

39©2014 PCS Edventures, Inc. All rights reserved. Use of this material is restricted to PCS Licensees.

POWERING THE MOTOR TESTING STATION:

• Power The Brain with either a battery, or through a power outlet using the DC power cord. The motors will be powered through The Brain.

PROGRAMMING THE BRAIN:

• In order to program The Brain, it must be connected to a computer or tablet via USB cable or Bluetooth.

• Physical Connection: Use a USB cable to connect The Brain to a computer that has the Cortex programming environment installed. The Bluetooth Dongle should be removed when using a USB cable.

• Wireless Connection: The Brain and Cortex can also communicate through Bluetooth signal to either a computer or tablet. Make sure the Bluetooth Dongle is attached.

• See The Brain & Cortex user guide (pages 15-27) for more details on connecting to your programming device.

Leve

l 1: P

rog

ram

min

g fo

r Ro

bot

ics

proJeCt 1 (Cont)

Page 40: Discover Robotics & Programming

40 ©2014 PCS Edventures, Inc. All rights reserved. Use of this material is restricted to PCS Licensees.

ORANGE: Motor commands Your Brain has 4 DC and 4 SERVO motor ports. Access this menu to select and control these DC and SERVO motor ports and set their power, direction, and onoff status.

RED: Procedures Proceduresare sections of code that you create and reuse for efficiency. Access this menu to create and call procedures, as well as create and set variables.

BLUE: Sensors Your Brain has 8 ports for Input and Output (I/O) that allow it to take readings from light, touch, and other kinds of sensors as well as send Output signals such as those that light up your LEDs. Access this menu to monitor and control these I/O ports.

LIME GREEN: Loops & Logic Access this menu to access and integrate important-programming features such as looping, repeat statements, if statements, and number comparators.

PURPLE: Miscellaneous Access this menu for things like notes and beeps and wait commands as well as cosmetically useful spacers to make your program easier to read.

MotorCommands

Procedure Commands

SensorCommands

LogicCommands

MiscCommands

Connect The Brain of your motor testing station to the computer/tablet using either:

1. The Bluetooth device or 2. A USB cable

Enabling Bluetooth: In order to connect to the Bluetooth function of The Brain, you will have to enable the Bluetooth settings on whichever machine (tablet, desktop, laptop) you are running the Cortex with. First set your machine to discoverable mode in the Bluetooth settings. Ensure that the Bluetooth dongle is attached to The Brain appropriately. Ensure that power is provided to The Brain with either the provided 9V battery pack, or with the AC/DC power cord (preferred for testing station). The Brain will automatically make itself discoverable, but you may have to instruct your operating machine to look for other Bluetooth devices. The Brain will show up as an option named PCS-BT; select it. Once The Brain is discovered then the machine will prompt you to enter a security code. The code is 1234. Once you have established the Bluetooth connection between your operating machine and The Brain, open the Cortex software. See page 21.

Level 1: Prog

ramm

ing fo

r Ro

bo

tics

proJeCt 1 (Cont)

Launch the Cortex programming environment. Click on the different color tabs in the Cortex. Identify the types of commands that are listed in each of the following tabs: orange, red, teal, lime green and purple in the Cortex (example below).

Page 41: Discover Robotics & Programming

41©2014 PCS Edventures, Inc. All rights reserved. Use of this material is restricted to PCS Licensees.

programming

The first step to programming is to write a procedure for your robot to follow. A procedure is a list of commands that when followed in order, will communicate a desired outcome.

In the Cortex programming environment you can grab commands from different colored tabs inside the menu and drag them into your program.

To include commands into your program they must appear in between the MAIN and END commands.

let’S write our FirSt program!

To program motors, identify each motor (using the MOTOR command) and tell them to turn on (ON FOR command). The “name” of each motor is the port it is plugged into (i.e. the motor plugged into port A is motor A).

Find the ON FOR command under the orange tab and drag it into place between the MAIN and END commands.

The ON FOR command has an arm extending off of it’s side, like many of the commands in the Cortex. This signifies that there is additional information required for this command to function.

Under the blue tab you will find a NUM (number) variable. NUM is a value that can be adjusted up or down by selecting the value inside. If you connect the NUM to the arm of the ON FOR command then it will complete the request. Double click on NUM to adjust the value.

Send your program to The Brain what happens?

Leve

l 1: P

rog

ram

min

g fo

r Ro

bot

ics

Page 42: Discover Robotics & Programming

42 ©2014 PCS Edventures, Inc. All rights reserved. Use of this material is restricted to PCS Licensees.

more programming!

Motors default to run in a particular direction, so as long as your DC motor cables are attached the same way, both motors will turn in the same direction. The REVERSE command will switch the direction the motor turns.

Program the motor testing station by recreating each of the following programs, one at a time, in the Cortex.

After you create each program, send it to The Brain and note what happens. Is it what you expected? If you are unsure, you can run your program multiple times by pressing RUN in the Status Bar, or by pressing the RUN/STOP button on The Brain.

Can you read your program and see why the motor is doing what it is doing? If not, talk it over with a peer and be sure you understand before moving on. For the next challenge, you’ll be asked to create codes using this samecomputer language.

Level 1: Prog

ramm

ing fo

r Ro

bo

tics

Page 43: Discover Robotics & Programming

43©2014 PCS Edventures, Inc. All rights reserved. Use of this material is restricted to PCS Licensees.

Using your motor testing station, create three separate programs to do the following:

Program 1: Make motor A run for 10 seconds and Motor B run for 5 seconds.

Program 2: Make motor B run for 5 seconds and then reverse for 8 seconds.

Program 3: Make motors A and B run simultaneously for 5 seconds and then reverse simultaneously for 5 seconds.

Adjust the value of NUM such that the flag attached to motor A spins around exactly 3 times and stops where it started.

Try the same challenge for motor B. Is the value that you used for motor A lesser (<), greater (>) or equal (=) to the value used in motor B for the same result? We will explore the answer in the next challenge.

Challenge 1Create Three Programs

Now that you have created your first programs, respond to the following prompts:

1. Which of the three programs was most difficult to create? Why?

2. Imagine you are going to coach another student who is about to repeat this challenge. Make a list of “tips and suggestions” for that student. Think about both the construction of your motor testing station and programming it.

a. Exchange your list with a classmate.

i. Give your companion feedback about how clear their list is (how easy it is to follow).

ii. Think about the items in their list that differ from your own. Are there any that you would like to add to your list?

b. Colaborate in your pair group on one or two most important tips from your lists and record them in the class list on the board.

Reflect

1lev

el

Leve

l 1: P

rog

ram

min

g fo

r Ro

bot

ics

Page 44: Discover Robotics & Programming

44 ©2014 PCS Edventures, Inc. All rights reserved. Use of this material is restricted to PCS Licensees.

Project 2This Way / That Way

This is how The Brain will read this program:

Motor A SET PWR 85%

Motor B SET PWR 100%

Motors A and B go THAT WAY

Turn ON FOR for 5 seconds

As you can see, you must give specifics to each motor individually, then call both motors again to turn on at the same time.

All programs are being interpreted by The Brain from the top of the program after the MAIN command through the END command at the bottom. Motors need to be identified in a command before they can follow directions.

When programming, motors default to the direction known as THIS WAY, which is one of the motor commands that can be found in the Cortex. In order to specify a desired direction, THIS WAY and THAT WAY commands must be used.

Motors also default to run at 100% power. In order to specify the percentage of power, the SET PWR (set power) command must be used. This is helpful because, as shown in project 1, each DC motor is a little different.

Check out the following new commands: SET PWR, THIS WAY, and THAT WAY,.

Program your motor testing station using each of the following program procedures. Always check to make sure your testing station matches the description of what it says it should do:

1lev

el

Level 1: Prog

ramm

ing fo

r Ro

bo

tics

* Note that you’ll need to set the power differently for your test, according to the specific motors that you have, in order for both motors to spin at the same speed.

Page 45: Discover Robotics & Programming

45©2014 PCS Edventures, Inc. All rights reserved. Use of this material is restricted to PCS Licensees.

This program is very similar, do you see the difference?

After running the program on the motor testing station, read it in it’s sequence just as we did with the one above.

Does the way you read the program match with how it performs?

In this program,

Motor A runs THIS WAY

Motor B set to go THAT WAY

Motors A and B turn ON FOR 5 seconds

You can see that in order to turn both motors on, after stating their direction,both motors had to be named once again at the same time.

Leve

l 1: P

rog

ram

min

g fo

r Ro

bot

ics

Page 46: Discover Robotics & Programming

46 ©2014 PCS Edventures, Inc. All rights reserved. Use of this material is restricted to PCS Licensees.

SET PWR, THIS WAY, and THAT WAY are all global commands, which means that once you use them, they are true for the rest of the program unless you say otherwise. That is, selecting THIS WAY means the motor will always turn this way until you tell it to turn THAT WAY (if you choose to do that), even if you tell it to stop and then restart, change its power level, etc. All other commands are known as local commands because once they have been used in a program, they will no longer be true. For example, if BEEP or WAIT are part of a program, once they have performed their function (or that moment of the program has passed) they will no longer play a role in that program.

There are four light-emitting diodes (LEDs) on The Brain that correspond to the DC Motor ports. Identify the location of the DC motor LEDs on The Brain and try to explain what it means when they are illuminated.

This program is very similar, do you see the difference?

After running the program on the motor testing station, read it in it’s sequence just as we did with the oneabove.

Does the way you read the program match with how it performs?

Level 1: Prog

ramm

ing fo

r Ro

bo

tics

* Note that you’ll need to set the power differently for your test, according to the specific motors that you have, in order for both motors to spin at the same speed.

Page 47: Discover Robotics & Programming

47©2014 PCS Edventures, Inc. All rights reserved. Use of this material is restricted to PCS Licensees.

Using your motor testing station, create programs to do the following:

1. Make motors A and B simultaneously run THIS WAY for 5 seconds, and then run THAT WAY for 5 seconds.

2. Make motors A and B simultaneously run in opposite directions for 5 seconds, and then both switch for another 5 seconds.

3. Experiment with the SET PWR command on motors A and B. Adjust the percentage of power until you can get both motors to run at the same speed.

These motors are manufactured in large numbers using the exact same specifications each time. Why do you think that different motors might not go the same speed when both powered at 100%? Come up with some hypotheses for now and record them in your journal.

After recording your ideas, participate in a class discussion about this. Consider others’ ideas and record in your journal those that you might like to explore later.

Reflect

Challenge 2This Way / That Way

1lev

el

Leve

l 1: P

rog

ram

min

g fo

r Ro

bot

ics

Page 48: Discover Robotics & Programming

48 ©2014 PCS Edventures, Inc. All rights reserved. Use of this material is restricted to PCS Licensees.

Computers are great at following instructions; often better than our own bodies. You will program four different motors to do four different things, but have them all run at the same time. You need to decide what four actions to program the motors to do. Here are the requirements:

1. Add two more motors to your motor testing station.

a. Decide how you would like to connect them to your baseplate, be sure all motors are facing the same direction so that you can see how they run differently or the same.

b. All motors should be plugged into the ports and named A, B,C, and D.

2. Before actually writing the program, predict exactly what you would like to happen to each motor (record your goals in your journal).

a. You must demonstrate the appropriate use of each command you learned about (MOTOR, REVERSE, THIS WAY, THAT WAY, SET PWR, and ON FOR).

ReflectMake a record of your project in the project section of your journal. This includes:

1. Goals

a. What were you trying to accomplish?

2. Procedure

a. How did you go about trying to achieve your goals?

3. Conclusions

a. What went well?

b. What useful techniques, skills, and ideas did you discover?

i. Focus on things that you might use in the future for other problems/challenges.

4. Evidence/Reasoning

a. Why do you think that these techniques, skills, and ideas are useful? What did you do or observe that shows they might be important?

Personal Project Computational Multitasking

1lev

el

3. Get two classmates to sign off on your plan before starting to write your program. They should be able to clearly understand what your program is supposed to do, and give feedback if anything is unclear or confusing. These same students will serve as your audience (if they’re both available) when it comes time to test your program.

4. You must demonstrate the appropriate use of each command you learned about (MOTOR, REVERSE, THIS WAY, THAT WAY, SET PWR, and ON FOR).

5. When you have written your program and are ready to conduct your trial, gather two witnesses to read through your written plan and observe the trial (they can be the same or different classmates).

6. After conducting the trial, record any differences between your plan and the outcome.

7. If there’s time, make adjustments to your code as needed to achieve your stated goals. If there isn’t time, at least record which adjustments you plan to make.

Level 1: Prog

ramm

ing fo

r Ro

bo

tics

Page 49: Discover Robotics & Programming

49©2014 PCS Edventures, Inc. All rights reserved. Use of this material is restricted to PCS Licensees.

Robot — A machine capable of carrying out a complex series of actions automatically, especially one programmable by a computer. A robot uses a mechanical system which is controlled by an electrical system. That electrical system can be programmed to autonomously perform a task.

Computer Programming — Creating a sequence of instructions that enables a computer to perform a specific function.

Micro Controller — A small computer on a single integrated circuit containing a processor core, memory, and programmable input/output (I/O) peripherals. They are used in automatically controlled products and devices. The micro controller used at PCS Edventures is called The Brain.

Procedure — A set of commands that can be executed in order.

DC Motor — An electric motor powered from direct current. It uses electricity and a magnetic field to produce torque, which causes it to turn.

Polarity — Refers to a magnetic orientation. It is the magnetic property of an object that makes it attracted to or repelled by a magnet or electric current. An electric charge has a polarity of either positive or negative.

Port — A specialized outlet on a piece of equipment to which a plug or cable connects and works as an interface between any combination of computers or peripheral devices.

Cables — Two or more wires running side by side that are bonded, braided, or twisted together to form a single assembly.

LED — Stands for light-emitting diode. LEDs are semiconductor light sources that are used as indicator lamps in many devices. When a light-emitting diode is switched on, electrons pass through and create light photons.

Global Command — A command in the Cortex that is true throughout the duration of a program, unless instructed otherwise. For example, SET PWR, THIS WAY, and THAT WAY are all global commands.

Local Command — Unlike a global command, a local command in the Cortex is only true to a program for its specified purpose or duration. Once a local command has performed its function (or that moment of the program has passed) it will no longer play a role in that program. To make a local command true throughout a program, a LOOP function is required.

Motor Command — Chose motor(s) to control

ON FOR — Turns selected motor(s) on for specific time

THIS WAY — Sets direction of selected motor(s) to run THIS WAY. Global command, so the motors will always turn THIS WAY unless otherwise specified.

THAT WAY — Sets direction of selected motor(s) to run THAT WAY. Global command, so the motors will always turn THAT WAY unless otherwise specified.

REVERSE — Reverses direction of selected motor(s). Global command, so the motors will always reverse unless otherwise specified.

SET PWR — Sets power level on selected motor(s). Global command, so the motors will be set at that power unless otherwise specified

NUM — Enter a number value. Value will change depending on what is connected to ex. time, frequency, etc.

Concepts & Key Terms1le

ve

l

Leve

l 1: P

rog

ram

min

g fo

r Ro

bot

ics

Page 50: Discover Robotics & Programming

50 ©2014 PCS Edventures, Inc. All rights reserved. Use of this material is restricted to PCS Licensees.

In this level, you will continue to experiment with the basics of programming with The Brain robotic controller using the Cortex programming environment. You will build a basic robot out of fischertechnik® building elements and program it to complete different projects and challenges.

Programming Useful Behaviors

level two

Page 51: Discover Robotics & Programming

51©2014 PCS Edventures, Inc. All rights reserved. Use of this material is restricted to PCS Licensees.

Program a robot to execute a simple set of commands.

Start by building your robot—his name is RiQ.

You will use RiQ to complete multiple projects and challenges in subsequent activities. Follow the building plan. When it is complete, the RiQ will look like this:

Project 1Build Your Robot

2level

Project 1: Build Your Robot Extension Reflect

Project 2: Identity CommandsChallenge1: Circle Bot

Teaching Approach More Extensions Reflect

Challenge 2: The Big Enchilada Reflect Teaching Approach

Personal Project: Make Your Bot Draw Reflect

Key Concepts

level twoSChedule

Leve

l 2: P

rog

ram

min

g U

sefu

l Beh

avio

rs

Page 52: Discover Robotics & Programming

52 ©2014 PCS Edventures, Inc. All rights reserved. Use of this material is restricted to PCS Licensees.

Materials you will need:

Level 2: Prog

ramm

ing U

seful Behavio

rs

Page 53: Discover Robotics & Programming

53©2014 PCS Edventures, Inc. All rights reserved. Use of this material is restricted to PCS Licensees.

Leve

l 2: P

rog

ram

min

g U

sefu

l Beh

avio

rs

Page 54: Discover Robotics & Programming

54 ©2014 PCS Edventures, Inc. All rights reserved. Use of this material is restricted to PCS Licensees.

Level 2: Prog

ramm

ing U

seful Behavio

rs

Page 55: Discover Robotics & Programming

55©2014 PCS Edventures, Inc. All rights reserved. Use of this material is restricted to PCS Licensees.

Leve

l 2: P

rog

ram

min

g U

sefu

l Beh

avio

rs

Page 56: Discover Robotics & Programming

56 ©2014 PCS Edventures, Inc. All rights reserved. Use of this material is restricted to PCS Licensees.

Level 2: Prog

ramm

ing U

seful Behavio

rs

Page 57: Discover Robotics & Programming

57©2014 PCS Edventures, Inc. All rights reserved. Use of this material is restricted to PCS Licensees.

Leve

l 2: P

rog

ram

min

g U

sefu

l Beh

avio

rs

Page 58: Discover Robotics & Programming

58 ©2014 PCS Edventures, Inc. All rights reserved. Use of this material is restricted to PCS Licensees.

Level 2: Prog

ramm

ing U

seful Behavio

rs

Page 59: Discover Robotics & Programming

59©2014 PCS Edventures, Inc. All rights reserved. Use of this material is restricted to PCS Licensees.

Leve

l 2: P

rog

ram

min

g U

sefu

l Beh

avio

rs

Page 60: Discover Robotics & Programming

60 ©2014 PCS Edventures, Inc. All rights reserved. Use of this material is restricted to PCS Licensees.

Level 2: Prog

ramm

ing U

seful Behavio

rs

Page 61: Discover Robotics & Programming

61©2014 PCS Edventures, Inc. All rights reserved. Use of this material is restricted to PCS Licensees.

Leve

l 2: P

rog

ram

min

g U

sefu

l Beh

avio

rs

Page 62: Discover Robotics & Programming

62 ©2014 PCS Edventures, Inc. All rights reserved. Use of this material is restricted to PCS Licensees.

Level 2: Prog

ramm

ing U

seful Behavio

rs

Page 63: Discover Robotics & Programming

63©2014 PCS Edventures, Inc. All rights reserved. Use of this material is restricted to PCS Licensees.

Leve

l 2: P

rog

ram

min

g U

sefu

l Beh

avio

rs

Page 64: Discover Robotics & Programming

64 ©2014 PCS Edventures, Inc. All rights reserved. Use of this material is restricted to PCS Licensees.

Level 2: Prog

ramm

ing U

seful Behavio

rs

Page 65: Discover Robotics & Programming

65©2014 PCS Edventures, Inc. All rights reserved. Use of this material is restricted to PCS Licensees.

Finished Model

Attaching LED - Option A

Leve

l 2: P

rog

ram

min

g U

sefu

l Beh

avio

rs

Page 66: Discover Robotics & Programming

66 ©2014 PCS Edventures, Inc. All rights reserved. Use of this material is restricted to PCS Licensees.

Alternate Option BOption A

Attaching Touch Sensors - Option A

Level 2: Prog

ramm

ing U

seful Behavio

rs

Page 67: Discover Robotics & Programming

67©2014 PCS Edventures, Inc. All rights reserved. Use of this material is restricted to PCS Licensees.

Option A Alternate Option B

Attaching Light Sensors - Option A

Leve

l 2: P

rog

ram

min

g U

sefu

l Beh

avio

rs

Page 68: Discover Robotics & Programming

68 ©2014 PCS Edventures, Inc. All rights reserved. Use of this material is restricted to PCS Licensees.

Alternate Option BOption A

Level 2: Prog

ramm

ing U

seful Behavio

rs

x2

Attaching IR Sensors - Option A

Page 69: Discover Robotics & Programming

69©2014 PCS Edventures, Inc. All rights reserved. Use of this material is restricted to PCS Licensees.

Option A

Option A

Leve

l 2: P

rog

ram

min

g U

sefu

l Beh

avio

rs

Page 70: Discover Robotics & Programming

70 ©2014 PCS Edventures, Inc. All rights reserved. Use of this material is restricted to PCS Licensees.

Level 2: Prog

ramm

ing U

seful Behavio

rs

Once RiQ is built, write this program in Cortex that will move RiQ forward approx 60 cm (depending on your motors), then backward for the same distance.Measure and mark 60cm using the black electrical tape.

RiQ must travel on a 60 cm line segment (marked on the floor with tape) so it starts and ends at the same point.

You might notice that the motors are set at different power levels. Each motor is different, so you’ll need to adjust the power level for each to get RiQ to drive in a straight line.

This program is instructing RiQ to:

Motor A to SET PWR (set power) to 85%

Motor B to SET PWR to 100%

Motor A & B THIS WAY and ON FOR 3 seconds, then THAY WAY ON FOR 3 seconds

All programs are being interpreted by RiQ from the top of the program after the MAIN command through the END command at the bottom. Motors need to be identified in a command before they can follow directions.

Start programming

Page 71: Discover Robotics & Programming

71©2014 PCS Edventures, Inc. All rights reserved. Use of this material is restricted to PCS Licensees.

1. Using a stopwatch and 60cm line previously measured and marked with tape, calculate the speed of robot at maximum power (remember that one motor will probably need to run with less than 100% to get a straight line).

Speed = Distance / Time

2. Once you have decided on a method of figuring this out, share it with at least one other group. The goal is to agree that your method (and theirs) will work. Don’t calculate the speed until you are confident of your method (at least an 8 out of 10 confidence).

3. When you have measured the speed of your robot at maximum power, and you are confident that it is correct (were you able to consistently repeat the measurement?), add your speed to the table at the front of the room.

4. Attempt to explain any differences in speed between the groups. If some values are dramatically different, try to figure out if any group had a systematic problem (i.e. with their procedure).

5. Have a class discussion about sources of error.

6. After the discussion, write down definitions for systematic error and random error in the “notes/suggestions” section of your journal.

Extension

Leve

l 2: P

rog

ram

min

g U

sefu

l Beh

avio

rs

Page 72: Discover Robotics & Programming

72 ©2014 PCS Edventures, Inc. All rights reserved. Use of this material is restricted to PCS Licensees.

In your journal, respond to the following prompts:

1. Did your RiQ start and end in precisely the same place?

a. Was your code perfect for accomplishing the goal?

b. What factors might have compromised the precision of the bot’s behavior?

c. Think about and list the uncontrolled variables. What makes you think that each is significant?

2. Compare the interactive program (accelerometer or joy stick) with the specific program you used. Describe the advantages of each (interactive vs. specific program).

3. Try to imagine a use for RiQ. That is, imagine that you can program it to do anything that is physically possible for it to do (considering its design).

a. What would you like to be able to program it to do? Bonus points if your idea helps to solve a problem that really exists.

b. Record your ideas on the class board.

Reflect

Level 2: Prog

ramm

ing U

seful Behavio

rs

Page 73: Discover Robotics & Programming

73©2014 PCS Edventures, Inc. All rights reserved. Use of this material is restricted to PCS Licensees.

Identify the types of commands that are in the PURPLE tab in the Cortex: The Purple tab in Cortex contains miscellaneous commands. We will be using two new commands it this next program, the BEEP and WAIT commands.

To understand these commands, BEEP and WAIT, start by programming RiQ using each of the following programs:

Project 2Identity Commands Beep & Wait

2levelLe

vel 2

: Pro

gra

mm

ing

Use

ful B

ehav

iors

BEEP

WAIT for 3 seconds

BEEP

In this program, no motors will be running.

Motors A and B

Turn ON FOR 3 seconds

WAIT for 3 seconds

Turn ON FOR 3 seconds

BEEP

Page 74: Discover Robotics & Programming

74 ©2014 PCS Edventures, Inc. All rights reserved. Use of this material is restricted to PCS Licensees.

With your team, select a diameter length (D), greater than 60 cm. Measure and mark your diameter with tape on the floor.

Your goal is to successfully program RiQ to drive in a circle with a diameter (D, specified above) on the first try. RiQ must go halfway, beep, wait for 2 seconds, beep, and then complete the circle.

Challenge 1Circle Robot

2level

Level 2: Prog

ramm

ing U

seful Behavio

rs

Page 75: Discover Robotics & Programming

75©2014 PCS Edventures, Inc. All rights reserved. Use of this material is restricted to PCS Licensees.

In your journal, draw conclusions about calculating speed, circle circumference, error calculations, pi.

Support those conclusions with evidence:

Describe specific experiences so that someone else will understand the connection between your experiences and conclusions without having been there.

Reflect

Leve

l 2: P

rog

ram

min

g U

sefu

l Beh

avio

rs

Page 76: Discover Robotics & Programming

76 ©2014 PCS Edventures, Inc. All rights reserved. Use of this material is restricted to PCS Licensees.

Successfully program RiQ to navigate the “Big Enchilada” obstacle course and beep at the end. There are multiple ways to program RiQ to turn. However, if you want to rotate RiQ with a center pivot point, both wheelsmust be moving at the same time.

**Hint: use THIS WAY and THAT WAY. Your code can be quite long.

Usually, it is best to code each part of the course, one at a time, testing each section. Then combine the codes at the end. You can also build on each section after it is tested.

Predict, as precisely as possible, the time it will take RiQ to run the program that you write to complete the course. Use your speed calculation technique from previous activities.

1. Debugging is a critical part of programming. It is rare for a code of any difficulty to work the first time perfectly.

Working with your team, try to come up with some tips/tricks for debugging that you would give to someone attempting this challenge for the first time.

2. Compare your method with those used by your peers.

What seem to be the strengths of your process for this kind of problem solving

What were the advantages of alternative approaches?

Or,

If you were to repeat this challenge, what would you do differently?

Challenge 2The Big Enchilada

2level

Reflect

Level 2: Prog

ramm

ing U

seful Behavio

rs

Page 77: Discover Robotics & Programming

77©2014 PCS Edventures, Inc. All rights reserved. Use of this material is restricted to PCS Licensees.

Drive through the Big Enchilada using the Accelerometer and it’s program included in Cortex.

To use the Accelerometer, you must use a tablet. Instructions for connecting the tablet to RiQ will be found on page 17.

Before being able to write this program, you must pull the Accelerometer onto the User Interface Canvas.

The Accelerometer will work if the program is correctly written, the Accelerometer is on the UI Canvas, you have Compiled and are running the program from Cortex.

What do you notice when driving through the Big Enchilada?

Is it easier or more difficult than programming? Are you as accurate? Record this in your Journal.

Extension

Leve

l 2: P

rog

ram

min

g U

sefu

l Beh

avio

rs

Page 78: Discover Robotics & Programming

78 ©2014 PCS Edventures, Inc. All rights reserved. Use of this material is restricted to PCS Licensees.

Place a dry-erase marker in the pen holder on RiQ, robot and program it to draw something recognizable— a shape, letter, name, etc. (may not be a circle or a straight line).

This is Level 2 so it should show some level of difficulty. Then, clear your canvas to move to the next project.

Make a record of your project in the project section of your journal. This includes:

1. Goals

a. What were you trying to accomplish?

2. Procedure

a. How did you go about trying to achieve your goals?

3. Conclusions

a. What went well?

b. What useful techniques, skills, and ideas did you discover?

i. Focus on things that you might use in the future for other problems/challenges.

4. Evidence/Reasoning

a. Why do you think that these techniques, skills, and ideas are useful? What did you do or observe that shows they might be important?

Personal Project Turn RiQ into an Artist

2level

Reflect

Level 2: Prog

ramm

ing U

seful Behavio

rs

Page 79: Discover Robotics & Programming

79©2014 PCS Edventures, Inc. All rights reserved. Use of this material is restricted to PCS Licensees.

Robot — A machine capable of carrying out a complex series of actions automatically, especially one programmable by a computer. A robot uses a mechanical system which is controlled by an electrical system. That electrical system can be programmed to autonomously perform a task.

Debug — A systematic process of finding and correcting errors in a sequential instruction set. In coding/programming, debugging involves finding code errors in order to get the desired output

Pivot Point — The center point of any rotational system. A central point on which something balances or turns.

Line Segment — A part of a line that is bounded by two end points.

Circle — A round plane figure whose boundary (the circumference) consists of points equidistant from a fixed point (the center).

Diameter — A straight line passing from side to side through the center of a body or figure, esp. a circle or sphere.

Circumference — The distance around the outside of a circle.

Speed — The ratio of distance to time for a moving object. To calculate speed use this formula: Speed = Distance / Time

Accelerometer — A device that senses any change in orientation (e.g. tipping). Whenever you rotate a cell phone, tablet, etc, and the screen rotates, it is because the accelerometer has recognized that the device changed orientation. This device is used by the tablets when you control the bot by tipping the tablet.

Variables — Changeable values which are stored until they are changed by users or programs. Experiments are performed by changing variables

Uncontrolled Variables — Some variables cannot be controlled in experiments. Some examples can be temperature, humidity, noise, or any other conditions that you cannot control.

Systematic — Done or performed methodically, according to a fixed program.

Pi — The relationship between a circle’s diameter and its circumference is an irrational number—a number that never stops or repeats itself. To make pi manageable, it is usually abbreviated to 3.14

Absolute Error — The difference between the value measured, and the value expected.

Percent Error — The absolute error divided by the expected value.

BEEP — Play a short beep.

WAIT — Delay for a given time

Concepts & Key Terms 2levelLe

vel 2

: Pro

gra

mm

ing

Use

ful B

ehav

iors

Page 80: Discover Robotics & Programming

80 ©2014 PCS Edventures, Inc. All rights reserved. Use of this material is restricted to PCS Licensees.

In this level, you will continue to experiment with programming robots. You will create subroutines in the Cortex. Programming with subroutines helps to keep your program more concise and enables you to conveniently reuse a programming strand. You will also begin to use digital sensors and LEDs to give RiQ sensory feedback and information processing features.

Procedures & Logic

level three

Page 81: Discover Robotics & Programming

81©2014 PCS Edventures, Inc. All rights reserved. Use of this material is restricted to PCS Licensees.

level three

proCedureS and CallS

In this project, we will write a procedure called “STRAIGHT”, which will enable RiQ to run in a straight line.

1. Procedure

a. In the Procedures tab (RED), choose the PROCEDURE command.

b. Once it is on your canvas, click on the command and rename it “STRAIGHT”.

c. Attached to this procedure, you will create your program for RiQ to go in a straight line.

d. Use the program here as an example, remember your

SET PWR is dependent on your motors.

2. Call -To get this procedure to run, you must CALL it out.

a. In the Procedures tab (RED) grab CALL and place it under the MAIN command on the canvas.

b. Click on the CALL command and choose STRAIGHT.The CALL command will always have a list of procedures that have been named, be sure to choose the correct one.

c. Finish your MAIN program with END

Note: You must create the PROC before adding the CALL to the MAIN program strand. In this example, the left code is the procedure, and the main program is calling it on the right.

Project 1Procedures, Calls, Repeats, and Loops

3level

level threeSChedule

Leve

l 3: P

roce

dur

es in

the

Co

rtex

Project 1: Procedures, Calls, Repeats, and Loops Extension Reflect

Challenge 1: Spirograph Robot Reflect Extension

Project 2: Adding Sensors Extension

Challenge 2: Bounce Robot Extension

Personal Project: IF & IF ELSE commands... Reflect Extension

Key Concepts

Page 82: Discover Robotics & Programming

82 ©2014 PCS Edventures, Inc. All rights reserved. Use of this material is restricted to PCS Licensees.

repeat Command

Insert the REPEAT command, adding it to the existing program, to make RiQ travel in a square (ending in the same spot it started). REPEAT is used when you want to have the same program happen more than once.

1. In the Logic Tab (GREEN), choose the REPEAT command and insert into the program as shown below. Since a square has 4 straight lines and 4 corners, you will want to repeat your program 4 time.

2. Send to the Brain.

3. Run the program

a. Record what happens in your journal conclusion section by describing how a subroutine works.

4. Modify the program so that RiQ makes a 90 degree right turn, and then travels in a straight line for 30 cm. Using the programs below to createprocedures you can then call into your program.

Level 3: Proced

ures in the Co

rtex

a. You will need to have two PROC, one with a straight program and one with a right turn program. Name these STRAIGHT and RTURN.

b. Under your MAIN command, you will only have two CALLs STRAIGHT and RTURN.

c. Run your Program. If RiQ does not do this correctly (straight line and 90 degree turn), adjust your SET PWR and ON FOR.

Be sure that each step is perfected before moving on to the next activity.

To save programs see page 23.

proCedureS & CallS (Cont)

3. Before moving on make sure that your square is close to perfect.

You may need to troubleshoot SET

PWR and ON FOR

Page 83: Discover Robotics & Programming

83©2014 PCS Edventures, Inc. All rights reserved. Use of this material is restricted to PCS Licensees.

loopS

LOOPs repeat the attached code infinitely until a BREAK command is reached or the user stops the program.

1. Insert the LOOP command to the existing program as shown below. Everything that you want to repeat indefinitely should be attached to the arm of the LOOP command.

2. Send your program to The Brain

3. RiQ will repeatedly draw squares until you press the RUN/STOP button.

How could you rewrite your program for Big Enchilada from Level 2 using procedures?

This extension is intended to reinforce the efficiency of using Procedures and Calls rather than long, hard to follow programs.

1. In your questions/hypotheses section, propose a situation where this kind of programming (loops and repetitions) might be very helpful. Hint: Loops are among the most commonly used coding commands.

Extension

Reflect

Leve

l 3: P

roce

dur

es in

the

Co

rtex

Page 84: Discover Robotics & Programming

84 ©2014 PCS Edventures, Inc. All rights reserved. Use of this material is restricted to PCS Licensees.

Modify your square program so that RiQ repeats the square 36 times, but turns approximately 10 degrees between executions (after each square) to create a “spirograph” effect of 36 squares. You will end up with an entire circle of overlapping squares if RiQ is programmed accurately.

Complex Subroutines - Research and define fractal in your journal.

Imagine you want your RiQ to draw a row of flowering plants, each with these spirographs for the flowers. Now imagine the rows themselves are giant spirographs.

Journal about what kind of code might be used to create a fractal. See if you can identify what the most difficult part of that program might be.

Spirograph Robot

3level Challenge 1

Extension

Level 3: Proced

ures in the Co

rtex

Page 85: Discover Robotics & Programming

85©2014 PCS Edventures, Inc. All rights reserved. Use of this material is restricted to PCS Licensees.

In your conclusions section, describe how you used subroutines, LOOPs and REPEATs to accomplish your goals in this challenge.

Leve

l 3: P

roce

dur

es in

the

Co

rtex

Reflect

Page 86: Discover Robotics & Programming

86 ©2014 PCS Edventures, Inc. All rights reserved. Use of this material is restricted to PCS Licensees.

Sensor Testing Station

Build a sensor testing station using the image below. It can be built however you like, as long as you have:

2 touch sensors (plugged into sensor ports 0 and 1)

1 pink LED in port 2

1 blue LED in port 3

1 motor mounted with a link 30 to help indicate the direction of rotation.

Program It!

Recreate the program seen here to program your lights to turn on and your motor to run when either touch sensor is pressed.

1. Attach MOTOR A and ON (not ON FOR) to the MAIN command

a. We are using ON here since it goes directly into a LOOP.

Sensors provide information about the environment, and can be used to trigger robotic responses. Light, motion, sound, and touch can all be programmed to activate certain routines in your program via sensor inputs. This project will teach you how to start using sensors and logic commands.

IF & IF ELSE commands, LED's, and LIGHT ON

3level Project 2

Level 3: Proced

ures in the Co

rtex

2. Add the LOOP and IF ELSE commands.

a. An IF ELSE command is used when you want to activate one code or another, here they would be activated by touch sensors.

b. Attached to the IF ELSE command is the SENSOR command bar you will change the number according to the port it is plugged into. In this case, it is port 0.

c. Under the first arm of the IF ELSE command will be the program you want to run when the touch sensor is activated that is associated to port 0.

i. IF sensor 0 is activated, the program states that MOTOR A will go THIS WAY, the LED in port 2 will turn on, and the LED in port 3 will turn off.

Page 87: Discover Robotics & Programming

87©2014 PCS Edventures, Inc. All rights reserved. Use of this material is restricted to PCS Licensees.

This is the first time you are using an IF ELSE command. As you might imagine, the IF ELSE code is about as important as loops are.

1. On a piece of paper, write down some cases where you, yourself, are operating on an if else instruction (e.g. if I mow the lawn, the grass is cut, else it will be too long and I’ll lose my cat).

2. Share your ideas with your group and decide on one or two to share with the class.

Where have you seen a robotic sensor in your everyday life?

1. In your group, come up with as many examples of robotic sensors as possible. Create a list.

2. Within your group, discuss each example and decide whether it is truly a robotic sensor. To do this, you’ll need to agree on what defines a robotic sensor together.

3. Once you are satisfied with your list, add any new examples to the class list at the front of the room. Bonus for the most interesting examples.

What mechanical devices might benefit from the incorporation of a sensor (or sensors)?

1. Think about what sensors can do in terms of efficiency, diligence, and precision.

a. Record your ideas in the question/hypothesis section of your journal, so that you might test them later.

Extension

Leve

l 3: P

roce

dur

es in

the

Co

rtex

3. IF is attached to the second arm of the IF ELSE command.

a. IF touch sensor 1 is activated, the same motor will go THAT WAY, LED 3 will turn on and LED 2 will turn off.

4. Because we used the ON command at the beginning of this program, those lights and motors will stay on indefinitely until the other strand is activated.

Send the program and press the touch sensors. Does it do what you thought it would do? Read through theprogram and say it (or think it) in a sentence format.

Page 88: Discover Robotics & Programming

88 ©2014 PCS Edventures, Inc. All rights reserved. Use of this material is restricted to PCS Licensees.

1. Modify RiQ so that it has touch sensors on the front and back and pink and blue LEDs mounted on the frame. See page 64 and 65 for ideas on how to attach the touch sensors.

2. Program RiQ to run forward (with the blue light on) until the front touch sensors is activated, run backward (with the pink light on) until the rear touch sensor is activated.

3. Make a record of your code in your journal.

Write a program that allows you to drive with the accelerometer (accelerometer code shown here), but coordinates the pink and blue LEDs with backward and forward motion. That is, modify this code so that when you drive the RiQ by tipping the tablet in such a way that it always shines a blue light when traveling forward and a pink light when traveling backward.

This is tricky. If you look at the control screen, you can see where the inputs are coming from in this code (x - left and right, y - forward/backward. See below.

• Write down tips and suggestions in your notes/reminders section so that you can refer to them when programming with sensors later.

See the extension in Level 2, Challenge 1 for a reminder on how to work the Accelerometer program.

Bounce Robot

3level Challenge 2

Extension

Level 3: Proced

ures in the Co

rtex

Page 89: Discover Robotics & Programming

89©2014 PCS Edventures, Inc. All rights reserved. Use of this material is restricted to PCS Licensees.

Program your robot to do something either useful or clever. It should be controlled by at least one sensor incorporated into an IF ELSE statement.

Make a record of your project in the project section of your journal. This includes:

1. Goals

a. What were you trying to accomplish?

2. Procedure

a. How did you go about trying to achieve your goals?

3. Conclusions

a. What went well?

b. What useful techniques, skills, and ideas did you discover?

i. Focus on things that you might use in the future for other problems/challenges.

4. Evidence/Reasoning

a. Why do you think that these techniques, skills, and ideas are useful? What did you do or observe that shows they might be important?

Look back at your class list of possible uses/applications of RiQ from LeveL 2. Are there any that you think you might be able to accomplish now that you have more advanced skills? If so, select one to work on. Once you get it to work, you will later present your program to the class.

Personal Project IF ELSE Statements

3level

Reflect

Extension

Leve

l 3: P

roce

dur

es in

the

Co

rtex

Page 90: Discover Robotics & Programming

90 ©2014 PCS Edventures, Inc. All rights reserved. Use of this material is restricted to PCS Licensees.

Subroutine — A set of commands that can be executed in order, and can be called from different places in the main procedure of the program.

Robotic Sensing and Sensory Feedback — Sensors provide specific measurements to robots. The information sensors send is specific for each kind of sensor. They can measure things in the

environment like color or distance, and they can measure conditions on the robot itself like motor rotation (distance). With conditional statements in a their programming, sensors allow robots to adjust paths or actions during operation, which helps them accomplish their tasks.

Information Processing — The change of information in any manner detectable by an observer. When applied to robotics, it is the use of algorithms to transform data that is received through sensors.

Event — An action or occurrence detected by the program that may be handled by the program.

Condition — Also called conditional statements, conditional expressions, or conditional constructs. Features of a programming language which performs different actions or events depending on a programmer’s specified Boolean condition.

Digital Sensor — An electronic or electrochemical sensor, where data conversion and data transmissions are done digitally.

Touch Sensor — A type of switch that only has to be touched by an object to be activated.

LED — Light Emitting Diode

IF — If the described condition is met, the attached code will run.

IF ELSE — If the described condition is met, the attached code will run. Else, if the condition is not met, the second branch of defined code will run.

Sensosr Command Tab — Represents the value of a selected sensor and it’s port.

LIGHT ON — Turns ON the LED connected to a specified port.

LIGHT OFF — Turns OFF the LED connected to a specified port.

ON — Turns selected motor(s). Must be in a loop to be useful.

3level

Concepts & Key Terms

Level 3: Proced

ures in the Co

rtex

Page 91: Discover Robotics & Programming

91©2014 PCS Edventures, Inc. All rights reserved. Use of this material is restricted to PCS Licensees.

In LeveL 4, you will be expanding the ways in which you can use sensors, as well as practicing with some more sophisticated computer programming. Your robot will become more powerful, along with your programming knowledge.

Expanding Programming Knowledge

level Four

Page 92: Discover Robotics & Programming

92 ©2014 PCS Edventures, Inc. All rights reserved. Use of this material is restricted to PCS Licensees.

Calibrating Sensors

You will be using different types of sensors in this project. Here’s how to calibrate them.

The value being “sensed” by the sensor will be reported back to the PCS Cortex Interface in the Sensor Output area at the bottom of the

screen. If you are sending the value for the sensor plugged into, say, Port 0 on The Brain, the value being reported will show up in the small text area with a “0” above it.

NOTE: Depending on the sensor you have chosen to test, values will appear in the Sensor Output Box and should range as such:

IR SENSOR:

You should see numbers between 0 and 1024 with 0 implying no IR light is being reflected back to the IR Sensor. Higher numbers imply more IR light is being reflected back to the sensor. Cover the sensor with your hand to make sure the reading is changing appropriately.

LIGHT SENSOR:

There are two connecting ports for the light/photo sensor. USE ONLY ONE AT A TIME. One port will read a high value when exposed to light. The other will read a low value when exposed to light. You will see numbers between 0 and 1024 with 0 implying no ambient light is being reflected to the Light Sensor.

Project 1: Infrared & UltrasonicProject 2: Light Sensors

ReflectChallenge 1: Light and Seek Robot

Extension Reflect

Challenge 2: Enchilada with Sauce Reflect Extension

Personal Project: Challenge/Counter-Challenge Reflect Extension

Key Concepts

level FourSChedule

Infrared & Ultrasonic

4level Project 1

Level 4: Exp

anding

Prog

ramm

ing K

now

ledg

e

Page 93: Discover Robotics & Programming

93©2014 PCS Edventures, Inc. All rights reserved. Use of this material is restricted to PCS Licensees.

Add the Sensors!

Build or modify RiQ so that it has two infrared sensors mounted to the bottom of the frame next to each wheel (under the bb30s that The Brain is connected to). The ultrasonic sensor should already be attached (the eyes), if not, connect the ultrasonic sensor so that it is facing forward.

Plug IR and ultrasonic sensors into The Brain ports the left into port 0 and the right into port 1.

See the image here or 66 for ideas on attaching the IR Sensors and page 60 for ultrasonic sensors.

Line Follower

You will program RiQ to follow a line and go around the track two times.

1. Copy the code below and read through each procedure in sentence format.

Page 94: Discover Robotics & Programming

94 ©2014 PCS Edventures, Inc. All rights reserved. Use of this material is restricted to PCS Licensees.

Leve

l 4: E

xpan

din

g P

rog

ram

min

g K

now

led

ge

a. Start by creating the procedures and calls. If you need a refresher on Procedures look back to page 64. Name each Procedure the sensor that it will be programming LEFT IR, RIGHT IR, ULTRA.

b. LEFT IR Procedure

i. Use the IF command and attach a COMPARE command.

ii. In the center of the COMPARE command, click on and change it to say less than <

1. Inside the COMPARE command, add the sensor and select the port that the left IR sensor is plugged into. Place the NUM command in the second box. By making that number 500, the

program will activate when the sensor reads a value that is less than 500. The value is the amount of light being reflected back, a white surface will be a higher value. This is why it turns when it notices a value less than 500 (black).

iii. Once the program is activated, it will turn slightly so that the black line is in the center of RiQ again.

c. RIGHTIR Procedure

i. This is very similar with a couple minor changes. Be sure to be precise when writing the program.

d. ULTRA Procedure

i. This procedure tells the ultrasonic sensor to react when something comes less than 30cm in front of it. The program tells RiQ to stop, wait, beep, then go again. RiQ will not actually go again unless that something that was in front of it is no longer there.

ii. This procedure will pause your RiQ if it gets too close to another RiQ.

e. For a visual representation of the values being read, pull the sensor displays onto the User Interface Canvas. The two on the left are for IR sensors, on the right is the ultrasonic sensor.

Page 95: Discover Robotics & Programming

95©2014 PCS Edventures, Inc. All rights reserved. Use of this material is restricted to PCS Licensees.

4level

Light Sensors

Project 2

Level 4: Exp

anding

Prog

ramm

ing K

now

ledg

e

“roboroaCh” program

1. Attach the Light Sensor to enable RiQ to detect brightness. BE SURE TO PLUG ONLY ONE CORD IN AT A TIME, otherwise, RiQ will fry!

2. Program RiQ to escape from the light, or try to find light, etc, using the program above. Get a flashlight in a dark room and don’t let him get near you. Flash him away!

3. This program is saying: IF the light sensor detects a value greater than 150, then motors AB will go OFF, motor A will go THISWAY and motor B will Go THATWAY, both will go ON FOR half a second (0.5). Then Motors AB will go ON again.

a. IF NOT (it is less than 150), then the motors AB will stay ON.

4. Send your program and test it out! Is RiQ scared of the light?

The light sensor is an electronic component called photoresistor. Through experimentation, attempt to explain what the photoresistor output value (visible in the Cortex on the panel shown) means in terms of resistance. Your explanation does not need to be precise, so long as it accurately predicts how it will respond.

Page 96: Discover Robotics & Programming

96 ©2014 PCS Edventures, Inc. All rights reserved. Use of this material is restricted to PCS Licensees.

Leve

l 4: E

xpan

din

g P

rog

ram

min

g K

now

led

ge

Participate in a brief class discussion about how the photoresistor works.

In the notes/reminders section of your journal, attempt to explain how a photoresistor works. This might require some research.

Reflect

Page 97: Discover Robotics & Programming

97©2014 PCS Edventures, Inc. All rights reserved. Use of this material is restricted to PCS Licensees.

Level 4: Exp

anding

Prog

ramm

ing K

now

ledg

e

Create a program for RiQ that uses a light sensor to detect the amount of light in the room. When there is a specified amount of light, your program should use the IR sensor to navigate the line track. When the specified amount of light is not available, your bot should play a Beep.”

* Hint: you will need to combine what you learned in Project 1 and 2 and calibrate your sensors.

Challenge 1Light and Seek Bot

4level

Extensionhuman robotiC programming Converting

Converting analog to digital:

1. Each student will play the role within a combination (sensor computer robotic output device). Their eyes (or ears) are the sensor, their brain is the computer, and their arms are the robotic output.

2. Each computer (student brain) will be programmed to respond to a specific input (brightness, pitch, volume, color, etc.) with a binary mechanical output (arms raise). That is, each student will raise their arms whenever they sense a particular input.

3. Using the graduated input information, work as a team to create a “wave” like you might see at an athletic event by adjusting the input gradually.

Produce a recognizable song by programming students to output a certain tone when “activated,” much like a bell choir. Students will play the role of binary computers in this project. *

*continued on next page

Page 98: Discover Robotics & Programming

98 ©2014 PCS Edventures, Inc. All rights reserved. Use of this material is restricted to PCS Licensees.

Leve

l 4: E

xpan

din

g P

rog

ram

min

g K

now

led

ge

Robots and computers “think” in terms of binary, meaning that they register readings in “on/off” or “yes/no”. The light sensors, on the other hand, can detect a spectrum of brightnesses, reading an analog range of values between “very dark” and “very bright”.

In your questions/hypotheses journal section:

1. Propose an explanation for how a computer might turn an analog spectrum into binary information.

2. Try to come up with a way in which binary (yes/no) information might be converted to something approaching a spectrum. Hint: this requires multiple binary inputs.

Extensionhuman robotiC programming Converting (Cont)

For this challenge, we will be reversing the process. Each sensor computer robot (student) will be assigned a single output (a particular pitch and duration).

1. Select two students who will be the “computer control center,” which is analogous to the large program that activates the various subroutines.

2. Control center students should “program” the other students’ “subroutines” so that they each produce a particular pitch when their binary input is activated. For example, a tap on the shoulder could activate the moving of an arm from up to down position, or whatever the class decides.

a. As a team, try to produce a particular tune.

Reflect

Page 99: Discover Robotics & Programming

99©2014 PCS Edventures, Inc. All rights reserved. Use of this material is restricted to PCS Licensees.

Level 4: Exp

anding

Prog

ramm

ing K

now

ledg

e

Use sensors to help RiQ efficiently navigate the Enchilada With Sauce and then stop after crossing the finish line.

• You may choose to incorporate sensors a lot or a little, depending on what your group decides would be best for the course that has been set up.

• You may experiment all you want with your robot, but you only get one shot at the course, so do what it takes to build confidence in your plan and your code before running a trial.

• Be sure to use the speed analysis skills you developed in LeveL 2 (circle drawing) to determine distances and turn operations.

• Predict, as precisely as possible, the time it will take RiQ to complete the course.

• Bear in mind that there are now multiple means of accomplishing the same task (programming for driving and for sensor responses).

4level

Enchilada with Sauce

Challenge 2

Page 100: Discover Robotics & Programming

100 ©2014 PCS Edventures, Inc. All rights reserved. Use of this material is restricted to PCS Licensees.

Leve

l 4: E

xpan

din

g P

rog

ram

min

g K

now

led

ge

Reflect

1. Describe the challenge and your team’s solution in the projects section of your journal. Be sure to explain your choices about which sensors to incorporate. Think about why you selected each sensor and which sensors you chose not to incorporate and why.

2. Present your modified bot and your program to the class. Compare your solution to the challenge with those of your classmates.

3. In the projects section of your journal, describe in detail a solution that is significantly different from your own.

Sensors are being used increasingly in our society. Try to imagine an everyday experience that is improved (made more convenient, efficient, or fun) through the application of sensors. Pay attention as you go through your daily routine. See how many sensors you can identify at work.

Extension

Page 101: Discover Robotics & Programming

101©2014 PCS Edventures, Inc. All rights reserved. Use of this material is restricted to PCS Licensees.

Level 4: Exp

anding

Prog

ramm

ing K

now

ledg

e

Reflect

4level

Come up with an interesting task for RiQ that incorporates much or all of the skills you have just developed. Once you have developed the task/objective, exchange it with that of another team. Each team’s goal is to accomplish both their own task and that of their partner team. If you get stuck, you are encouraged to ask your partner team for help/suggestions.

You are successful if:

• The challenge your team designed is neither easy nor impossible for your partner team

• It correctly applies most or all of the coding knowledge you have been exposed to so far

• Both teams have accomplished both challenges

Make a record of your project in the project section of your journal. This includes:

1. Goals

a. What were you trying to accomplish?

2. Procedure

a. How did you go about trying to achieve your goals?

3. Conclusions

a. What went well?

b. What useful techniques, skills, and ideas did you discover?

i. Focus on things that you might use in the future for other problems/challenges.

4. Evidence/Reasoning

a. Why do you think that these techniques, skills, and ideas are useful? What did you do or observe that shows they might be important?

Challenge / Counter-Challenge

Personal Project

Page 102: Discover Robotics & Programming

102 ©2014 PCS Edventures, Inc. All rights reserved. Use of this material is restricted to PCS Licensees.

Leve

l 4: E

xpan

din

g P

rog

ram

min

g K

now

led

ge

1. Look through our journal. Identify one conept about which your ideas changed significantly during the time you have been using the journal. Describe the experiences that influenced the changes in your understanding.

2. Work in teams of 3-4. Create an explanation for how either the accelerometer or the joystick code works. As you develop your ideas, experiment with the Cortex to see if you can provide yourself with evidence to support your explanations.

Extensions

Page 103: Discover Robotics & Programming

103©2014 PCS Edventures, Inc. All rights reserved. Use of this material is restricted to PCS Licensees.

Analog — Signals or information represented by a continuously variable physical quantity such as spatial position or voltage.

Light Sensor — Also called photosensors or photoresistors. A mechanical or electronic device that detects light.

Infrared Sensor (IR) — A thermographic camera or infrared camera is a device that forms an image using infrared radiation, similar to a common camera that forms an image using visible light.

Ultrasonic Sensor — This sensor bounces sound off of surfaces to detect the distance to those objects, much like a bat or dolphin does using sonar.

Conduction — The process by which heat or electricity is directly transmitted through a substance when there is a difference of temperature or of electrical potential between adjoining regions, without movement of the material.

Resistance — The degree to which a substance or device opposes the passage of an electric current, causing energy dissipation. In Ohm’s law, resistance (measured in ohms) is equal to the voltage divided by the current through a portion of a circuit.

Resistor — A device with a specific resistance to the passage of an electric current.

Photoconductivity — Increased electrical conductivity caused by the presence of light.

Photoresistor — A resistor whose resistance decreases with increasing incident light intensity. It exhibits photoconductivity.

Ambient light — The soft indirect light that fills the volume of a room with illumination.

Compare — Used to compare two values. Can be used to check if two values are equal, greater than, less than, etc.

Sensor Bar — Represents the value of a selected sensor for command(s).

U Sensor Bar — Represents the value of the ultrasonic sensor on the selected port.

Concepts & Key Terms

Leve

l 4: E

xpan

din

g P

rog

ram

min

g K

now

led

ge

4level

Page 104: Discover Robotics & Programming

104 ©2014 PCS Edventures, Inc. All rights reserved. Use of this material is restricted to PCS Licensees.

appendiCeSStandards AlignmentCommon CoreBibliographyAbout PCS Edventures

Page 105: Discover Robotics & Programming

105©2014 PCS Edventures, Inc. All rights reserved. Use of this material is restricted to PCS Licensees.

The following standards are addressed, to varying degrees, by at least one activity in the sequence. In some cases, specific standards are repeatedly, and in various contexts, present in the majority of the four-level sequence. In particular, the curriculum stresses engineering design and technical thinking.

next generation SCienCe

mS-etS1 (a, b, and C) engineering deSign

1. Define the criteria and constraints of a design problem with sufficient precision to ensure a successful solution, taking into account relevant scientific principles and potential impacts on people and the natural environment that may limit possible solutions.

2. Evaluate competing design solutions using a systematic process to determine how well they meet the criteria and constraints of the problem.

3. Analyze data from tests to determine similarities and differences among several design solutions to identify the best characteristics of each that can be combined into a new solution to better meet the criteria for success.

international SoCietY For teChnologY in eduCation

CreativitY and innovation Students demonstrate creative thinking, construct knowledge, and develop innovative products and processes using technology.

4. Apply existing knowledge to generate new ideas, products, or processes5. Create original works as a means of personal or group expression

CritiCal thinking, problem Solving, and deCiSion making Students use critical thinking skills to plan and conduct research, manage projects, solve problems, and make informed decisions using appropriate digital tools and resources.

A. Identify and define authentic problems and significant questions for investigationB. Plan and manage activities to develop a solution or complete a projectC. Collect and analyze data to identify solutions and/or make informed decisionsD. Use multiple processes and diverse perspectives to explore alternative solutions

CommuniCation and Collaboration with a digital portFolio Students can use digital media and environments to communicate and work collaboratively, including at a distance, to support individual learning and contribute to the learning of others.

A. Interact, collaborate, and publish with peers, experts, or others employing a variety of digital environments and media

B. Communicate information and ideas effectively to multiple audiences using a variety of media and formats

C. Develop cultural understanding and global awareness by engaging with learners of other cultures

D. Contribute to project teams to produce original works or solve problems

reSearCh and inFormation FluenCY Students apply digital tools to gather, evaluate, and use information.

A. Plan strategies to guide inquiryB. Locate, organize, analyze, evaluate, synthesize, and ethically use information from a variety of

sources and mediaC. Evaluate and select information sources and digital tools based on the appropriateness to

specific tasksD. Process data and report results

appendix aStandardS alignment A

pp

end

ices

Page 106: Discover Robotics & Programming

106 ©2014 PCS Edventures, Inc. All rights reserved. Use of this material is restricted to PCS Licensees.

gradeS 6-8 language artS

ELA-LITERACY.WHST.6-8.1.BSupport claim(s) with logical reasoning and relevant, accurate data and evidence that demonstrate an understanding of the topic or text, using credible sources.

ELA-LITERACY.WHST.6-8.1.EProvide a concluding statement or section that follows from and supports the argument presented.

ELA-LITERACY.WHST.6-8.2.DUse precise language and domain-specific vocabulary to inform about or explain the topic.

ELA-LITERACY.WHST.6-8.2.FProvide a concluding statement or section that follows from and supports the information or explanation presented.

ELA-LITERACY.RST.6-8.3Follow precisely a multistep procedure when carrying out experiments, taking measurements, or performing technical task

ELA-LITERACY.WHST.6-8.6Use technology, including the Internet, to produce and publish writing and present the relationships between information and ideas clearly and efficiently.

ELA-LITERACY.WHST.6-8.10Write routinely over extended time frames (time for reflection and revision) and shorter time frames (a single sitting or a day or two) for a range of discipline-specific tasks, purposes, and audiences.

grade 6 math

MATH.CONTENT.6.SP.A.2Understand that a set of data collected to answer a statistical question has a distribution which can be described by its center, spread, and overall shape.

MATH.CONTENT.6.SP.A.3Recognize that a measure of center for a numerical data set summarizes all of its values with a single number, while a measure of variation describes how its values vary with a single number.

MATH.CONTENT.6.EE.A.2.CEvaluate expressions at specific values of their variables. Include expressions that arise from formulas used in real-world problems. Perform arithmetic operations, including those involving whole-number exponents, in the conventional order when there are no parentheses to specify a particular order (Order of Operations).

appendix bCommon Core

Ap

pend

ices

Page 107: Discover Robotics & Programming

107©2014 PCS Edventures, Inc. All rights reserved. Use of this material is restricted to PCS Licensees.

grade 7 math

MATH.CONTENT.7.G.A.2Draw (freehand, with ruler and protractor, and with technology) geometric shapes with given conditions.

MATH.CONTENT.7.G.B.4Know the formulas for the area and circumference of a circle and use them to solve problems.

MATH.CONTENT.7.G.B.6Solve real-world and mathematical problems involving area, volume and surface area of two- and three-dimensional objects composed of triangles, quadrilaterals, polygons, cubes, and right prisms.

grade 8 math

MATH.CONTENT.8.G.A.4Understand that a two-dimensional figure is similar to another if the second can be obtained from the first by a sequence of rotations, reflections, translations, and dilations; given two similar two-dimensional figures, describe a sequence that exhibits the similarity between them.

MATH.CONTENT.8.SP.A.1Construct and interpret scatter plots for bivariate measurement data to investigate patterns of association between two quantities. Describe patterns such as clustering, outliers, positive or negative association, linear association, and nonlinear association.

Ap

pen

dic

es

Page 108: Discover Robotics & Programming

108 ©2014 PCS Edventures, Inc. All rights reserved. Use of this material is restricted to PCS Licensees.

Responsive Teaching and Learning

Maskiewicz, A., & Winters, V. (2012). "Understanding the Co-Construction of Inquiry Practices: A Case Study of a Responsive Teaching Environment." Journal of Research in Science Teaching, 49(4), 429-464.

Sikorski, T., & Hammer, D. (2010). "A Critique of how Three Learning Progressions Conceptualize Sophistication and Progress. Learning in the Disciplines: Proceedings of the 9th International Conference of the Learning Sciences (ICLS 2010) - Volume 1, Full Papers. International Society of the Learning Sciences: Chicago IL.

Formative Assessment Methodology

Coffey, J., Hammer, D., Levin, D. M., Grant, T. (2011) "The Missing Disciplinary Substance of Formative Assessment." Journal of Research in Science Teaching, 1109-1136.

Vokos, Stamatis, et. al. “Using Facet Clusters to Map Learner Modes of Reasoning.” Seattle Pacific University. 2006.

Diagnosing and Responding to Misconceptions

Eleanor Close, et. al. “Exploring Relationships: Teacher Characteristics and Student Learning in Physical Science.” Seattle Pacific University. December 2006.

Goldberg, et. al. “The CPU (constructing Physics Understanding) Project.” San Diego State University. 2011

Computer Science Motivations

Hartford, Tim. "The Benefits of Trial and Error." Online video clip. TEDGlobal 2011. July 2011. http://www.ted.com/talks/tim_harford

Lockard, C. Brett and Wolf, Michael. “Occupational employment projections to 2020.” Bureau of Labor Statistics. 2010.

Rowling, JK. "The Benefits of Failure." Online video clip. Harvard Commencement Ceremony. Filmed June 5, 2008, TED January 2010. http://www.ted.com/talks/jk_rowling_the_fringe_benefits_of_failure

Simms, David. "The Power of Positive Failure." Harvard Business Review. web. July 26, 2010

Sobel, Anne.(2014) "How Failure in the Classroom Is More Instructive Than Success." The Chronicle of Higher Education. December 8, 2014

Sullo, David. (2009) "The Motivated Student." Association for Supervision and Curriculum Development. May 2009.

Either equal or greater content acquisition in PBL when compared to traditional instruction

Belland, B. R., Glazewski, K. D., & Richardson, J. C. (2008). "A Scaffolding Framework to Support the Construction of Evidence-Based Arguments Among Middle School Students." Educational Technology Research and Development, 56, 401-422.

Ceren, Tekkaya, Ömer Geban, and Semra Sungar. "Improving Achievement through Problem-based Learning." Journal of Biological Education 40.4. web. http://www.newtechnetwork.org/sites/default/files/dr/scienceachievementturkey.pdf

Dods, R.F. (1997). "An Action Research Study of the Effectiveness of Problem-Based Learning in Promoting the Acquisition and Retention of Knowledge." Journal for the Education of the Gifted. 20(4), 423-437.

Gallagher, S. A., & Stepien, W. J. (1996). "Content Acquisition in Problem-Based Learning: Depth Versus Breadth in American Studies." Journal for the Education of the Gifted, 19(3), 257-275.

Gallagher, S., Stepien, W., & Rosenthal, H. (1992). "The Effects of Problem-Based Learning on Problem Solving." Gifted Child Quarterly, 36(4), 195 – 200.

Hmelo-Sliver, Cindy. "Problem-Based Learning: What and How Do Students Learn?"Educational Psychology Review 16.3. web. http://kanagawa.lti.cs.cmu.edu/olcts09/sites/default/files/Hmelo-Silver_2004.pdf

Stein, Bob. "Computers and Writing Conference Presentation." Purdue University. Union Club Hotel, West Lafayette, IN. 23 May 2003. Keynote Address.

appendix CbibliographY

Ap

pend

ices

Page 109: Discover Robotics & Programming

109©2014 PCS Edventures, Inc. All rights reserved. Use of this material is restricted to PCS Licensees.

VanTassel-Baska, Joyce. (1998) "Curriculum, Instruction, and Assessment for the Gifted: A Problem-Based Learning Scenario." Gifted Child Today. January 2013 vol. 36 no. 1 71-75

Van Tassel-Baska, J., Bracken B.A., Stamabaugh, T., & Feng, A. (2007). "Findings from Project Clarion." Presentation to the United States Department of Education Expert Panel, Storrs, CT.

Van Tassel-Baska, Joyce. "What Works in Curriculum for the Gifted." Asia Pacific Conference on the Gifted. July 18, 2008. Keynote Address.

Verhoeven, B. H., et al. (1998). "An Analysis of Progress Test Results of PBL and Non-PBL Students." Medical Teacher, 20(4), 310–316.

More PBL Support

Blumenfeld, Phyllis C., et al. "Motivating Project-Based Learning: Sustaining the Doing, Supporting the Learning." Educational Psychologist. Volume 26, Issue 3-4, 1991 pages 369-398.

Application to Medical Training

Vernon, D T, Blake, R L. "Does Problem-Based Learning Work? A Meta-Analysis of Evaluative Research." Academic Medicine, July 1993

Direct vs. Student-centered instruction

Kuhn, Deanna. (2007) "Is Direct Instruction an Answer to the Right Question?" Educational Psychologist Volume 42, Issue 2, 2007

Pink, Daniel. Drive, the Surprising Truth About What Motivates Us. New York: Penguin Group, 2009. Print.

United States. National Research Council. Inquiry and the National Science Education Standards: A Guide for Teaching and Learning. Washington: GPO, 2000. Print.

Hidden Messages from Feedback

Abbott, S. (Ed.). (2014) "Hidden Curriculum." The glossary of education reform. web. http://edglossary.org/hidden-curriculum

Kay Sambell & Liz McDowell. (2006) "The Construction of the Hidden Curriculum: Messages and Meanings in the Assessment of Student Learning." Assessment & Evaluation in Higher Education. 2006.

Ap

pen

dic

es

Page 110: Discover Robotics & Programming

110 ©2014 PCS Edventures, Inc. All rights reserved. Use of this material is restricted to PCS Licensees.

PCS Edventures designs and delivers engaging, technology-rich, educational products and services to K-12 students around the world. These products are designed to promote and develop 21st century skills that will not just help students survive in the 21st century, but enable them to thrive as inventors, problem solvers, and leaders. PCS programs emphasize hands-on experiences in Science, Technology, Engineering, Arts, and Math (STEAM) and have been deployed in over 7,000 sites in all 50 United States and 17 foreign countries. PCS Edventures is headquartered in Boise, Idaho, and its common stock is listed on the OTC Markets under the symbol “PCSV.”

Learn Morewww.edventures.com

EdventuresLab is an ultra-cool, high-tech learning lab program located in Boise, Idaho and Eagle, Idaho where students study engineering, robotics, video production, computer programming and other exciting areas. The RiQ robot used in the Discover Robotics Kit was born in the Lab surrounded by over a hundred wildly inventive students ranging from 6 to 60 years old. The Discover Robotics curriculum was then inspired by the rock and roll robot, RiQ. Learn more about PCS Edventures products and services at our website. If you're interested in seeing an EdventuresLab in your community, contact us! We'd love to hear from you.

Learn Morewww.edventureslab.com

More RiQ!

To share your own RiQ inventions, find more projects, ideas, and add-ons join the RiQ community!

riq.edventureslab.com

• Instructional videos on how to use and program RiQ

• Examples of new builds and projects

• What’s new in the EdventuresLab?

...and much more

For support, contact us at: [email protected]

Experts in STEAM Education

PCS Edventures for the Home!

Need help?

about pCS edventureS

Ap

pend

ices

Page 111: Discover Robotics & Programming

Copyright ©2014 PCS Edventures®, Inc. All rights reserved.

This User’s Guide, as well as the software services described in it, is furnished under license and may be used or copied only in accordance with the terms of such license. The content of this manual is furnished for educational use only, is subject to change without notice, and should not be construed as a commitment by PCS Edventures, Inc. PCS Edventures, Inc. assumes no responsibility or liability for any errors or inaccuracies that may appear in this book. Except as permitted by such license, no part of this publication may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, electronic, mechanical, recording, or otherwise, without the prior written permission of PCS Edventures, Inc. PCS Edventures! and PCS Academy of Robotics are trademarks of PCS Edventures, Inc. in the USA and other countries. All other products or brand names are the trademarks of their respective holders.

POWERED BY