## CS2 12-Jan-2018

2-D Arrays

#### TEKS – §126.34 (Computer Science 2):

• c.3 – Research and information fluency. The student locates, analyzes, processes, and organizes data. The student is expected to:
• c.3.D – manipulate data structures using string processing;
• c.3.F – identify and use the structured data type of one-dimensional arrays to traverse, search, modify, insert, and delete data;
• c.3.G – identify and use the structured data type of two-dimensional arrays to traverse, search, modify, insert, and delete data;

#### Lesson Objectives:

1. The student will be able to create and manipulate a 2-D array.
2. The student will be able to explain the difference and uses of a 1-D array and a 2-D array.

1. NetBeans

#### Description of Lesson:

Students will analyze the purposes, functions, and uses of a 1-D array compared to a 2-D array using Excel. Students will then create a 2-D array of their class schedule with the period, class name, and teacher name.

```public class carl {
public static void main(String[] args){
String[][] mySchedule = {
{ "1AB", "Principles of Applied Engineering", "Evans" },
{ "2A", "Computer Science 1", "Evans" },
{ "2B", "Computer Science 2", "Evans" },
{ "3A", "FTC 11242 Robotics", "Evans" },
{ "3B", "FTC 12645 Robotics", "Evans" },
{ "4A", "Computer Science 1", "Evans" },
{ "4B", "Conference & Planning", "Evans" },
{ "5AB", "Principles of Applied Engineering", "Evans" },
};
for(int row = 0; row < 8; row++){
for(int col = 0; col < 3; col++){
System.out.print(mySchedule[row][col] + " ");
}
System.out.println("");
}
}
}```

• Daily Grade – 2-D Array

## CS1 11-Jan-2018

#### Lesson Name:

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 the integer, string, and floating variables.
2. The student will create a basic program that utilizes each of the covered variable types.

#### Materials Needed:

1. Repl.it Access

#### Description of Lesson:

Students will cover hands-on how to create a basic application in Python that utilizes integer, float, and string variables.

Students will create their own application in Python that utilizes integer, float, and string variables correctly.

• Daily Grade – Guided Practice Lesson File (50%) & Independent Practice File (50%)

## CS2 10-Jan-2018

Stacks vs Arrays

#### TEKS – §126.34 (Computer Science 2):

• c.3 – Research and information fluency. The student locates, analyzes, processes, and organizes data. The student is expected to:
• c.3.D – manipulate data structures using string processing;
• c.3.F – identify and use the structured data type of one-dimensional arrays to traverse, search, modify, insert, and delete data;

#### Lesson Objectives:

1. The student will be able to create and manipulate a stack data structure.
2. The student will be able to create and manipulate a 1-d array structure.

#### Materials Needed:

1. NetBeans
2. stackedData.dat File (queued phone calls)
3. arrayData.dat File (numbered list)

#### Description of Lesson:

Students will create a basic stack of 10 queued phone calls and pull the top item off of the stack. Discussion will focus on the fact that items are read from top to bottom from the data file. As such, items at the bottom of the file are the last ones placed into the stack.

```import java.io.*;
import java.util.*;

public static void main(String[] args) throws IOException{
Scanner numbers = new Scanner( new File("stackedData.dat")); //Accesses the data file.
Stack firstStack = new Stack(); //Constructor to build an empty stack called "firstStack".
while(numbers.hasNextLine()){ //Opening loop that run as long as the file has a nextLine.
firstStack.push(numbers.nextLine()); //Loop executes a push to enter the data from the data file to the stack.
} //Closes the while loop.
System.out.println("Next Call in Queue is " + firstStack.pop()); //Outputs the item on the top of the stack. Item is removed.
}
}```

Students will then create a 1-D array of a set of numbers. They will manipulate that data set as well.

```import java.io.*;
import java.util.*;
import java.util.Arrays;

public class billy {
public static void main(String[] args) throws IOException{
Scanner nmbrs = new Scanner( new File("arrayData.dat"));
int[] myNewArray = new int[10];
int indexNumber = 0;
while (nmbrs.hasNext()){
int numberFromFile = nmbrs.nextInt();
myNewArray[indexNumber] = numberFromFile;
indexNumber++;
}
System.out.println("Unsorted: " + Arrays.toString(myNewArray));
Arrays.sort(myNewArray);
System.out.println("Sorted: " + Arrays.toString(myNewArray));
int subtr = myNewArray[9] - myNewArray[8];
System.out.println(myNewArray[9] + " - " + myNewArray[8] + " = " + subtr);
}
}```

