1st Quarter Grades

The first 25% of the 2016/2017 Academic Year is now in the books! Hard to believe – but, it’s true. This past Friday, 14-October-2016 marked the end of the first 9-week grading quarter of the year.

Here’s a recap of how the grades broke out for my various classes:

Computer Science I (1B)

Q1 2016 Grade Summary - Computer Science
Q1 2016 Grade Summary – Computer Science

This quarter ended with an introduction into iterations, which is one of the more challenging concepts for students to comprehend. As such, the grades fluctuated a little bit at the end of the grading cycle.

The only 2 failures were due to poor performance on the unit tests and not taking advantage of the opportunity to submit corrections to bring the grades higher.

Principles of Technology (2A)

Q1 2016 Grade Summary - Principles of Technology
Q1 2016 Grade Summary – Principles of Technology

The quarter ended with an introduction to Conservation of Energy and Momentum. The only two failures in the class were not a direct result of poor performance on a test, but due to lack of participating on projects.

The only 2 failing students elected to not participate on various major projects during the first quarter (e.g. air skimmer, water bottle rocket, etc…).

Robotics & Automation (3A)

Q1 2016 Grade Summary - Robotics and Automation
Q1 2016 Grade Summary – Robotics and Automation

Unlike the previous two classes, all students in this class passed all objectives for the quarter. Any low-grades were once again due to students not submitting work and not due to lack of understanding.

Business Information Management I (2B)

Q1 2016 Grade Summary - Business Information Management (2B)
Q1 2016 Grade Summary – Business Information Management (2B)

While the graph shows 1 student failing this class during this period, that grade was adjusted up to passing as it was within the 69.0 to 69.9 range. I personally do not let students sit on a “9”. I always override and round up the 69, 79, and 89.

As such, like the 3A Robotics and Automation class, this class had no failures!

Business Information Management I (3B)

Q1 2016 Grade Summary - Business Information Management (3B)
Q1 2016 Grade Summary – Business Information Management (3B)

Like the BIM class before it, this class had no failures! However, this class genuinely had zero failures and also held the highest average of all of my BIM classes! Way to go BIM 3B!

Business Information Management I (4A)

Q1 2016 Grade Summary - Business Information Management (4A)
Q1 2016 Grade Summary – Business Information Management (4A)

Like the BIM class before it, this class also genuinely had zero failures and came in a close second for the highest average of my BIM classes! Good work BIM 4A!

Business Information Management I (4B)

Q1 2016 Grade Summary - Business Information Management (4B)
Q1 2016 Grade Summary – Business Information Management (4B)

Like the BIM class before it, this class also genuinely had zero failures. However, this class had the highest number of low-C’s of any of the BIM classes. I am going to need to watch this class closely as there were far too many students who were too close to falling below the cut-off for my comfort.

What Will Be Changing

As we enter the 2nd Quarter of the year a few things will be changing in all of my classes.

  1. Seating chart will be established for Computer Science I to cut down on incidents of students disrupting class and interfering with learning.
  2. Seating chart will be established for Principles of Technology to address incidents of student disruptions.
  3. Seating chart will be established for Business Information Management (4B) to address student interactions that are preventing work from being completed in a timely manner.
  4. Students who fail to complete an assignment will be immediately assigned to come in for lunch/advisory on that day if in 1st or 2nd periods and on the next day if in 3rd or 4th periods.
  5. Students will not be allowed to take “breaks” on the computers when working. They will be allowed to listen to music, but video games will be blocked until complete and proper work is submitted.
  6. Campus late policy will be implemented as written. Work will no longer be taken after 5 days from assigned date except in rare and extreme cases.

PR2 Grades – Robotics

Well, here we are – 6 calendar weeks into the 2016/2017 academic year! While we are running 9-week quarter grading cycles, the UIL requires eligibility to be calculated at the first 6-weeks and then at each progress reporting period – approximately every 3 weeks.

Grade Distribution - 3(A) Robotics
Grade Distribution – 3(A) Robotics

Here, you can see that I have a total of 18 students on the roster at the time of the snapshot.

  • 16/18 (89%) have A’s
  • 1/18 (5.5%) have B’s
  • 1/18 (5.5%) have C’s

To date, this class has had no major grades (25% of average), 2 intermediate grades (25% of average), and 11 minor grades (50% of average).

The next grade check will be at the conclusion of Q1, which ends on Friday, 14-October-2016.

Driving Finches

My Robotics class was busy for the past few days working in SNAP! to program the Finches to perform various tasks. We started off easy with some pre-programmed sequential instructions like the following:

screen-shot-2016-09-28-at-7-07-15-pm

We then quickly moved up to more interactive non-linear / non-sequential programming which allowed us to create basic driving functionality. Here were the fruits of their labors:

The students seemed to have fun working with the Finches and it gave them the flexibility to focus solely on the automation programming without having to also worry about the engineering design.

Special thanks to Birdbrain Technologies for loaning us the Finches this year for the students to work with!

Easy as Pi

The basic LEGO Mindstorm EV3 truck we are using in this example contains two main drive tires and two smaller “bumper” tires. The balance of the weight is carried on a skid on the back-center of the robot. Each of the main drive tires are driven by a large motor. The task is to pre-program a robot to drive along the border of a 5 foot by 3 foot rectangle.

The main drive tires are the only one that we are interested in to solve this problem. First, we need to know the diameter of each tire. In this case, the truck is using 68.8mm diameter tires. We know the circumference of a circle is calculated by multiplying Pi (π) times the diameter or multiplying Pi (π) times double the radius.

