Archive for the ‘Robots’ tag
After months of work, the ROBOTC Development Team is excited to announce the availability of the first preview release of ROBOTC Graphical Language for the VEX IQ platform. This new interface will allow you to program robots from inside ROBOTC with easy-to-use graphical blocks that can be drag-and-dropped to form a program. Each block represents an individual command from the “text-based” ROBOTC and Natural Language. The new click and drag interface along with the simplified commands of Natural Language will allow any robotics user to get up and running with programming their robots as soon as possible.
The first release of ROBOTC Graphical Language is available for the VEX IQ platform for use with the standard VEX IQ Clawbot and Autopilot Robots. All ROBOTC 4.0 users will receive access to the new Graphical Language interface at no additional cost! Our plans over the next few months are to extend the Graphical Language interface to all of ROBOTC’s support platforms, including the Robot Virtual Worlds technology. You can download the preview version today at http://www.robotc.net/graphical/.
The new ROBOTC Graphical programming environment adds a number of new features we’d like to highlight:
Graphical Language Command List (Drag and Drop)
With the new ROBOTC Graphical Mode, we’ve updated our “Functions Library” to match the style of the Graphical interface. This new mode will allow you to drag and drop blocks of code from the “Graphical Functions” menu into your program to get your program created even faster!
New Language Commands for Easier Programs
We also added some new language extensions to both ROBOTC and Natural Language; such as the simplistic “Repeat” command. Prior to the Repeat command, users would need to copy and paste large sections of code or use a looping structure (like a ‘for’ or ‘while’ loop) in order to have a set of actions repeat a number of times. With the new “Repeat” command, however, users can simply specify how many times they would like the code to run, with no complex coding required. And users who wish to make an “infinite loop” can use the “repeat forever” command to accomplish this task quickly!
Commenting Blocks of Code!
Another awesome tool that we’ve implemented in ROBOTC Graphical is the “comment out” feature. You can now comment out an entire line of code just by clicking on the block’s line number. The robot ignores lines of code that are “commented out” when the program runs, which makes this feature very useful when testing or debugging code. This new tool is unique to ROBOTC’s Graphical interface.
Updated and Simplified Toolbar
Sometimes navigating menus as a new user can be a little overwhelming – so many options to choose from and lots of questions about what each option is used for. To help with this, we’ve redesigned ROBOTC’s toolbar to make getting up and running easier. We put the most used commands on a larger toolbar so new users have an area to easily click to download firmware, send their code to their robot, and run their programs without having to use the standard menu interface.
Convert to Text-Based Natural Language
Because each Graphical Natural Language block corresponds to a real ROBOTC or Natural Language function, users will be able to graduate from Graphical Programming to full text-based programming with the press of a single button. This allows users to naturally transition from Graphical Natural Language to the text based Natural Language (or ROBOTC), without having to worry about manually converting the code line-by-line!
Teacher’s Guide and Sample Programs
The new graphical interface includes over 50 new sample programs to help you get up and running with working examples and demo code. In addition, we’ve also developed a 30+page guide to walk new (and existing) users through the new Graphical Programming interface and getting started with the VEX IQ platform. You can find a link to the programming guide here and also on the ROBOTC Graphical page.
This initial release is only the beginning and we’re planning on improving the software with more features and flexibility over the coming months.
- Copy and Paste
- Undo/Redo Support
- Support for custom robots/configurations via an updated “Motors and Sensor Setup” interface.
- Dynamic Loop and Command Parameters (based on Motors and Sensor Setup / Robot Configuration)
- Tooltips, Contextual Help, and more!
Let us know what you think! If you have any feedback or questions, please send them along via the ROBOTC’s VEX IQ forums.
We know that text based languages (such as ROBOTC) have advantages in terms of customizability with functions, complexity with algorithms and calculations, and typically smaller sized programs over graphical languages; however, it is difficult to overcome the simplicity and ease of use that “Drop and Drag” programming languages offer to new users just getting started with programming.
A few years ago (with ROBOTC 3.X), we announced our “Natural Language” feature – a simplified library of commands that used “natural” commands to control your robot, such as Forward, Reverse, and LineTrackForTime. The Natural Language feature was designed to help ‘bridge the gap’ between a graphical language and the text-based ROBOTC. Teachers have praised ROBOTC’s Natural Language for making it easier to get their students up and running faster than ever before. Currently, ROBOTC supports Natural Language on the VEX Cortex, VEX IQ, and LEGO MINDSTORMS NXT platforms for both “Real” and “Virtual” robots.
Today we’re proud to give you a sneak peek to a new feature we’re calling “Graphical Natural Language”. This new interface will allow you to program robots from inside ROBOTC with easy-to-use graphical blocks that can be drag-and-dropped to form a program. Each block represents an individual command from the “text-based” ROBOTC and Natural Language.
Each block is custom designed to fit the needs for that specific function and parameters. Using text boxes and drop-down menus, users can customize each values of each function to solve various challenge and activities using the same commands as ROBOTC’s Text-Based Natural Language.
We have also added some new language extensions to both ROBOTC and Natural Language, such as the simplistic “Repeat” command. Prior to the Repeat command, users would need to copy and paste large sections of code or use a looping structure (like a ‘for’ or ‘while loop) in order to have a set of actions repeat a certain number of times. With the new “Repeat” command, however, users can simply specify how many times they would like for the code to run, with no complex coding required.
Another awesome tool that we’ve implemented in ROBOTC 4.0 is the “comment out” feature. You can now comment out an entire line of code just by clicking on the block’s line number. Lines of code that are “commented out” are ignored by the robot when the program is run, which makes this feature very useful when testing or debugging a program. This new tool is unique to Graphical Natural Language.
Because each Graphical Natural Language block corresponds to a real ROBOTC or Natural Language function, users will be able to graduate from Graphical Natural Language to full text-based Natural Language with the press of a single button. This will allow you to naturally transition from Graphical Natural Language to the text based Natural Language (or ROBOTC), without having to worry about manually converting the code line-by-line!
Please Note: The screenshots and interface in this post are not the finalized version of the ROBOTC Graphical Natural Language – the names, interface, look and feel of the system may change between now and official release.
In the previous entry, I shared some of the features of the VEX IQ robots. Also discussed were some ideas on how to get a classroom organized. Now that we have those things established, we can move on to a discussion of how to begin programming the VEX IQ robots.
ROBOTC for VEX IQ has Natural Language commands that will help beginning programmers of the VEX IQ by supplying a set of commands that use “natural” words. For example, the “forward” command will make your robot move forwards for a specified amount of time or distance. The robot will come to a stop after the movement. Here are some examples of the command:
Move the robot forward for 2.5 rotations:
Move the robot forward to 180 degrees:
• forward(180, degrees);
Move the robot forward for 1.5 rotations at 30% speed:
• forward(1.5, rotations, 30);
Move the robot forward for 10 seconds:
• forward(10, seconds);
• forward(10000, milliseconds);
Natural Language also contains other helpful commands; such as, “backward”, “turnLeft”, “turnRight”, and “repeat”. Below is an example of a Natural Language sample program that is located within the Natural Language sample program folder in ROBOTC:
VEX IQ Natural Language – Port Names and Numbers
leftMotor – Port #1
rightMotor – Port #6
armMotor – Port #10
clawMotor – Port #11
touchLEDSensor – Port #3
gyroSensor – Port #4
distanceSensor – Port #7
bumperSensor – Port #8
colorSensor – Port #9
//Configure the Natural Language to use the VEX IQ Clawbot
//Move the robot forward for 1.5 rotations (rotations are the default unit) at 50% speed (default speed)
//Turn the robot right for 1.25 rotations at 50% speed (default speed)
//Move the robot backwards for 720 degrees at 25% speed.
backward(720, degrees, 25);
//Turn the robot left for 2.5 rotations at 50% speed (default speed)
As you can see, there are a couple things that we have to do in order to use the Natural Language functionality. To enable Natural Language, go to “Robot Menu -> Platform Type -> Natural Language”.
The easiest way to get started programming is to open a sample program or to use a template. To open a sample program in ROBOTC, go to File Menu -> Open Sample Program.
To use a Natural Language template in ROBOTC, go to File Menu -> New… -> Natural Language Template.
To make programming easier, Natural Language makes assumptions about the type of robot you are using. To configure your Natural Language program to use our VEX IQ Clawbot, use the following line of code:
More robot models will be supported in future releases.
Finally, you will notice in the sample program that port names and numbers are given specific names and ports. Make sure that your VEX IQ Clawbot’s motors and sensors are configured this way in order to work with the Natural Language commands.
Ok. We are ready to go with programming! What should we do? My suggestion would be to start with the Labyrinth Challenge.
The Labyrinth challenge gives the students an opportunity to engage with the VEX IQ robots and ROBOTC. The students are immediately engaged because they can see and test their robot’s movement as it makes its way through the course. Since this may be the first program that some students write, there are a couple of things worth remembering. First, makes sure the students create a flowchart before they begin programming. For more information on flowcharts, you can look here: VEX Teacher – Engineering.
Second, it is important that the students describe what is going on in their programs with comments. For more information on how to utilize comments, please see here: http://www.robotc.net/vex_full/reference/hp_comment.pdf
Now you are ready to go! Good luck and have fun! Remember, if you have any questions as you are working, please visit the ROBOTC forums.
- Jason McKenna
The VEX IQ robot is a great, new option for middle and high school robotics teachers. With anything new in the classroom, it’s important to have some ideas on how to best implement the new tools in the classroom.
There are some features of the VEX IQ system that teachers will notice initially. The VEX IQ brain has 12 identical ports. This means that any device (either a sensor or a motor) can be plugged into one of the ports. Also, the VEX IQ motors are smart motors; therefore, the motors can hold a position and resist external movements. Some of the sensors for the VEX IQ include a Bumper sensor, a Touch LED sensor, a Gyro Sensor, a Color sensor, and a Sonar sensor. One nice asset of the motors and sensors is the fact that they each have their own upgradeable firmware. As a result, if new features are added, the firmware for the device can be upgraded, as opposed to buying a new sensor and/or motor.
With the VEX IQ Starter Kit, there are over 850 structural and motion components. That many parts allow teachers and students lots of flexibility when it comes to building a robot. But, that’s only if they can find the parts they need. One of the first things that teachers need to do is get their kits organized. The Starter Kit comes with a storage bin and tray that help, but the amount of parts means that different pieces will need to be stored together in the storage bin. If the students know what pieces are located in each section of the storage bin, it will make the building process much easier.
The base robot for the VEX IQ is the Clawbot. The Clawbot include a gripper and a lifter arm. These features immediately grab the attention of most students; they love the idea of being able to lift and grab an object. For teachers, it is a good idea to build the Clawbot before allowing the students the opportunity to do the same. This gives teachers an idea of what problems the students may have as they begin building, and it also allows the teachers to help those students that run into problems. You can’t start anything until all the students have their robot built. Having some groups finish their robot, while other groups lag behind can be an issue. Building a robot first, puts the teacher in the best position to get everyone started off on the right foot.
When it comes time to start building, students can work on different parts of the VEX IQ Clawbot. You can divide the Clawbot into these sections: the Base, the Claw, the Tower, and the Ball Holder. One suggestion to organize a class would be to have two students work on the Base, while one student each works on the Claw, the Tower and the Ball Holder. Or, you could have one student work on each section. It’s important to note that however the class is organized for the building of the Clawbot, there should be a uniform way that the students attach the motors and sensors.
The battery for the VEX IQ robot brain comes charged, so a teacher does not need to worry about doing that preliminarily. So, once the Clawbot is built, the next thing that needs to be done is install the ROBOTC firmware and update the VEX IQ brain, motors, and any sensors that may be on the robot. Click here for directions on how to install the ROBOTC Firmware.
To update the VEX IQ brain, motors, and sensors, the VEX IQ Firmware Update Utility needs to be downloaded to your computer. The Firmware Update Utility and directions on how to utilize it can be found here.
With the next installment, we will take a look at how to set up your first programming lesson. In the meantime, teachers can take advantage of a few readily available resources at Carnegie Mellon’s Robotics Academy VEX Teacher Site and the ROBOTC Wiki to help with questions concerning programming the VEX IQ with ROBOTC.
Carnegie Mellon’s Robotics Academy, a research-based organization committed to teaching students how to program robots, is really excited to be able to support FTC teams again this year. Follow the links below to learn about FREE Programming Classes and a new Block Party Programming Game that can be used by students, teachers in classrooms, coaches, or competition providers. The new game is designed to teach programming and has over $5,000 in prizes. We’ve also made CS2N Groups Technology that enables teachers, coaches, and regional competition sponsors to host their own competitions.
In the FTC Block Party Virtual World, program one of three robots to score as many points as possible in autonomous and driver controlled modes. Score points by:
- Placing Blocks in Floor goals
- Placing Blocks in Pendulum goals
- Raising the Flag
- Hanging from the Bar
See the rules documents for the full game explanation:
Additional information to help you get started:
- All information on CS2N Competitions can be found here
- FTC Block Party can also be downloaded at RobotVirtualWorlds.com or CS2N.org
- If you don’t already have a CS2N account, sign up for a free one here
- Updates and information will be posted on the CS2N Competition pages.
- If you need any help, don’t hesitate to post on the ROBOTC.net forums
How to Setup Your Own In-Class Competition – Teachers, coaches, and competition organizers can setup their own unique programming competitions using CS2N Groups Technology. The Robotics Academy has developed groups technology that enables teachers to setup their own in-class competitions. To learn how to setup your own Group competition click here: http://www.cs2n.org/tutorials/competitions
Carnegie Mellon’s Robotics Academy, a research-based organization committed to teaching students how to program robots, is really excited to be able to support VEX Competition teams again this year. Follow the links below to learn about a NEW VEX Toss Up Programming Game that can be used by students, teachers in classrooms, coaches, or competition providers with FREE Programming Classes that your students can take. The new game is designed to teach programming and has over $5,000 in prizes. The Robotics Academy has also developed CS2N Group Technology that enables teachers, coaches, and regional competition sponsors to host their own programming and remote control virtual competitions.
VEX Toss Up is played on a 12′x12′ square field. The object of the game is to score your colored BuckyBalls and Large Balls into the Near Zone and Far Zone, by Locking Up your colored BuckyBalls and Large Balls into the Goals, and by Low Hanging, Hanging and Ultra Hanging off your colored Bar at the end of the match.
This Virtual World is designed to simulate the Toss Up competition field and several robot designs, allowing teams to practice their programming and form winning gameplay strategies.
See the rules documents for the full CS2N game explanation:
- VEX Toss Up – Autonomous CS2N Mode
- VEX Toss Up – Remote Control CS2N Mode
Additional information to help you get started:
- All information on CS2N Competitions can be found here
- VEX Toss Up can be downloaded at RobotVirtualWorlds.com or CS2N.org
- If you don’t already have a CS2N account, sign up for a free one here
- Updates and information will be posted on the CS2N Competition pages.
- If you need any help, don’t hesitate to post on the ROBOTC.net forums
How to Setup Your Own In-Class Competition – Teachers, coaches, and competition organizers can setup their own unique programming competitions using CS2N Groups Technology. The Robotics Academy has developed group technology that enables teachers to setup their own in-class competitions. To learn how to setup your own Group competition click here:http://www.cs2n.org/tutorials/competitions
The Robot Virtual World team has just released a beta version of it’s latest game, Expedition Atlantis! It’s the year 2023 and Atlantis has been discovered deep in the ocean, off of the coast of Africa. A team of elite scientists and engineers have been sent to investigate the underwater ruins, and you’re one of them! Use your skills to to maneuver the teams underwater vehicles in this expedition to Atlantis!
Proportional problems are embedded everywhere. Expedition Atlantis provides students with the big ideas needed to become proficient proportional thinkers. Check out this video to see how:
The game begins with your submarine being deployed from a large mothership, beginning your expedition to Atlantis. A large underwater storm throws the submarine off course and into a cliff side!
Fortunately, the submarine was equipped with an escape pod! The underwater storm is still acting up, so you’ll need to move the robot to areas with cover between outbursts. The mothership will transmit how far away the next safe zone is; you’ll need to calculate how many wheel rotations it will take to get there. Be careful not to move too far or too little or you’ll be blown around the ocean floor!
A special training mode is available to help you learn how proportional relationships work, like how turning a number of wheel rotations translates into moving forward a certain distance.
Expedition Atlantis can be played with four different difficulty levels: Cadet (Easy), Explorer (Medium), Admiral (hard), and Custom. With custom mode, you can set how many problems you need to solve in each level of the game, and how hard the problems are. You’ll also notice that there are 4 main levels to the game.
After completing Level 1, the Minoan Megaliths, you’ll reach Level 2, the Pillars of Hercules. Underwater platforms appear to allow your escape pod to cross the chasm. You’ll need to calculate how much the robot needs to turn to line itself up with the next platform, before the robots thrusters engage. Be careful or your robot will thrust itself right to the bottom of the chasm!
Once you cross the chasm, you’ll reach the Atlantis Base and be equipped with a robot capable of catching cargo from the mothership. The storm is still acting up and throwing the cargo off course, so you’ll need to calculate how much the robot needs to turn and move forward to catch the cargo in Poseidons Courtyard.
The cargo you catch contains upgrades for your robot, which will be crucial for the final part of your mission. Take the cargo back to base to equip the upgrades!
In the underwater base, you’ll be able to equip all of the upgrades that you caught in Poseidons Courtyard. Upgrades range from different wheels, different robot bodies (chassis), powerful attachments, and even paint colors.
With your upgraded robot, you’ll be ready to explore the Heart of Atlantis. You’ll be completely in charge of marking where your robot needs to go, performing the calculations to get it there. Be careful! Ancient Atlantis was highly advanced technologically – it has a reactor core and portal network which is still operational today, but sensor readings indicate that they are unstable. Your robots radiation shield will protect it from the radiation, but will also slowly drain its batteries.
As you make progress in Atlantis, you’ll be rewarded with achievements. These achievements will also show up on your “My Achievements” page on CS2N, if you logged into the game with your CS2N username!
Why Use Expedition Atlantis?
- Proportional problems are embedded everywhere
- Widely applicable
- Students with math IEPs especially need proportional reasoning skills
- Expedition Atlantis provides students with the big ideas needed to become proficient proportional thinkers
- High student engagement through underwater robotics game
- Mechanistic approach
- Proportional thinking, not just proportional methods
- Repeated, contextualized practice
- Unified approach
- Aligns with the Common Core Standards
- Immediate teacher and student feedback
- Differentiation for high- and low-performing students (manual and automatic)
Expedition Atlantis is designed to be a fun, educational tool to teach and reinforce proportional relationships. When complete, it will be accompanied with a full Teacher’s Guide that provides information on its use in the classroom, ties into mathematical standards, and other valuable information. It’s also available completely for free during our Beta and Feedback period, so download it today!
We appreciate any feedback you have about Expedition Atlantis. Feel free to share it at the ROBOTC.net Forums.
So your class has gone through the ROBOTC Video Trainer Curriculum (VEX or LEGO), are comfortable programming in ROBOTC, and the robots are starting to zip across the room: however, some students are absorbing the programming knowledge quickly, while others are taking a little longer to grasp the core concepts. Where should a teacher look to if a student (or classroom) advances beyond the pace of the class? In this post, we will take a look at some of the many advanced programming resources available for ROBOTC.
Because ROBOTC is a C-based programming language, there are many C programming features that students can lean about and implement in their code. The first resource to investigate is the ‘Programming Tips and Tricks’ section of the ROBOTC wiki. This special subsection contains samples of some of the more advanced C-based operations that can be executed using ROBOTC and are pulled from a variety of sources. Topics include structs, switch statements, tertiary operators, and more. Because all of the information is available for free online, students can research and test the topics at their own pace and gain a deeper understanding of the subjects.
Next, you may want to take a look at tutorials on the ROBOTC wiki for implementing advanced programming concepts with different sensors. Also be sure to check out ROBOTC’s Sample Programs (via the ‘File -> Open Sample Programs’) as many of the programming concepts have pieces of advanced code that can help the students understand exactly how they are applied in real-world scenarios. There are also several multi-robot projects (for the NXT) that can be found on ROBOTC’s Multi-Robot wiki and a thread dedicated to advanced ROBOTC programming with VEX which will both offer unique challenges for students to conquer, as well as a wealth of community created projects showcased on the ‘Projects Discussion‘ section of the ROBOTC forums.
Once the students have sufficiently expanded their knowledge of advanced ROBOTC programming, they will be ready to tackle more complex robotics projects. This is a perfect opportunity to encourage creativity and inventiveness with preexisting challenges (and is a perfect example of where differentiated instructions can positively impact a classroom). By utilizing differentiated instruction in the classroom, you will be able to not only challenge the newer programmers with the basic programming examples, but will also be able to engage the more advanced students with complex programming options, such as making their robots perform a challenge quicker, more efficiently, or more accurately (or a mix of all three).
- John Watson
I’ve always been of the opinion that teaching is an art, not a science. Therefore, it’s impossible to devise a scenario that will handle every issue. But, there are some common issues that arise for teachers as they teach robotics and ROBOTC.
Many students come into class familiar with different aspects of technology, but many students will be unfamiliar with some basic things. For example, never assume that students will know how to save a program while using ROBOTC. Secondly, never assume that the students will know where to save their programs. As a teacher, you need to have a plan to cover these things for students. Also, it would be helpful to have a reference for these things for the students. When students return from Christmas Break or a long weekend, sometimes these details escape them.
One things that is very important for teachers who work in classes in which the students are working cooperatively, is for the teachers to identify what is most important and to assess those things. Simply, students get better at things which are measured and assessed. For example, if you want students to use math vocabulary while solving a particular problem involving different wheel sizes, then you need to assess that. If students are working as a group to solve a problem, then each student’s role in that group needs to be defined and assessed.
Additionally, students working cooperatively in groups are always going to be an issue for teachers. The clearer the roles (and how those roles will be assessed) are defined for the students, the better chance you have for success. Still, teachers need to have a plan for those students who just don’t work well in groups. This plan needs to be articulated to the parents and to your administrators at the beginning of the school year.
One of the great things about teaching robotics and ROBOTC is that the first answer is hardly ever correct. This is great because the students are immersed in the problem-solving process. However, some students will become frustrated by this and immediately look to you for the answer. Teachers need to have a plan for these students. How can students work cooperatively to handle these issues? What has been done to prepare for the challenge? Is there a flow chart that the students can review for some ideas? Is there a sample program the students could examine? As teachers gain more experience working through the ROBOTC curriculum, they’ll be able to anticipate these situations more and have an answer for them.
The beginning of class and the end of class oftentimes determine the success, or failure, of a lesson. Teachers should always have a plan for the beginning of class to get the students settled and focused. The more structured this opening activity is, the better. If a routine is developed, the students will respond accordingly. If the students are coming to your class after gym class or lunch, for example, this opening structure will be very important. Examples of class openers could be having the students find errors in code, a review of particular concepts (what is the difference between = and ==), or an Abstraction Bridge.
In much the same way, the closure of the lesson should be used to judge the effectiveness of that day’s lesson. The most popular way to do this is with the use of an exit slip as the students leave the room.
Having a plan allows teachers to work that plan instead of getting frustrated with individual students. Planning your work, and then working your plan will help to allege some of the daily stressors that teachers face.
- Jason McKenna
A curriculum pacing guide is something that teachers have to consider whenever they examine their curriculum. This fact does not escape teachers of <a href=”http://www.robotc.net”>ROBOTC</a>. Whenever I come across teachers who are just starting to use the ROBOTC curriculum, often their first question revolves around how long the curriculum will take. Once again, teachers are used to having some type of pacing guide that delineates how a subject is to be taught. The ROBOTC curriculum is not organized in that fashion. Instead, the curriculum is organized by topic. The topics include basic programming fundamentals, robot movement, robot sensing, etc. The teacher is then free to spend an appropriate amount of time within each topic.
As teachers, this freedom is welcome. It is welcome because the pacing that comes with most textbooks is an impossible guide to follow. In order to create a true pacing guide, student background knowledge would have to be taken into account. Since every classroom is different (sometimes within the same grade, within the same school), it is impossible to gauge how quickly the students are going to master the concepts as they are presented. Additionally, as the teacher becomes more familiar with ROBOTC, they will find that they spend more time on particular concepts then they did the first time they taught the curriculum. For example, when I first taught ROBOTC, I spent 20 minutes discussing Flowcharts and Pseudocode. Experience has now taught me to spend a significant amount of time on these topics. I also spend much more time talking about Errors. Specifically, what should a student do when they get the dreaded compiler errors in their program? Experience has taught me to spend much more time on thinking about the logic of a program before the writing of ROBOTC and on debugging strategies once the code has been written.
Each of the aforementioned sections of the ROBOTC curriculum contains a programming challenge. The programming challenged is designed to showcase the skills that were emphasized in that section. Each section also contains an assortment of “mini challenges”. These challenges can be used at the teacher’s discretion. They all do not have to be completed. However, they can be very useful. For example, after the students have spent a day or two learning a topic, I will begin the following class with one of these mini challenges. They might not know all of the skills needed to complete the section challenge, but the mini challenge is a good assessment of what has been presented so far in that section. This also serves as a good change of pace for the class. Simply, you can’t learn to program without actually programming. In order to really understand the applications of while loops or if/else statements, students need to apply them. The mini challenges found within the ROBOTC curriculum serve as a great opportunity to scaffold skills toward their more challenging applications.
A beginning teacher of ROBOTC could teach the basic ROBOTC curriculum in one semester. By including many of the mini challenges, the curriculum can be stretched easily over a semester. I often tell teachers who are teaching the class for a year to do this, and then to end the year with a larger programming challenge. After the students have made it through the ROBOTC curriculum, I enjoy introducing them to Multi-Robot Communication. The sensor needed (NXTBee) is inexpensive, and there are a lot of great ideas for activities and programming challenges.
If you have a stronger background in computer science, and maybe you are teaching older students, you may be able to navigate through the curriculum much faster. What then do you do with students if you have them for an entire year? Luckily, there are many great ROBOTC projects on robotc.net. Moreover, the ROBOTC forum is also a wonderful place to look for ideas for projects, in-class competitions, and programming challenges.
Teaching robotics and ROBOTC is a lot of fun. The ability to watch your students apply what they learn in the ROBOTC curriculum in such engaging and open-ended activities is one of the main reasons why.