Students download the software needed to create Arduino programs and make sure …
Students download the software needed to create Arduino programs and make sure their Arduino microcontrollers work correctly. Then, they connect an LED to the Arduino and type up and upload programs to the Arduino board to 1) make the LED blink on and off and 2) make the LED fade (brighten and then dim). Throughout, students reflect on what they've accomplished by answering questions and modifying the original programs and circuits in order to achieve new outcomes. A design challenge gives students a chance to demonstrate their understanding of actuators and Arduinos; they design a functioning system using an Arduino, at least three actuators and either a buzzer or toy motor. For their designs, students sketch, create and turn in a user's manual for the system (text description, commented program, detailed hardware diagram). Numerous worksheets and handouts are provided.
In this video segment from Cyberchase, the CyberSquad breaks down an action …
In this video segment from Cyberchase, the CyberSquad breaks down an action into a series of steps in order to program a robot to do what they need it to do. [4:50]
In this culminating activity of the unit, students bring together everything they've …
In this culminating activity of the unit, students bring together everything they've learned in order to write the code to solve the Grand Challenge. The code solution takes two images captured by robots and combines them to create an image that can be focused at different distances, similar to the way that humans can focus either near or far. They write in a derivative of C++ called QT; all code is listed in this activity.
Students analyze a cartoon of a Rube Goldberg machine and a Python …
Students analyze a cartoon of a Rube Goldberg machine and a Python programming language script to practice engineering analysis. In both cases, they study the examples to determine how the different systems operate and the function of each component. This exercise in juxtaposition enables students to see the parallels between a more traditional mechanical engineering design and computer programming. Students also gain practice in analyzing two very different systems to fully understand how they work, similar to how engineers analyze systems and determine how they function and how changes to the system might affect the system.
Working in small groups, students complete and run functioning Python codes. They …
Working in small groups, students complete and run functioning Python codes. They begin by determining the missing commands in a sample piece of Python code that doubles all the elements of a given input and sums the resulting values. Then students modify more advanced Python code, which numerically computes the slope of a tangent line by finding the slopes of progressively closer secant lines; to this code they add explanatory comments to describe the function of each line of code. This requires students to understand the logic employed in the Python code. Finally, students make modifications to the code in order to find the slopes of tangents to a variety of functions.
Students write Arduino code and use a “digital sandbox” to create new …
Students write Arduino code and use a “digital sandbox” to create new colors out of the three programming primary colors: green, red and blue. They develop their own functions, use them to make disco light shows, and vary the pattern and colors of their shows. The digital sandbox is a hardware and software learning platform powered by a microcontroller that can interact with real-world inputs like light, while at the same time controlling LEDs and other outputs.
Through the two lessons and five activities in this unit, students' knowledge …
Through the two lessons and five activities in this unit, students' knowledge of sensors and motors is integrated with programming logic as they perform complex tasks using LEGO MINDSTORMS(TM) NXT robots and software. First, students are introduced to the discipline of engineering and "design" in general terms. Then in five challenge activities, student teams program LEGO robots to travel a maze, go as fast/slow as possible, push another robot, follow a line, and play soccer with other robots. This fifth unit in the series builds on the previous units and reinforces the theme of the human body as a system with sensors performing useful functions, not unlike robots. Through these design challenges, students become familiar with the steps of the engineering design process and come to understand how science, math and engineering including computer programming are used to tackle design challenges and help people solve real problems. PowerPoint® presentations, quizzes and worksheets are provided throughout the unit.
This unit is designed for advanced programming classes. It leads students through …
This unit is designed for advanced programming classes. It leads students through a study of human vision and computer programming simulation. Students apply their previous knowledge of arrays and looping structures to implement a new concept of linked lists and RGB decomposition in order to solve the unit's Grand Challenge: writing a program to simulate peripheral vision by merging two images. This unit connects computer science to engineering by incorporating several science topics (eye anatomy, physics of light and color, mathematics, and science of computers) and guides students through the design process in order to create final simulations.
Students work as if they are electrical engineers to program a keyboard …
Students work as if they are electrical engineers to program a keyboard to play different audible tones depending on where a sensor is pressed. They construct the keyboard from a soft potentiometer, an Arduino capable board, and a small speaker. The soft potentiometer “keyboard” responds to the pressure of touch on its eight “keys” (C, D, E, F, G, A, B, C) and feeds an input signal to the Arduino-capable board. Each group programs a board to take the input and send an output signal to the speaker to produce a tone that is dependent on the input signal—that is, which “key” is pressed. After the keyboard is working, students play "Twinkle, Twinkle, Little Star" and (if time allows) modify the code so that different keys or a different number of notes can be played.
This content package is a curated collection of STEM instructional resources to …
This content package is a curated collection of STEM instructional resources to support the introduction and exploration of programming and robotics in grades 3-5. Resources include lesson plans, engagement activities, ebooks, digital texts, and videos.
Students modify a provided App Inventor code to design their own diseases. …
Students modify a provided App Inventor code to design their own diseases. This serves as the evolution step in the software/systems design process. The activity is essentially a mini design cycle in which students are challenged to design a solution to the modification, implement and test it using different population patterns The result of this process is an evolution of the original app.
Students work through an online tutorial on MIT's App Inventor to learn …
Students work through an online tutorial on MIT's App Inventor to learn how to create Android applications. Using those skills, they create their own applications and use them to collect data from an Android device accelerometer and store that data to databases. NOTE: Teachers and students must have a working knowledge of basic programming and App Inventor to complete this lesson. This lesson is not an introduction to MIT's App Inventor and is not recommended for use without prior knowledge of App Inventor to produce an end product. This lesson is an application for App Inventor that allows for the storage of persistent data (data that remains in memory even if an app is closed). This required prior knowledge can come from other experiences with the App Inventor. Also, many additional resources are available, such as tutorials from MIT. This lesson could also be used as an enrichment project for students who are self-motivated to learn the App Inventor software.
Students apply their knowledge of constructing and programming LEGO MINDSTORMS (TM)NXT robots …
Students apply their knowledge of constructing and programming LEGO MINDSTORMS (TM)NXT robots to create sumobots - strong robots capable of pushing other robots out of a ring. To meet the challenge, groups follow the steps of the engineering design process and consider robot structure, weight and gear ratios in their designs to make their robots push as hard as possible to force robot opponents out of the ring. A class competition serves as the final test to determine the best designed robot, illustrating the interrelationships between designing, building and programming. This activity gives students the opportunity to be creative as well as have fun applying and combining what they have learned through the previous activities and lessons in this and prior units in the series. A PowerPoint (tm) presentation, pre/post quizzes and a worksheet are provided.
JUnit is a testing method that is included with NetBeans (Java) installs …
JUnit is a testing method that is included with NetBeans (Java) installs or can be downloaded from the web and included in the Java build. In this activity, students design tests for a provided Java class before the class methods are constructed using a process called test-driven development. To create a design, the software/system design process, which is a specific case of the engineering design process, is followed. After students create a design, it is implemented and tested and if necessary, the design undergoes editing to make sure it functions by testing the Java class correctly. To conclude the activity, students write the methods in the Java class using their tests to debug the program.
Students learn basic concepts of robotic logic and programming by working with …
Students learn basic concepts of robotic logic and programming by working with Boe-Bot robotsâa simple programmable robotic platform designed to illustrate basic robotic concepts. Under the guidance of the instructor and a provided lab manual, student groups build simple circuits and write codes to make their robots perform a variety of tasks, including obstacle and light detection, line following and other motion routines. Eight sub-activities focus on different sensors, including physical sensors, phototransistors and infrared headlights. Students test their newly acquired skills in the final activity, in which they program their robots to navigate an obstacle course.
Students learn about traffic lights and their importance in maintaining public safety …
Students learn about traffic lights and their importance in maintaining public safety and order. Using a Parallax® Basic Stamp 2 microcontroller, students work in teams on the engineering challenge to build a traffic light with a specific behavior. In the process, they learn about light-emitting diodes (LEDs), and how their use can save energy. Students also design their own requirements based on real-world observations as they learn about traffic safety and work towards an interesting goal within the realm of what is important in practice. Knowledge gained from the activity is directly transferrable to future activities, and skills learned are scalable to more ambitious class projects.
Students focus on the testing phase of the design process by considering …
Students focus on the testing phase of the design process by considering how they have tested computer programs in the past and learning about a new method called JUnit to test programs in the future. JUnit is a testing method that is included with NetBeans (Java) installs or can be downloaded from the web and included in the Java build. Students design tests using JUnit and implement those tests.
No restrictions on your remixing, redistributing, or making derivative works. Give credit to the author, as required.
Your remixing, redistributing, or making derivatives works comes with some restrictions, including how it is shared.
Your redistributing comes with some restrictions. Do not remix or make derivative works.
Most restrictive license type. Prohibits most uses, sharing, and any changes.
Copyrighted materials, available under Fair Use and the TEACH Act for US-based educators, or other custom arrangements. Go to the resource provider to see their individual restrictions.