Archive for the ‘Student’ tag
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.
The update to the software includes new sample programs to help you get started with autonomous programming, along with expanded versions of the rules documents to help make the objectives and mechanics of the competitions more clear.
We’ve also added tons of helpful information on the CS2N Competition page, which is sure to help you through the entire process.
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.
A curriculum pacing guide is something that teachers have to consider whenever they examine their curriculum. This fact does not escape teachers of ROBOTC. 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.
Once the physical hardware (robotics kits) are secured for a classroom, the next step is to install the software (ROBOTC and Robot Virtual Worlds). It would be nearly impossible to cover every single specific setup that could be encountered on a classroom’s computers, but this blog post will cover the basic installation steps and some of the more common installation issues that educators may run into when installing ROBOTC in a classroom.
The first thing you will need to do is install ROBOTC on the computers in your classroom. To do this, always make sure to grab the latest version of ROBOTC that your license supports from the correct ROBOTC download page. If the wrong version is downloaded and installed, or if there is already a different up-to-date version of ROBOTC installed on the computers, you will not need to uninstall and reinstall the program; instead, you will simply need to activate your license in ROBOTC (more on this later). During the download process, ROBOTC will also attempt to install the necessary drivers for communications with physical robots. Depending on the level of security on the computers, you may need to get your IT department involved in order to ensure that the drivers are installed properly.
Once ROBOTC and the appropriate drivers have been installed, you will need to activate ROBOTC on each computer manually. The license activation ‘unlocks’ the ability to download code to either a physical robot or a Virtual World, depending on which license is used. When ROBOTC is installed on a computer, all versions of ROBOTC (including different robotics platforms, such as the VEX and LEGO platforms, and different compiler options, such as Virtual Worlds compiler options) are installed at the same time. Instead of installing additional copies of the software on the same computer (or opening a new program every time you would like to change the compiler target), the additional platforms and compiler options are ‘unlocked’ by activating their respective keys.
Before we move on to the next blog (Setting up the Robots), here a couple more tips that may come in handy when setting up ROBOTC in a classroom:
- Depending on the programs, policies, and restrictions in place on the machines, your school’s IT department may need to be present for the installation or activation of ROBOTC, Virtual Worlds, or the installation of any drivers for the physical robots.
- If your school’s IT department images and deploys the classroom’s computers, make sure they reference the ROBOTC Deployment Guide on the ROBOTC wiki for important help and information.
- Make sure to check the computers’ hardware to the minimum requirements for ROBOTC or Robot Virtual Worlds before installing and activating a computer.
- Always test one computer first! If there is a problem with the installation, it is better to find out about it early and fix it before they same issue appears on a classroom full of computers.
It is that time of year again … backpacks on our backs, buses on the streets, and lessons being planned. Yes, we are going back to school! To kick start the school year, we are introducing a six week robotics back to school blog series that highlights the technical and pedagogical side of planning for your robotics classroom. John Watson, from ROBOTC customer support, and Jason McKenna, a K-8 Gifted Support Teacher in the Hopewell Area School District outside of Pittsburgh, PA, will be sharing with you tips, tricks, advice, and recommendations on prepping your robotics classroom and curriculum.
As each blog is posted, the topics below will turn into hyperlinks, so feel free to bookmark this page!
If you have any questions or would like to start a conversation on any of the topics, feel free to leave us a comment below!
We had the chance to interview the lead programmer for FTC Team 5037, Kristen McKellar. She is an impressive programmer with a bright future ahead. Check out her story on how her knowledge of ROBOTC helped her win the National 4-H Engineering Challenge …
Are you a ROBOTC student who wants to share your story with us? If so, send us an email at firstname.lastname@example.org!
As we mentioned before, every year at Worlds, we get to meet some amazingly talented students. Jacob Mason was one of those students. He is the lead programmer for FTC Team 3486, the Techno Warriors Advanced. Check out his story in this interview:
Are you a ROBOTC student who wants to share your story with us? If so, send us an email at email@example.com!
Every year at Worlds, we get to meet some amazingly talented students. This year was no different! One of those students was the lead programmer and captain for the all-girls VEX team 355E, Mia Garbaccio. She is an avid programmer with an organized binder of code that impressed the entire ROBOTC team. Check out her story and programming binder in this interview:
Are you a ROBOTC student who wants to share your story with us? If so, send us an email at
Schuyler Horky caught our attention with his detailed and fun ROBOTC tutorial videos. He has been working on a 10 part ROBOTC for NXT video tutorial series for the past three months to help local students and teachers with programming. We got a chance to talk with Schuyler to find out more about his programming experience….
Where are you from? What grade are you in?
I am from Monroe Washington, and I am a participant in my state’s Running Start program so that I can attend community college while still in high school. That being said, I am a senior in high school and a freshman in college
How long have you been a ROBOTC user?
I have used ROBOTC for MINDSTORMS for five years, and ROBOTC for VEX for four years.
What made you start using ROBOTC?
What made me start to use ROBOTC was my passion for electronics. ROBOTC was the easiest way to experiment with custom sensors, including I2C. At age 13, making my NXT support more motors and sensors brought me into the world of digital electronics, object oriented programming, and engineering.
What do you think of the software?
ROBOTC is the best way for any beginner to start programming, particularly with robotics. The real time debugging capabilities need a few tweaks, but just the fact that ROBOTC has it, is a huge advantage to alternative products. The absolute best thing about ROBOTC is the help menu. Every programming language I have learned has a good digital repository and RobotC is no exception. If I want to learn how to use a certain function, example code and a lengthy explanation are always at my fingertips.
What made you decide to create these tutorial videos?
At my local K-12 home school co-op program, I volunteer to help a math teacher teach programming, coach FLL teams, and mentor VEX robotics teams. In the off-season, I normally teach ROBOTC to the middle school students, getting them ready for more advanced LEGO projects and our VEX robotics teams. This year though, since my programming internship and three college classes per quarter have taken a bit out of my schedule, I cannot help as much, so I create tutorials so that the teacher can use them as curriculum.
ROBOTC is the best way to get excited about programming in C. The cross platform support means that you won’t have to re-learn anything when moving from NXT to VEX, or VEX to Arduino. ROBOTC can take you as a beginner and make you a proficient programmer. ROBOTC offers a huge repository of documentation and example code, powerful low-level functions, in addition to quick compile time, real time debugging, and extended 3rd party support.
Thanks so much to Schuyler for taking the time to answer our questions!! You can find his entire YouTube playlist tutorial series here – ROBOTC for NXT Tutorial
Do you have a cool project or video you want to share with us? If so, send us an email at firstname.lastname@example.org.