Number Conversions from Base 10

I have written a few posts (Post 1, Post 2, & Post 3) concerning various base number systems. In all of these posts, I covered how to convert from a non-decimal base into a decimal base. In other words, I covered how to get INTO base-10. This post is going to cover the inverse (decimal base into non-decimal base).

Modulus

We will need to start by reviewing the concept of modulus division. Let’s look at the standard division problem 5/2. We would typically say that the answer is 2.5 and this would be correct.

Now, modulus is simply the remainder of a division problem. Go back to when you were first introduced to division. In Texas, this is typically in 4th grade. Let’s take a look at that division problem of 5/2 again. When you were learning division, you would have said the answer was 2r1. The 1 is the modulus. When we’re writing the problem to just solve modulus, we would write it as 5%2.

Mechanics

Decimal to Octal

Let’s say that we have the decimal number (base 10) 4,814 and we want to convert it to an octal (base 8).

We will be building the number from right-to-left. The first thing we will do is solve 4,814/8. This equals 601r6. So, our first digit of the solution (starting on the right) is 6.

6

Now, we solve 601/8, which equals 75r1. So, our second digit of the solution (floating from right-to-left) is 1.

16

Now, we solve 75/8, which equals 9r3. So, our third digit of the solution (floating from right-to-left) is 3.

316

Now, we solve 9/8, which equals 1r1. So, out fourth digit of the solution (floating from right-to-left) is 1.

1316

Finally, we solve 1/8, which equals 0r1. So, our fifth and final digit of the solution (floating from right-to-left) is 1.

11316

So, the decimal number (base 10) 4,814 is equal to the octal (base 8) 11316.

As you can see, this is a bit of a process, but once you know the process, it is very simple. I now want to take a look at going to number systems with more digits than base 10, for example: base 16.

Decimal to Hexadecimal

Let’s say that we have the decimal number (base 10) 4,814 and we want to convert it to a HEX (base 16).

We start by solving 4,814/16, which gives us 300r14. Remember, that is number systems with more than 10 digits, we start using letters.

10 = A
11 = B
12 = C
13 = D
14 = E
15 = F

So, the first digit of our solution (building from right-to-left) is E.

E

Now, we solve 300/16, which gives us 18r12. So, the second digit of our solutions (building from right-to-left) is C.

CE

Now, we solve 18/16, which gives us 1r2. So, the third digit of our solution (building from right-to-left) is 2.

2CE

Finally, we solve 1/16, which gives us 0r1. So, the fourth digit of our solution (building from right-to-left) is 1.

12CE

So, the decimal number (base 10) 4,814 is equal to the hexadecimal (base 16) 12CE.

CS1 07-Feb-2018 to 13-Feb-2018

Lesson Name:

Women Pioneers in Computer Science

TEKS – §126.33 (Computer Science 1):

  • c.1 – Creativity and innovation. The student develops products and generates new understandings by extending existing knowledge. The student is expected to:
  • c.1.C – participate in relevant, meaningful activities in the larger community and society to create electronic projects.
  • c.5 – Digital citizenship. The student explores and understands safety, legal, cultural, and societal issues relating to the use of technology and information. The student is expected to:
  • c.5.E – investigate how technology has changed and the social and ethical ramifications of computer usage.

Lesson Objectives:

  1. The student will be able to identify key women pioneers in the field of Computer Science
  2. The student will be able to identify the contributions of women pioneers in the field of Computer Science

Materials Needed:

  1. Group Assignments
  2. Pioneers Assigned to Research

Description of Lesson:

Students will be assigned to groups and each group will be assigned a woman pioneer in Computer Science to research.

Each group will have two (2) full class sessions to develop a presentation about their assigned pioneer.

The presentation can be in any media the group chooses (PowerPoint, song, round table discussion, Socratic seminar, etc…). The presentations will be conducted on the 3rd day of the project.

Grade(s):

  • Major Grade – Project Presentation

PAE 05-Feb-2018 to 09-Feb-2018

Lesson Name:

Women Pioneers in Engineering

