ROBOTC.net Blog  

ROBOTC News

Archive for the ‘Computer Science’ tag

Cool Project: Conway’s Game of Life

without comments

ROBOTC Game LifeXander over at BotBench (and future colleague!) created an awesome ROBOTC version of Conway’s famous Game of Life. As he states on his blog, “It was first thought of back in 1940, so it’s a real piece of computer science history.” The Game of Life has very simple rules: (taken from WikiPedia)

The universe of the Game of Life is an infinite two-dimensional orthogonal grid of square cells, each of which is in one of two possible states, alive or dead. Every cell interacts with its eight neighbours, which are the cells that are horizontally, vertically, or diagonally adjacent. At each step in time, the following transitions occur:

  1. Any live cell with fewer than two live neighbours dies, as if caused by under-population.
  2. Any live cell with two or three live neighbours lives on to the next generation.
  3. Any live cell with more than three live neighbours dies, as if by overcrowding.
  4. Any dead cell with exactly three live neighbours becomes a live cell, as if by reproduction.

The initial pattern constitutes the seed of the system. The first generation is created by applying the above rules simultaneously to every cell in the seed—births and deaths occur simultaneously, and the discrete moment at which this happens is sometimes called a tick (in other words, each generation is a pure function of the preceding one). The rules continue to be applied repeatedly to create further generations.

 

You can download the source code here: [LINK]. He tested it on a physical and emulated EV3 as well as an emulated NXT. It will work with ROBOTC 4.26 and up, which you can download here: [LINK].
 

Written by Cara Friez

October 10th, 2014 at 6:45 am

Sign up for the Robotics Summer of Learning All Summer!

without comments

Fun RSOL

Did you know that you can sign up for the Robotics Summer of Learning anytime during the summer? All our live webinars are recorded, so you can easily sign up today and work at your own pace!

FAQ

 


How do I join and get into the class?
Sign in or sign up for a new account at CS2N.org. Then visit http://cs2n.org/summer-of-learning and click on the VEX IQ robot. You’ll be taken to a new page where you will click “View” under “Summer of Learning 2014 – VEX IQ – Intro.” From there you will be in the official Summer of Learning course!

How much does this course and/or software cost?
Nothing at all! It is free until September 1, 2014.

What do I need to download?
ROBOTC and the VEX IQ Challenge Pack. You need to download both items. The License ID and Password is located in the CS2N Moodle Course. Use these to activate the license for the entire summer (through September 1st). Computer Minimum Requirements.

Where can I find the link for the live classes?
The link is at the top of the section for the topic of that class. For example, if the topic for the live class is turning, the link will be at the top of the basic movement section. This is also where you will find the recording after the live class has ended.

What is the class schedule?
The live class schedule is listed below, but remember that you can work throughout the summer at your own pace. All classes are recorded. Just keep in mind that if you work ahead, some items of the curriculum will not be released until later this summer.

Will I be able to use the ROBOTC Graphical with EV3 and/or NXT? And, will there be a RSOL class for that?
ROBOTC for LEGO MINDSTORMS is still in development, but it will be available later this summer. Once it is ready, there will be a Robotics Summer of Learning course specifically for it.

Live Webinar Course Schedule

  • June 16: Introduction to Software, Setup, Forums and Procedures used in this course
  • June 17: Intro to Expedition Atlantis and Moving Forward
  • June 23: Turning and Intro to Ruins of Atlantis
  • June 30: Forward until Touch and Forward until Near
  • July 7th: Turn for Angle, Forward until Color, Intro to Palm Island
  • July 14th: Loops and if/else
  • July 21st: Repeated Decisions, Continuous Decisions, Intro to Operation Reset
  • July 28th: Joystick and Button control, intro to VEX IQ Highrise

Sign Up2

Robotics Summer of Learning Starts Next Week!!

without comments

Our Robotics Summer of Learning (RSOL) course opens this Sunday, June 15 with our first live webinar course starting on Monday, June 16! The RSOL gives students the opportunity to learn how to program robots using a free copy ROBOTC 4.0 (including the new Graphical Natural Language) for Robot Virtual Worlds programming software. If you’ve always thought that ROBOTC was too difficult, you should try out the new Graphical Natural Language, which is part of ROBOTC 4.0!