• Daily Grade – Stack (50%) / Array (50%)

## PAE 09-Jan-2018 to 19-Jan-2018

#### Lesson/Unit Name:

Mechanical 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.D – describe how technological systems interact to achieve common goals
• c.2.E – compare and contrast engineering, science, and technology careers
• 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
• 3.D – use industry standard visualization techniques and media
c.4 – The student uses appropriate tools and demonstrates safe work habits. The student is expected to:
• c.4.A – master relevant safety tests
• c.4.G – demonstrate the use of precision measuring instruments
• 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.B – describe how the development and use of technology influenced past events
• 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.D – use consistent units for all measurements and computations
• c.8 – The student understands the opportunities and careers in fields related to electrical and mechanical systems. The student is expected to:
• c.8.A – describe the applications of electrical and mechanical systems
• c.8.B – describe career opportunities in electrical and mechanical systems
• c.8.C – identify emerging trends in electrical and mechanical systems

#### Lesson Objectives:

1. The student will be able to define key terms relating to materials engineering.
2. The student will be able to identify different types of motion by their characteristics.
3. The student will be able to complete calculations to determine work, pressure, power and/or torque of a given system.
4. The student will be able to identify key power systems on a given mechanical system.
5. The student will be able to build a mechanical system to complete a given task.

#### Materials Needed:

1. Pre-Test, Vocabulary Activity, Key Terms Shared Document, Lab 8.1
2. Lab 8.2, FTC 12645 Robot, FTC 11242 Robot
3. Lab 8.3
4. Lab 8.4, LEGO Mindstorm EV3 Kits with Pre-Programmed Bricks

#### Description of Lesson:

Students will be introduced on the first day of the lesson to the start-of-unit activities and various types of motion (linear, rotary, reciprocating, and oscillating). Students will complete Lab 8.1 as homework that is due by 12-January-2018.

Students will be introduced to power systems. Students will identify the power system, transmission device(s), control device(s), and output device(s) on either the FTC 11242 or FTC 12645 competition robots.

Students will be introduced to the concepts of calculating work, pressure, power, and torque. Students will complete a series of calculations given set data and formulas.

Students will be assigned a task of creating a mouse-trap powered car. Students will only be given the mousetrap and must provide the rest of their supplies.

• 09-Jan-2018
• Daily Grade – Key Terms
• Daily Grade – Vocabulary Activity
• Minor Grade – Lab 8.1 (Due 12-Jan-2018)
• 10-Jan-2018
• Daily Grade – Lab 8.2
• 11-Jan-2018
• Daily Grade – Lab 8.3
• 12-Jan-2018
• Minor Grade – Lab 8.4 Problem Definition
• 16-Jan-2018 to 19-Jan-2018
• Major Grade – Lab 8.4 Full Solution

## ROB2 09-Jan-2018 to 12-Jan-2018

#### Lesson Name:

League Meet #3 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 3rd and final league meet of the contest season.
2. The student will prepare materials for the team mock interviews to be conducted at the upcoming 3rd and final league meet of the contest season.

#### 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 3rd and final league meet of the contest season.

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

## ROB1 09-Jan-2018 to 12-Jan-2018

#### Lesson Name:

League Meet #3 Preparation

#### TEKS – §130.408 (ROBOTICS 1):