TEKS – §130.402 (Principles of Applied Engineering):

  • c.2 – The student investigates the components of engineering and technology systems. The student is expected to:
  • c.2.A – investigate and report on the history of engineering science

Lesson Objectives:

  1. The student will be able to identify key women pioneers in the field of Engineering
  2. The student will be able to identify the contributions of women pioneers in the field of Engineering

Materials Needed:

  1. Group Assignments
  2. Pioneers Assigned to Research

Description of Lesson:

Students will be assigned to groups and each group will be assigned a woman pioneer in Engineering to research.

Each group will have four (4) full class sessions to develop a presentation about their assigned pioneer.

The presentation can be in any media the group chooses (PowerPoint, song, round table discussion, Socratic seminar, etc…). The presentations will be conducted on the 5th day of the project.

Grade(s):

  • Major Grade – Project Presentation

CS1 26-Jan-2018 to 05-Feb-2018

Lesson Name:

Iterative Loops Project in Python

TEKS – §126.33 (Computer Science 1):

  • c.2 – Communication and collaboration. The student communicates and collaborates with peers to contribute to his or her own learning and the learning of others. The student is expected to:
  • c.2.A – create and properly display meaningful output
  • c.2.D – write programs with proper programming style to enhance the readability and functionality of the code by using meaningful descriptive identifiers, internal comments, white space, spacing, indentation, and a standardized program style
  • c.4 – Critical thinking, problem solving, and decision making. The student uses appropriate strategies to analyze problems and design algorithms. The student is expected to:
  • c.4.E – identify reusable components from existing code
  • c.4.H – identify and debug errors
  • c.4.I – test program solutions with appropriate valid and invalid test data for correctness
  • c.4.J – debug and solve problems using error messages, reference materials, language documentation, and effective strategies
  • c.4.U – demonstrate proficiency in the use of the relational operators
  • c.4.V – demonstrate proficiency in the use of the logical operators
  • c.6 – Technology operations, systems, and concepts. The student understands technology concepts, systems, and operations as they apply to computer science. The student is expected to:
  • c.6.O – choose, identify, and use the appropriate data types for integer, real, and Boolean data when writing program solutions
  • c.6.P – demonstrate an understanding of the concept of a variable
  • c.6.V – compare and contrast strongly typed and un-typed programming languages

Lesson Objectives:

  1. The student will demonstrate mastery of for loop programming in Python.
  2. The student will demonstrate mastery of do loop programming in Python.
  3. The student will demonstrate mastery of do while loop programming in Python.

Materials Needed:

  1. Repl.it Access

Description of Lesson:

Students will be given 5 different problems to solve involving iterative loops. Students will be given 5 class periods to develop a solution to each of the given problems.

Grade(s):

  • Minor Grade – Solution to Problem 1 (50%) & Solution to Problem 4 (50%)
  • Major Grade – Solution to Problem 2 (33%), Solution to Problem 3 (33%), & Solution to Problem 5 (33%)

CS1 24-Jan-2018

Lesson Name:

Programming Iterative Loops in Python

TEKS – §126.33 (Computer Science 1):

  • c.2 – Communication and collaboration. The student communicates and collaborates with peers to contribute to his or her own learning and the learning of others. The student is expected to:
  • c.2.A – create and properly display meaningful output
  • c.2.D – write programs with proper programming style to enhance the readability and functionality of the code by using meaningful descriptive identifiers, internal comments, white space, spacing, indentation, and a standardized program style
  • c.4 – Critical thinking, problem solving, and decision making. The student uses appropriate strategies to analyze problems and design algorithms. The student is expected to:
  • c.4.E – identify reusable components from existing code
  • c.4.H – identify and debug errors
  • c.4.I – test program solutions with appropriate valid and invalid test data for correctness
  • c.4.J – debug and solve problems using error messages, reference materials, language documentation, and effective strategies
  • c.4.U – demonstrate proficiency in the use of the relational operators
  • c.4.V – demonstrate proficiency in the use of the logical operators
  • c.6 – Technology operations, systems, and concepts. The student understands technology concepts, systems, and operations as they apply to computer science. The student is expected to:
  • c.6.O – choose, identify, and use the appropriate data types for integer, real, and Boolean data when writing program solutions
  • c.6.P – demonstrate an understanding of the concept of a variable
  • c.6.V – compare and contrast strongly typed and un-typed programming languages