Sign up here!

Live Webinar Course Schedule:

  • June 16: Introduction to Software, Setup, Forums and Procedures used in this course.
  • June 17: Intro to Expedition Atlantis and Moving Forward
  • June 23: Turning and Intro to Ruins of Atlantis
  • June 30: Forward until Touch and Forward until Near
  • July 7th: Turn for Angle, Forward until Color, Intro to Palm Island
  • July 14th: Loops and if/else
  • July 21st: Repeated Decisions, Continuous Decisions, Intro to Operation Reset
  • July 28th: Joystick and Button control, intro to VEX IQ Highrise

All courses will be held at 1:00 PM Eastern Standard Time with a live instructor. A link will be available in the CS2N Moodle course for each session. All sessions are recorded so that you can take the course at your own pace. These dates are subject to change.

And don’t forget to sign up for our Robotics Summer of Learning Newsletter to get important reminders and information throughout the summer!

2014 REC Foundation and Robomatter Scholarship

without comments

REC Foundation Scholarship REC Foundation and Robomatter are pleased to partner to offer one (1) $5,000 non-renewable scholarship to one (1) high school junior or senior intent on pursuing a degree related to science, technology, engineering and mathematics in college. The award will be presented at the VEX Robotics Competition World Championship in April 2014, but the student does not need to be present to win.

Eligible students must have participated in the VEX Robotics Competition and submit a 500-word essay explaining how their participation in both the VEX Robotics Competition and the Carnegie Mellon Robotics Academy Sponsored Robot Virtual World Competition enabled them to develop a high competency and appreciation for programming. In addition, students must indicate how programing skills and use of ROBOTC enhanced their understanding of robotics or aided their participation in the VEX Robotics Competition.

Click this link to see the scholarship requirements: Robomatter Scholarship

Fill out this form and follow the instructions on it to apply: Robomatter Scholarship Application form

Entries must include:

  • Student’s name
  • School name
  • Specify grade level (i.e. Junior or Senior at time of application)
  • Team number
  • Document/statement from team mentor verifying student’s participation/role in the challenge
  • Student’s email, mailing address with city, and state

All entries must be submitted to scholarships@roboticseducation.org.

Deadline: February 15, 2014!!

ROBOTC Graphical Natural Language

without comments

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.

TextBasedNaturalLanguage

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.

GraphicalProgrammingOverview1

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.

FunctionsParameters
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.

RepeatCommand
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.

CommentingOut
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!

NaturalLanguageWithCode
We have many other features and enhancements planned for Graphical Natural Language – Be on the lookout for a preview version sometime in January!

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.

Updates for Ruins of Atlantis AND Expedition Atlantis Virtual Worlds!

without comments

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!

Ruins of Atlantis can be downloaded from RobotVirtualWorlds.com or CS2N.org. Be sure to create and use a CS2N account to keep track of your achievements and game progress.

Expedition Atlantis
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!

Atlantis Beta 2

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.

Written by Jesse Flot

December 18th, 2013 at 4:18 pm

Expedition Atlantis Beta 3 Now Available!

without comments

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!

Atlantis Certificate

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.

Download the latest version of Expedition Atlantis at RobotVirtualWorlds.com.

Handling Common Teaching Issues

without comments

TeacherI’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.

IMG_2216Additionally, 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.

IMG_2276The 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

Written by Cara Friez

September 19th, 2013 at 12:17 pm

Setting Up Robots – VEX Edition

without comments

SettingUpVexNow 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.

Squarebot 4.0The 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.

swerve

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.

VEXiq-047-300x230

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.

 
 

Robomatter Blog Ad VEX

 

Written by Cara Friez

September 10th, 2013 at 2:40 pm

ROBOTC Curriculum Breakdown

without comments

ROBOTC-BreakdownA 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. Screenshot-2013-09-05_15.11.12Additionally, 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.

Screenshot-2013-08-05_15.01.181Each 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.