C = πd or C = π(2r)

So, with a diameter 68.8mm, these tires have an approximate circumference of 216.14157mm. This means that for every full rotation of the tire, the robot moves 216.14157mm.

Now, let’s look at the length of our track. It is two 5-foot lengths and two 3-foot lengths. The converts to two 60-inch lengths and two 36-inch lengths. There are 25.4mm in 1 inch. As such, our track consists of two 1,524mm lengths and two 762mm lengths.

Unfortunately, we don’t luck out with our circumference evenly dividing into either of our lengths. This means that to stop at the exact length, the tire will not end at a complete rotation. We must calculate how many complete rotations and then how much of a fractional rotation would be needed for each length.

Let’s start with the 5-foot lengths. Remember, they are 1,524mm. Each complete tire rotation is 216.14157mm. So, we need to do some division:

1,524 ÷ 216.14157 = 7r11.00901

In common English, this means that to travel 1,524mm the wheel must rotate 7 complete times and then an additional 11.00901mm. The problem is how do we tell the computer to accomplish this task?

Option 1 – Fractional Rotations

In LEGO Mindstorm LabView, we can instruct the motor to turn a set number of rotations. In this case, we need to return to our division problem and solve for a floating decimal remainder

1,524 ÷ 216.14157 = 7.05093

This means that the motor will need to rotate 7.05093 times. If we double-check this, we multiply our answer (total number of rotations) by the circumference (distance traveled by each rotation) and should get our total distance.

7.05093 X 216.14157 = 1,523.99908mm

As we are working with approximations of π, a drift of 0.00091mm is sufficiently close.

Option 2 – Degree Rotations

In LEGO Mindstorm LabView, we can also instruct the motor to turn a set number of degrees. We know from earlier that we must perform a minimum of 7 complete rotations and then a fractional rotation.

To perform this calculation, we first need to know how much distance is traveled by a single degree of rotation. For this, we do the following:

216.14157mm ÷ 360° = 0.60039mm/1°

For every degree of rotation, the wheel will travel approximately 0.60039mm. So, to determine how many degrees are needed to travel 1,524mm, we divide that distance by the distance of 1 degree of rotation.

1,524mm ÷ 0.60039mm = 2,538.35007°

This means that to travel 1,524mm, the wheel needs to rotate 2,538.35007°. We know that this answer makes logical sense since we know from earlier that the wheel must complete just over 7 full rotations. There are 360° in a single rotation and 2,520° in 7 full rotations. This leaves 18.35007° to go.

Let’s double-check this. We calculated that a single degree of rotation produced 0.60039mm of travel. So, let’s see how much travel we get with 2,538.35007° of rotation.

0.60039mm X 2,538.35007° = 1,523.99999mm

As we are working with approximations of π, a drift of 0.00001mm is sufficiently close.

What About the Short Length?

Let’s take a moment to look at the short length and see if the level of accuracy between rotations and degrees holds.

Let’s start with rotations again. We know that a single rotation gives us approximately 216.14157mm of travel. We also know that our distance to be traveled is 3 feet or 762mm.

762 ÷ 216.14157 = 3.52546

This means the motor will need to rotate 3.52546 times to travel 3 feet. If we double-check this, we multiply our answer (total number of rotation) by the circumference (distance traveled by each rotation) and should get our total distance.

3.52546 X 216.14157 = 761.99845mm

When working with rotations on the shorter distance, our drift is 0.00154mm. This would mean that our total drift for the entire rectangle would be 0.0049mm.

(0.00091 X 2) + (0.00154 X 2) = 0.0049mm

Now, let’s look at degrees for the short length. Once again, we know that a single degree of rotation gives us approximately 0.60039mm of travel. We also know that our distance to be traveled is 3 feel or 762mm.

762mm ÷ 0.60039mm = 1,269.17503°

This means that if the tire rotates 1,269.17503°, we should travel 3 feet. If we double-check this, we multiply our total distance per degree traveled by the total number of degrees of rotation.

0.60039mm X 1,269.17503° = 761.99999mm

When working with degrees on the shorter distance, our drift is 0.00001mm. This would mean that our total drive for the entire rectangle would be 0.00004mm.

(0.00001 X 2) + (0.00001 X 2) = 0.00004mm

Which is the Best?

Well, if we look at which option gives us the most accurate result, working with degrees resulted in an answer that is only a total of 0.00004mm off while working with rotations results in an answer that was a total of 0.00490mm off. That is a total difference of 0.00486mm.

If we are looking for ease of calculation, the number or rotations requires far fewer calculations and in theory less possibility for calculation error.

A Local Robotics Competition

Background

The way that we are establishing our Computer Programming curriculum is as follows:

  • Year 1 – Computer Programming
    • Language: Python
  • Year 2 – AP Computer Programming
    • Languages: JAVA & Ruby

Our Problem

Because UIL uses JAVA as the basis for its Computer Science contests and TCEA uses JAVA as the programming language for their area robotics contests, there is nothing extra-curricular for the students in Year 1 of our program.

Possible Solution

I am thinking that we will implement a local robotics competition for our first-year students using the LEGO Mindstorm EV3 kits programmed using Python to solve a given problem or set of problems.

I’ll need judges from around the local and larger community to judge creativity, engineering, and coding.

Eventually, I would like to open it up as an invitational format that could generate revenue for our robotics program and provide a small thank you gift for our judges.