• c.1  – The student demonstrates professional standards/employability skills as required by business and industry. The student is expected to:
• c.1.A  – demonstrate knowledge of how to dress appropriately, speak politely, and conduct oneself in a manner appropriate for the profession;
• c.1.B – demonstrate the ability to cooperate, contribute, and collaborate as a member of a group in an effort to achieve a positive collective outcome;
• c.1.C – present written and oral communication in a clear, concise, and effective manner, including explaining and justifying actions;
• c.1.D – demonstrate time-management skills in prioritizing tasks, following schedules, and performing goal-relevant activities in a way that produces efficient results; and
• c.1.E – demonstrate punctuality, dependability, reliability, and responsibility in performing assigned tasks as directed.
• c.2 – The student demonstrates the skills necessary for success in a technical career. The student is expected to:
• c.2.D –  discuss ethical issues related to engineering and technology and incorporate proper ethics in submitted projects;
• c.3 –  The student participates in team projects in various roles. The student is expected to:
• c.3.A – explain the importance of teamwork in the field of robotics;
• c.3.B – apply principles of effective problem solving in teams to collaboration and conflict resolution; and
• c.3.C – demonstrate proper attitudes as a team leader and team member.
• c.4 – The student develops skills for managing a project. 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 – develop a plan for production of an individual 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.F – perform maintenance on selected tools, equipment, and machines;
• c.5.G – handle and store tools and materials correctly; and
• c.5.H –  describe the results of improper maintenance of material, tools, and equipment.
• 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 – maintain systems to ensure safe and proper function and precision operation;
• c.6.D – describe types and functions of sensors used in robotic systems.
• c.7 – The student develops an understanding of engineering principles and fundamental physics. The student is expected to:
• c.7.A – demonstrate knowledge of Newton’s Laws as applied to robotics such as rotational dynamics, torque, weight, friction, and traction factors required for the operation of robotic systems;
• c.7.B – demonstrate knowledge of motors, gears, gear ratios, and gear trains used in the robotic systems;
• c.7.D – describe the operation of direct current (DC) motors, including control, speed, and torque; and
• c.7.E – describe the operation of servo motors, including control, angle, and torque.
• c.8 – 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.8.A – describe the relationship between robotic arm construction and robot stability;
• c.8.B – describe the relationship between torque and gear ratio to weight of payload in a robotic arm operation; and
• c.8.C – demonstrate knowledge of linkages and gearing in end effectors used in a robotic arm system.
• c.9 – The student uses engineering design methodologies. The student is expected to:
• c.9.A – demonstrate an understanding of and discuss the design process;
• c.9.B – think critically, identify the system constraints, and make fact-based decisions;
• c.9.C – apply testing and reiteration strategies to develop or improve a product;
• c.9.D – apply decision-making strategies when developing solutions;
• c.9.E – identify quality-control issues in engineering design and production;
• c.9.G –  use an engineering notebook to document the project design process as a legal document; and
• c.9.H – interpret industry standard system schematics.
• c.10 – 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.10.A – use tools and laboratory equipment in a safe manner to construct and repair systems;
• c.10.B – use precision measuring instruments to analyze systems and prototypes; and
• c.11 – The student produces a product using the appropriate tools, materials, and techniques. The student is expected to:
• c.11.A – identify and describe the steps needed to produce a prototype;
• c.11.B – identify and use appropriate tools, equipment, machines, and materials to produce the prototype;
• c.11.C – construct a robotic or automated system to perform specified operations using the design process;
• c.11.D – test and evaluate the design in relation to pre-established requirements such as criteria and constraints;
• c.11.E – refine the design of a robotic or automated system to ensure quality, efficiency, and manufacturability of the final product; and
• c.11.F – 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 3rd and final league meet of the contest season.
2. The student will prepare materials for the team mock interviews to be conducted at the upcoming 3rd and final league meet of the contest season.

#### 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 3rd and final league meet of the contest season.

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

## CS1 09-Jan-2018

#### Lesson Name:

Introduction to Repl.it and 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.V – compare and contrast strongly typed and un-typed programming languages

#### Lesson Objectives:

1. The student will be able to create a functional user account on repl.it and join the Computer Science 1 on repl.it.
2. The student will be able to create a basic literal output application in Python of “Hello World”.
3. The student will be able to create a basic literal output application in Scratch of “Hello World”
4. The student will compare and contrast the process and output of “Hello World” in both programming languages.

#### Materials Needed:

1. Repl.it Access
2. Scratch Access

#### Description of Lesson:

Students will create user accounts on repl.it for programming in Python. Students will join the Computer Science 1 class on repl.it. Students will then create a basic literal Python output program. while also creating the same program in Scratch. Students will create “Hello World” and compare and contrast in both programs.