Microsoft Word Exam #1

bim-2010-bookWe recently gave the first exam for Microsoft Word. In our textbook, Microsoft Word was broken into 4 distinct units (A, B, C, and D).

We started the school year working on developing or refining keyboarding skills using Alfatyping. As such, we didn’t get started in the book until mid-September.

Our current grading cycle closes on 14-October. Up to this point, we have only covered through Unit C of Microsoft Word. At the conclusion of each unit we have given a unit “concepts quiz” and have taken numerous daily grades. Unfortunately, we have not yet had the opportunity to take a major grade.

After some discussion, we agreed to create an “intermediate” exam that would cover only Units A, B, and C. We created both an application (hands-on) exam and a concepts (knowledge) exam. The plan is to utilize the materials created by my predecessor (who is no longer able to teach BIM due to additional administrative duties) for an “end of Word” exam that would cover Units A, B, C, and D.

Our application test was the following:

Students were presented with a file with partial content and a set of 20 instructions to complete for formatting. They also had to complete the content in the file. Each major numbered task was worth 5 points.

Our concepts test was the following:

Students were presented with a total of 30 multiple choice questions. Approximately 10 questions from each unit (A, B, & C) were presented to the students.

Students were told that the exam was “open resource” and they were welcome to use whatever research techniques they had at their disposal. Examples of using the book, searching online, and discussing with a neighbor were all presented to the students.

Both tests were given over 2 90-minute classes. The application test was presented at the start of the first 90-minute class while the concepts test was presented at the start of the second 90-minute class.

On average, 65% of students completed the application test by the conclusion of the first 90-minute class. The remaining 35% completed the application test by the conclusion of the second 90-minute class following their work on the concepts test.

PR2 Grades – Computer Science

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 - 1(B) Computer Science I
Grade Distribution – 1(B) Computer Science I

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

  • 8/16 (50%) have A’s
  • 3/16 (18.75%) have B’s
  • 3/16 (18.75%) have C’s
  • 1/16 (6.25%) have F’s
  • 1/16 (6.25%) are Incomplete/Ungraded

To date, this class has had 1 major grade (25% of average), 3 intermediate grades (25% of average), and 8 minor grades (50% of average).

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

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.

PR2 Grades – Principles of Technology

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 – Principles of Technology 2(A)

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

  • 6/25 (24.0%) have A’s
  • 11/25 (44.0%) have B’s
  • 5/25 (20.0%) have C’s
  • 2/25 (8.0%) have F’s
  • 1/25 (4.0%) are Incomplete/Ungraded

To date, this class has had 1 major grade (25% of average), 3 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.

UPDATE: 02-October-2016

Missing work has been submitted by some students and the grade distributions have shifted to the following…

  • 6/25 (24.0%) have A’s
  • 12/25 (48.0%) have B’s
  • 5/25 (20.0%) have C’s
  • 1/25 (4.0%) have F’s
  • 1/25 (4.0%) are Incomplete/Ungraded

PR2 Grades – Business Information Management

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 - 2(B) BIM
Grade Distribution – 2(B) BIM
Grade Distribution - 3(B) BIM
Grade Distribution – 3(B) BIM
Grade Distribution - 4(B) BIM
Grade Distribution – 4(B) BIM
Grade Distribution - 4(A) BIM
Grade Distribution – 4(A) BIM

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

  • 57/91 (62.6%) have A’s
  • 23/91 (25.3%) have B’s
  • 8/91 (8.8%) have C’s
  • 0/91 (0.0%) have F’s
  • 3/91 (3.3%) are Incomplete/Ungraded

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

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

Air Skimmers Project

Our next unit in Principles of Technology is the building of “air skimmers” for the intoduction into our second instructional unit – Energy and Momentum.

In this unit we cover the following TEKS:

(9)  The student describes and applies the laws of the conservation of energy and momentum. The student is expected to:

(A)  describe the transformational process between work, potential energy, and kinetic energy (work-energy theorem);

(B)  use examples to analyze and calculate the relationships among work, kinetic energy, and potential energy;

(C)  describe and calculate the mechanical energy of, the power generated within, the impulse applied to, and the momentum of a physical system; and

(D)  describe and apply the laws of conservation of energy and conservation of momentum.

Here are the parts for mine cut and ready. Planning to allocate a full 90-minute class to measuring, cutting, and drawing.

We’ll do assembly for the first half of the next class and then discuss the math and science behind what is going to happen.

The following class period, we’ll launch and see who goes the farthest and fastest.

If/Then/Else If Versus Switches

Let’s examine the difference between using If/Then/Else If statements and Switch statements on a basic menu control object.