Lesson Objectives:

  1. The student will demonstrate mastery of for loop programming in Python.
  2. The student will demonstrate mastery of do loop programming in Python.
  3. The student will demonstrate mastery of do while loop programming in Python.

Materials Needed:

  1. Repl.it Access

Description of Lesson:

Students will cover hands-on how to create a for, do, and do while loop in Python. Further discussion on benefits and pitfalls of each iterative looping structure will be discussed.

Grade(s):

  • Daily Grade – Guided Practice Lesson File

PAE 23-Jan-2018 to 02-Feb-2018

Lesson/Unit Name:

Materials Engineering

TEKS – §130.402 (Principles of Applied Engineering):

  • c.2 – The student investigates the components of engineering and technology systems. The student is expected to:
  • c.2.F – conduct and present research on emerging and innovative technology
  • c.3 – The student presents conclusions, research findings, and designs using a variety of media throughout the course. The student is expected to:
  • c.3.A – use clear and concise written, verbal, and visual communication techniques
    c.4 – The student uses appropriate tools and demonstrates safe work habits. The student is expected to:
  • c.4.C – recognize the classification of hazardous materials and wastes
  • c.4.D – dispose of hazardous materials and wastes appropriately
  • c.4.F –  describe the implications of negligent or improper maintenance
  • c.5 – The student describes the factors that affect the progression of technology and the potential intended and unintended consequences of technological advances. The student is expected to:
  • c.5.A – describe how technology has affected individuals, societies, cultures, economies, and environments
  • c.5.C – describe how and why technology progresses
  • c.6 – The student thinks critically and applies fundamental principles of system modeling and design to multiple design projects. The student is expected to:
  • c.6.B – identify the chemical, mechanical, and physical properties of engineering materials
  • c.6.D – use consistent units for all measurements and computations

Lesson Objectives:

  1. The student will be able to identify different types of materials (metal, ceramic, polymer, composite, and other) by their characteristics.
  2. The student will be able to identify alternative materials for products to be composed of and the advantages and disadvantages of each proposed alternative.
  3. The student will be able to identify the various properties of different materials.
  4. The student will be able to demonstrate mastery of materials engineering concepts by developing a material concept to protect items in transport on a pallet.

Materials Needed:

  1. Pre-Test, Vocabulary Activity, Key Terms Shared Document, Lab 9.1
  2. Lab 9.2
  3. Lab 9.3, Various Materials for Testing/Observation
  4. Lab 9.4

Description of Lesson:

Students will be introduced on the first day of the lesson to the start-of-unit activities and various types of materials (metal, ceramic, polymer, composite, and other). Students will complete Lab 9.1 as homework that is due by 26-January-2018.

Students will be introduced to the concept that products can be made of alternative materials and there are advantages and disadvantages to all materials.

Students will be introduced to different properties of materials, such as physical, mechanical, electro-magnetic, chemical, thermal, and optical/acoustical. Students will research the properties for various given materials.

Students will be assigned a task of creating a lightweight material that can wrap products placed on a wooden transport pallet. The materials must be protected from the elements and must be held stable on the pallet. Students will present their ideas to the class at the conclusion of the project.

Grade(s):

  • 23-Jan-2018
    • Daily Grade – Pre-Test
    • Daily Grade – Key Terms
    • Daily Grade – Vocabulary Activity
    • Minor Grade – Lab 9.1 (Due 26-Jan-2018)
  • 24-Jan-2018
    • Daily Grade – Lab 9.2
  • 25-Jan-2018
    • Daily Grade – Lab 9.3
  • 26-Jan-2018
    • Minor Grade – Lab 9.5 Problem Definition
  • 29-Jan-2018 to 02-Feb-2018
    • Major Grade – Lab 9.5 Full Solution

