Archive for the ‘Computer Science’ tag
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.
The Robot Virtual World team is happy to announce not one, but two early presents for you this years! Get ready for some deep sea robot programming, because we’ve updated both the Ruins of Atlantis and Expedition Atlantis virtual worlds.
Ruins of Atlantis
Robots to the Rescue: Ruins of Atlantis is our underwater programming game. This update brings it up to speed with all of the latest RVW technology, including CS2N Achievements, the Measurement Toolkit, Quality Controls, and more. The audio and visuals of the game have also undergone a major overhaul – check out the slideshow to see just how beautiful the world is!
Expedition Atlantis is our brand new underwater math game, designed to teach and reinforce concepts like proportional reasoning. We are currently in the process of collecting and implementing feedback on the game. This update extends the trial period of the game through July 2014!
Expedition Atlantis can also be downloaded from RobotVirtualWorlds.com or CS2N.org. Any feedback you have regarding the game is highly appreciated! Please share your feedback in this short survey.
We’re happy to announce a big update to the Expedition Atlantis game. Thank you to everyone who provided feedback for the previous versions – keep it coming!
One new feature that we think you’ll appreciate is the ability to create a certificate of the badges that you’ve earned, if you’ve been playing with a CS2N or Local account. It’s a great way to share the progress you’ve made in the game!
Here are some of the other major features and fixes we’ve made based on your feedback:
- Fixed a bug where sometimes the game would freeze after upgrading to Helios II in Poseidon’s Courtyard
- Improved the visibility of the distance and angle values throughout the game, especially in the Heart of Atlantis
- Fixed a bug where the game could crash in VR Training Mode
- Fixed a bug that could cause the game to freeze in the Underwater Base when playing in Custom Difficulty
- Addressed possible issues when switching between difficulty levels while playing the Heart of Atlantis
To catch up on all of the latest Expedition Atlantis information, including the game unveiling and a Google Hangout with the development team, check out our Expedition Atlantis page.
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
Now that the physical robot kits are in the classroom and ROBOTC is installed and activated, you should be ready to build the physical robots for your classroom. One of the best features of a VEX Robotics kit is that they allow students to create a nearly limitless range of robots; the downside of this, however, is maintaining student-created robots in a classroom. To help with this, ROBOTC and the Video Trainer Curriculum support several standard models to help keep a baseline in the classroom.
The first of such robots we will look at is the VEX Squarebot (using the VEX Cortex), one of the standard Cortex models that are used in the VEX Cortex Video Trainer for ROBOTC. The Squarebot utilizes three VEX motors (two for driving, one for the arm), and a wide variety of sensors. These sensors include Quadrature Shaft Encoders, a Sonar Sensor, and a Potentiometer (among others; in total, there are 8 separate sensors on the Squarebot). This model allows for a variety of tasks to be completed and is designed to work with all of the challenges in the ROBOTC Curriculum.
A smaller, different alternative Cortex standard robot is the Swervebot. Like the Squarebot, the Swervebot utilizes the VEX Cortex as its main processor and uses two VEX motors for driving. However, the Swervebot’s small chassis does not utilize an arm. Instead, the Swervebot makes clever use of an Omniwheel in the rear for turning and boasts three Line Follower sensors and a Gyroscope (as well as 6 other sensors, for a total of 10) and is perfect for smaller classroom environments.
Finally, the new VEX IQ platform can be quickly assembled and ready to use in a classroom thanks to the IQ Clawbot standard model. Using 4 motors total (two for driving, one for the arm movement, and one for gripper control), the VEX IQ Clawbot can be controlled either autonomously using the VEX IQ sensors (such as the Bumper Switch and Color Sensors), remotely using the IQ Controller, or a pleasant mix of both, depending on which kit is being used.
Visit CMU’s Robotics Academy VEX site for more information on the different kits available and to find build instructions.
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.
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!
We are happy to announce a new course on CS2N, Create Your Own Level with RVW Level Builder. In this new course, you will go through the steps of making your own custom level inRobot Virtual Worlds‘ Level Builder!
The class is structured on a 5-phase version of the engineering process (Concept, Design, Production, Testing, Release). In each phase, you will take a further step towards completing your level, either through planning, creating, or testing your level.
Level Builder enables users to easily create levels and challenges for others to solve. Teachers can create custom challenges for their classrooms or generate unique challenges for each student. Multiple real and fantasy themed robots and objects are available for use. You can also import your own objects with the 3D Model Importer. Your level plays like any other virtual world. You can access all of the motors and sensors on the virtual robot to solve the challenge using ROBOTC code.
Sign up for CS2N and this FREE course today – Create Your Own Level with RVW Level Builder. And don’t forget we have a Level Builder competition going on until August 31, 2013, Beacons and Barriers, with a chance to win some great prizes!!
We are happy to announce that the leaderboards for the Robotics Summer of Learning competitions are live! Each leaderboard shows the overall scores as well as the leaders in each division. The results are real-time, so check back often to see where you stand. The competitions run until August 31, 2013.
VEX Toss Up
- Middle School Division – 6th to 8th Grade (for the 2013-2014 School Year)
- High School Division – 9th to 12th Grade (for the 2013-2014 School Year)
- Open Division – Teachers, Mentors, Coaches, Educators, Hobbyists, Everyone!
The official rules are listed on the official Robotics Summer of Learning page.