We are working with the structure of a previously built 4-function calculator that was constructed with If/Then/Else If statements similar to the following:

//Program Name: 4-Function Calculator
//Programmer Name: Your Name
//Programmer Organization: Ferris High School
//Program Date: Fall 2016

import java.util.*;
import java.lang.*;
import java.io.*;

public class calculator{
    public static void main (String[] args) throws java.lang.Exception{
        Scanner menuChoice = new Scanner(System.in);
        System.out.println("Basic Calculator");
        System.out.println("1 - Addition");
        System.out.println("2 - Subtraction");
        System.out.println("3 - Multiplication");
        System.out.println("4 - Division");
        System.out.println("");
        System.out.print("Enter Your Selection_");
        int menu = menuChoice.nextInt();
        
        if (menu == 1){
            //Code for Menu Option 1
        }else if (menu == 2){
            //Code for Menu Option 2
        }else if (menu == 3){
            //Code for Menu Option 3
        }else if (menu == 4){
            //Code for Menu Option 4
        }else{
           //Code if Other Integer Option is Selected
        }
    }
}

Let’s compare the structure of the above with that of a Switch statement similar to the following:

//Program Name: 4-Function Calculator (Switches)
//Programmer Name: Your Name
//Programmer Organization: Ferris High School
//Program Date: Fall 2016

import java.util.*;
import java.lang.*;
import java.io.*;

public class calculator_switches{
    public static void main (String[] args) throws java.lang.Exception{
        Scanner menuChoice = new Scanner(System.in);
        System.out.println("Basic Calculator");
        System.out.println("1 - Addition");
        System.out.println("2 - Subtraction");
        System.out.println("3 - Multiplication");
        System.out.println("4 - Division");
        System.out.println("");
        System.out.print("Enter Your Selection_");
        int menu = menuChoice.nextInt();
        
        switch (menu) {
            case 1:
                {
                    //Code for Menu Option 1
                    break;
                }
            case 2:
                {
                    //Code for Menu Option 2
                    break;
                }
            case 3:
                {
                    //Code for Menu Option 3
                    break;
                }
            case 4:
                {
                    //Code for Menu Option 4
                    break;
                }
            default:
                //Code if Something Different is Entered
                break;
        }
    }
}

Structurally, they both look about the same. Some of the first observations made are similar to “The Switch code is longer.” or “The Switch code has ‘break’ in it a lot.” or finally “I’m going to be thrown off that I don’t need curly braces in the default case of a Switch.”. All of these are good valid observations and concerns. Now, let’s look at why we even consider using the Switch construct.

Why Do We Care?

The primary reason we care is in the general processing speed of the application. When using an If/Then/Else If statement, the application must process each case until it finds the condition that is met. Once that condition is met, the conditional processing stops.

In contrast, a Switch statement creates a jump table that automatically jumps to the correct segment of code to be executed.

When Should I Use What?

If you have a construct that has two different pathways plus a default escape pathway, then an If/Then/Else If is typically considered the best choice.

Example – If/Then/Else If

if (menu == 1){
            //Code for Menu Option 1
        }else if (menu == 2){
            //Code for Menu Option 2
        }else{
            //Code for Items Other Than Menu Options 1 or 2
        }

However, anything beyond two different pathways plus a default escape pathway is better suited by a Switch statement.

Example – Switch

switch (menu) {
            case 1: {
                    //Code for Menu Option 1
                    break;
                }
            case 2: {
                    //Code for Menu Option 2
                    break;
                }
            case 3: {
                    //Code for Menu Option 3
                    break;
                }
            case 4: {
                    //Code for Menu Option 4
                    break;
                }
            default:
                //Code if Something Different is Entered
                break;
        }

 Which is More Efficient?

This is a bit of a loaded question. Some would say that efficiency is defined by how much typing and therefore “coding” is done on the front-end. In this case, the If/Then/Else If code at the top of this post has 755 typed characters while the Switch code has 787 typed characters. By this definition, the Switch code is 95% as efficient as the If/Then/Else If code.

If we define efficiency as speed at which the application runs, it depends on what data is input into the application at runtime. For example, if in the If/Then/Else If the user enters menu choice 1, the application processing time will likely be equal to or slightly faster than that of a Switch since menu choice 1 was the first condition to be checked.

However, if menu choice 4 is selected in the If/Then/Else If code, the application processing time will be longer than that of the Switch code since the conditional statement of menu choices 1, 2, and 3 had to be checked first since they were above the 4th menu choice in the code.

An If – Then – Else Calculator

Today, in Computer Science, we applied the basics of If-Then/Else-If to build a 4-function calculator.