CS1 22-Jan-2018

Lesson Name:

Iterative Loops – Hands-On

TEKS – §126.33 (Computer Science 1):

  • c.4 – Critical thinking, problem solving, and decision making. The student uses appropriate strategies to analyze problems and design algorithms. The student is expected to:
  • c.4.U – demonstrate proficiency in the use of the relational operators
  • c.4.V – demonstrate proficiency in the use of the logical operators

Lesson Objectives:

  1. The student will demonstrate an understanding of the three main iterative looping structures (do, do while, and for).

Materials Needed:

  1. Worksheets – 2018-01-22 – Hands-On with Iterative Loops

Description of Lesson:

Students will be given a list of physical instructions to repeat in an iterative pattern in a do, do while, and for loop. Students will perform the physical tasks the number of times the iterative instructions provide.

Students will then complete a worksheet using Python to solve for given iterative mathematical problems enclosed in various loop structures.

Grade(s):

  • Daily Grade – Participation in Physical Iterative Loops
  • Daily Grade – Iterative Mathematical Problems

Girls Summer STEM Camp

Well, my original “gutsy goal” for an all-girls Summer STEM camp has hit a funding snag. I was hopeful that we could purchase LEGO Mindstorm EV3 kits and establish 4 FIRST LEGO League teams at Ferris Junior High and 4 more at Ferris Intermediate. While I have not exhausted all of my funding avenues, I am starting to plan my fall-back solution should we have extremely limited funding.

The plan will be to have girls who have completed 4th or 5th grade be in the first camp, which will be the weeks of June 4th and June 11. The girls who have completed 6th grade will be in the second camp, which will be the week of June 18th and June 25th.

In both camps, the girls will be broken-up into 3 teams. I would limit the number of girls on a team to 7, so that means no more that 21 girls can be enrolled in the camp.

Each team will be given a basic FTC kit of parts. One will be REV and the other two will be PITSCO/TETRIX. We will cover basic build and programming in the first two or three days and then take a look at the Relic Recovery game. The girls will have the rest of that week to build and program a robot and will compete one-on-one in a Relic Recovery game.

We will do to different rounds of competition to determine a “winner” from the camp. On the last day, we will break-down all of the equipment for either the next group of campers or for summer storage.

The only expenses I see with this solution are that I do not have phones or controllers for the REV kit of parts. As such, I would need to purchase two inexpensive Android phones and will need to purchase the controllers.

CS1 16-Jan-2018

Lesson Name:

Casting Variables in Python

TEKS – §126.33 (Computer Science 1):

  • c.2 – Communication and collaboration. The student communicates and collaborates with peers to contribute to his or her own learning and the learning of others. The student is expected to:
  • c.2.A – create and properly display meaningful output
  • c.2.D – write programs with proper programming style to enhance the readability and functionality of the code by using meaningful descriptive identifiers, internal comments, white space, spacing, indentation, and a standardized program style
  • c.4 – Critical thinking, problem solving, and decision making. The student uses appropriate strategies to analyze problems and design algorithms. The student is expected to:
  • c.4.E – identify reusable components from existing code
  • c.4.H – identify and debug errors
  • c.4.I – test program solutions with appropriate valid and invalid test data for correctness
  • c.4.J – debug and solve problems using error messages, reference materials, language documentation, and effective strategies
  • c.6 – Technology operations, systems, and concepts. The student understands technology concepts, systems, and operations as they apply to computer science. The student is expected to:
  • c.6.O – choose, identify, and use the appropriate data types for integer, real, and Boolean data when writing program solutions
  • c.6.P – demonstrate an understanding of the concept of a variable
  • c.6.V – compare and contrast strongly typed and un-typed programming languages

Lesson Objectives:

  1. The student will demonstrate mastery of casting variables as strings in Python.
  2. The student will demonstrate mastery of working with strings and substrings in Python.

Materials Needed:

  1. Repl.it Access

Description of Lesson:

Students will cover hands-on how to cast basic variables in Python and when casting may be necessary.