Students were instructed to create a basic calculator application that would first query the user which function they wanted to compute:

1 – Addition
2 – Subtraction
3 – Multiplication
4 – Division

Upon selecting the desired function, the user would be asked to enter the numbers needed to perform the desired calculation. Upon entry of the requested data, the answer would be displayed in plain English.

In the end, the general program looked like the following…

//Program Name: 4-Function Calculator
//Programmer Name: Eric Evans, M.Ed.
//Programmer Organization: Ferris High School
//Program Date: Fall 2016

import java.util.*;
import java.lang.*;
import java.io.*;

public class calculator{
    public static void main (String[] args) throws java.lang.Exception{
        Scanner menuChoice = new Scanner(System.in);
        System.out.println("Basic Calculator");
        System.out.println("1 - Addition");
        System.out.println("2 - Subtraction");
        System.out.println("3 - Multiplication");
        System.out.println("4 - Division");
        System.out.println("");
        System.out.print("Enter Your Selection_");
        int menu = menuChoice.nextInt();
        
        if (menu == 1){
            Scanner firstNumber = new Scanner(System.in);
            System.out.print("Enter the First Number in Your Addition Problem_ ");
            double firstNum = firstNumber.nextDouble();
            Scanner secondNumber = new Scanner(System.in);
            System.out.print("Enter the Second Number in Your Addition Problem_ ");
            double secondNum = secondNumber.nextDouble();
            double solution = firstNum + secondNum;
            System.out.println(firstNum + " plus " + secondNum + " equals " + solution);
        }else if (menu == 2){
            Scanner firstNumber = new Scanner(System.in);
            System.out.print("Enter the First Number in Your Subtraction Problem_ ");
            double firstNum = firstNumber.nextDouble();
            Scanner secondNumber = new Scanner(System.in);
            System.out.print("Enter the Second Number in Your Subtraction Problem_ ");
            double secondNum = secondNumber.nextDouble();
            double solution = firstNum - secondNum;
            System.out.println(firstNum + " minus " + secondNum + " equals " + solution);
        }else if (menu == 3){
            Scanner firstNumber = new Scanner(System.in);
            System.out.print("Enter the First Number in Your Multiplication Problem_ ");
            double firstNum = firstNumber.nextDouble();
            Scanner secondNumber = new Scanner(System.in);
            System.out.print("Enter the Second Number in Your Multiplication Problem_ ");
            double secondNum = secondNumber.nextDouble();
            double solution = firstNum * secondNum;
            System.out.println(firstNum + " times " + secondNum + " equals " + solution);
        }else if (menu == 4){
            Scanner firstNumber = new Scanner(System.in);
            System.out.print("Enter the Total Number of Items You Wish to Divide_ ");
            double firstNum = firstNumber.nextDouble();
            Scanner secondNumber = new Scanner(System.in);
            System.out.print("Enter the Total Number of Groups You Wish the Items Divided Into_ ");
            double secondNum = secondNumber.nextDouble();
            double solution = firstNum / secondNum;
            System.out.println(firstNum + " divided by " + secondNum + " equals " + solution);
        }else{
            System.out.println("Invalid Selection Made.");
            System.out.println("Please Re-Run Program.");
            System.out.println("Make Valid Selection.");
        }
    }
}

In the next class session, we’ll discuss using Switches vs. If-Then / Else-If statements and analyze when those are appropriate and when they are not.

Mousetrap Racers

One of the projects that we do as part of Unit 1 – Motion in Principles of Technology is the “Mousetrap Racers”. These are the kits that come with basic materials for building a race car driven by a mousetrap. However, there are no directions.

In my case, students were working in groups of 2 and had 3 90-minute class periods to prepare their cars. They could use anything from within the classroom on their race cars.

Here are the pictures of their creations…

It Is a Language Other Than English!

It has been a bit of a day, but we now have official word from Texas Education Agency that Computer Science I, Computer Science II, and Computer Science III are all considered as Languages Other Than English and therefore meet the LOTE requirement for students for high school graduation.

At the time of this writing, much of the information on the TEA website is out-of-date and refers to a September 1, 2016 deadline for when these courses no longer count as a LOTE credit. This was what generated much of the confusion.

For us, this means that this course must remain named Computer Science I and not Computer Programming. The difference is that Computer Science I is funded from the State of Texas Technology Applications / Computer Sciences budget while Computer Programming is funded from the Carl D. Perkins-backed Federal Career & Technical Education budget.

Regardless of funding source, we want to do what is in the best interest of our students and offering them an additional “foreign language” alternative is in their best interest. As such, it’s Computer Science I for this year.