Grade(s):

  • Daily Grade – Guided Practice Lesson File

ROB2 17-Jan-2018 to 19-Jan-2018

Lesson Name:

League Tournament Preparation

TEKS – §130.409 (ROBOTICS 2):

  • c.1 – The student demonstrates professional standards/employability skills as required by business and industry. The student is expected to:
  • c.1.A – distinguish the differences among an engineering technician, engineering technologist, and engineer;
  • c.1.D – recognize the principles of teamwork related to engineering and technology;
  • c.1.E – identify and use appropriate work habits;
  • c.1.G – discuss ethical issues related to engineering and technology and incorporate proper ethics in submitted projects;
  • c.1.J – demonstrate effective oral and written communication skills using a variety of software applications and media; and
  • c.2 – The student uses mathematical processes to acquire and demonstrate mathematical understanding. The student is expected to:
  • c.2.B – use a problem-solving model that incorporates analyzing given information, formulating a plan or strategy, determining a solution, justifying the solution, and evaluating the problem-solving process and the reasonableness of the solution;
  • c.2.C – select tools, including real objects, manipulatives, paper and pencil, and technology as appropriate, and techniques, including mental math, estimation, and number sense as appropriate, to solve problems;
  • c.2.D – communicate mathematical ideas, reasoning, and their implications using multiple representations, including symbols, diagrams, graphs, and language as appropriate;
  • c.2.E – create and use representations to organize, record, and communicate mathematical ideas;
  • c.2.F – analyze mathematical relationships to connect and communicate mathematical ideas; and
  • c.2.G – display, explain, and justify mathematical ideas and arguments using precise mathematical language in written or oral communication.
  • c.3 – The student learns and contributes productively as an individual and as a member of a project team. The student is expected to:
  • c.3.A – demonstrate an understanding of and discuss how teams function;
  • c.3.B – apply teamwork to solve problems;
  • c.3.C – follow directions and decisions of responsible individuals of the project team;
  • c.3.D – participate in establishing team procedures and team norms; and
  • c.3.E – work cooperatively with others to set and accomplish goals in both competitive and non-competitive situations.
  • c.4 – The student develops skills of project management. The student is expected to:
  • c.4.A – implement project management methodologies, including initiating, planning, executing, monitoring and controlling, and closing a project;
  • c.4.B – develop a project schedule and complete work according to established criteria;
  • c.4.C – participate in the organization and operation of a real or simulated engineering project; and
  • c.4.D – translate and employ a Project Management Plan for production of a product.
  • c.5 – The student practices safe and proper work habits. The student is expected to:
  • c.5.B – comply with safety guidelines as described in various manuals, instructions, and regulations;
  • c.5.E – comply with established guidelines for working in a lab environment;
  • c.5.F – handle and store tools and materials correctly;
  • c.5.G – employ established inventory control and organization procedures; and
  • c.5.H – describe the results of negligent or improper maintenance.
  • c.6 – The student develops the ability to use and maintain technological products, processes, and systems. The student is expected to:
  • C.6.A – demonstrate the use of computers to manipulate a robotic or automated system and associated subsystems;
  • c.6.B – troubleshoot and maintain systems and subsystems to ensure safe and proper function and precision operation;
  • c.6.C – implement feedback control loops used to provide information; and
  • c.6.D – implement different types of sensors used in robotic or automated systems and their operations.
  • c.7 – The student demonstrates an understanding of advanced mathematics and physics in robotic and automated systems. The student is expected to:
  • c.7.A – apply the concepts of acceleration and velocity as they relate to robotic and automated systems;
  • c.7.B – describe the term degrees of freedom and apply it to the design of joints used in robotic and automated systems;
  • c.7.C – describe angular momentum and integrate it in the design of robotic joint motion, stability, and mobility;
  • c.7.D – use the impulse-momentum theory in the design of robotic and automated systems;
  • c.7.E – explain translational, rotational, and oscillatory motion in the design of robotic and automated systems;
  • c.7.F – apply the operation of direct current (DC) motors, including control, speed, and torque;
  • c.7.G – apply the operation of servo motors, including control, angle, and torque;
  • c.7.H – interpret sensor feedback and calculate threshold values;
  • c.7.I – apply measurement and geometry to calculate robot navigation;
  • c.7.J – implement movement control using encoders; and
  • c.7.K – implement path planning using geometry and multiple sensor feedback.
  • C.8 – The student creates a program to control a robotic or automated system. The student is expected to:
  • c.8.A – use coding languages and proper syntax;
  • c.8.B – use programming best practices for commenting and documentation;
  • c.8.C – describe how and why logic is used to control the flow of the program;
  • c.8.D – create a program flowchart and write the pseudocode for a program to perform an operation;
  • c.8.E – create algorithms for evaluating a condition and performing an appropriate action using decisions;
  • c.8.F – create algorithms that loop through a series of actions for a specified increment and for as long as a given condition exists;
  • c.8.G – create algorithms that evaluate sensor data as variables to provide feedback control;
  • c.8.H – use output commands and variables;
  • c.8.I – use selection programming structures such as jumps, loops, switch, and case; and
  • c.8.J – implement subroutines and functions.
  • c.9 – The student develops an understanding of the characteristics and scope of manipulators, accumulators, and end effectors required for a robotic or automated system to function. The student is expected to:
  • c.9.A – demonstrate knowledge of robotic or automated system arm construction;
  • c.9.B – demonstrate an understanding and apply the concepts of torque, gear ratio, stability, and weight of payload in a robotic or automated system arm operation; and
  • c.9.C – demonstrate an understanding and apply the concepts of linkages and gearing in end effectors and their use in a robotic or an automated arm system.
  • c.10 – The student uses engineering design methodologies. The student is expected to:
  • c.10.A – implement the design process;
  • c.10.B – demonstrate critical thinking, identify the system constraints, and make fact-based decisions;
  • c.10.C – apply formal testing and reiteration strategies to develop or improve a product;
  • c.10.D – apply and defend decision-making strategies when developing solutions;
  • c.10.E – identify and improve quality-control issues in engineering design and production;
  • c.10.G – use an engineering notebook to document the project design process as a legal document; and
  • c.10.H – create and interpret industry standard system schematics.
  • c.11 – The student learns the function and application of the tools, equipment, and materials used in robotic and automated systems through specific project-based assessments. The student is expected to:
  • c.11.A – use and maintain tools and laboratory equipment in a safe manner to construct and repair systems;
  • c.11.B – use precision measuring instruments to analyze systems and prototypes;
  • c.11.C – implement a system to identify and track all components of the robotic or automated system and all elements involved with the operation, construction, and manipulative functions; and
  • c.11.D – use multiple software applications to simulate robot behavior and present concepts.
  • c.12 – The student produces a product using the appropriate tools, materials, and techniques. The student is expected to:
  • c.12.A – use the design process to design a robotic or automated system that meets pre-established criteria and constraints;
  • c.12.B – identify and use appropriate tools, equipment, machines, and materials to produce the prototype;
  • c.12.C – implement sensors in the robotic or automated system;
  • c.12.D – construct the robotic or automated system;
  • c.12.E – use the design process to evaluate and formally test the design;
  • c.12.F – refine the design of the robotic or automated system to ensure quality, efficiency, and manufacturability of the final robotic or automated system; and
  • c.12.G – present the final product using a variety of media.

Lesson Objectives:

  1. The student will prepare the FTC 11242 and/or FTC 12645 robotic system to compete in the upcoming end-of-season tournament.
  2. The student will prepare materials for the team interviews to be conducted at the upcoming end-of-season tournament.

Materials Needed:

  1. Robotic Systems
  2. Build Materials
  3. Build Tools
  4. Programming Computer

Description of Lesson:

FTC 11242 will meet for two days this week and FTC 12645 will meet for two days this week. Both teams are to work on final preparations for the upcoming end-of-season tournament.

Grade(s):

  • Daily Grade – Meet Preparations (2-Days = 50% each day)