Students explore the concept of optical character recognition (OCR) in a problem-solving …
Students explore the concept of optical character recognition (OCR) in a problem-solving environment. They research OCR and OCR techniques and then apply those methods to the design challenge by developing algorithms capable of correctly "reading" a number on a typical high school sports scoreboard. Students use the structure of the engineering design process to guide them to develop successful algorithms. In the associated activity, student groups implement, test and revise their algorithms. This software design lesson/activity set is designed to be part of a Java programming class.
Testing is critical to any design, whether the creation of new software …
Testing is critical to any design, whether the creation of new software or a bridge across a wide river. Despite risking the quality of the design, the testing stage is often hurried in order to get products to market. In this lesson, students focus on the testing phase of the software/systems design process. They start by exploring existing examples of program testing using the CodingBat website, which contains a series of problems and challenges that students solve using the Java programming language. Working in teams, students practice writing test cases for other groups' code, and then write test cases for a program before writing the program itself.
Students are introduced to the concepts of digital organisms and digital evolution. …
Students are introduced to the concepts of digital organisms and digital evolution. They learn about the research that digital evolution software makes possible, and compare and contrast it with biological evolution.
A hypothetical scenario is introduced in which the class is asked to …
A hypothetical scenario is introduced in which the class is asked to apply their understanding of the forces that drive natural selection to prepare a proposal along with an environmental consulting company to help clean up an area near their school that is contaminated with trichloroethylene (TCE). Students use the Avida-ED software application to test hypotheses for evolving (engineering) a strain of bacteria that can biodegrade TCE, resulting in a non-hazardous clean-up solution. Conduct this design challenge activity after completion of the introduction to digital evolution activity, Studying Evolution with Digital Organisms.
Students are introduced to the concepts of evolution by natural selection and …
Students are introduced to the concepts of evolution by natural selection and digital evolution software. They learn about the field of evolutionary computation, which applies the principles of natural selection to solve engineering design problems. They learn the similarities and differences between natural selection and the engineering design process.
Student groups use the Java programming language to implement the algorithms for …
Student groups use the Java programming language to implement the algorithms for optical character recognition (OCR) that they developed in the associated lesson. They use different Java classes (provided) to test and refine their algorithms. The ultimate goal is to produce computer code that recognizes a digit on a scoreboard. Through this activity, students experience a very small part of what software engineers go through to create robust OCR methods. This software design lesson/activity set is designed to be part of a Java programming class.
Working as a team, students discover that the value of pi (3.1415926...) …
Working as a team, students discover that the value of pi (3.1415926...) is a constant and applies to all different sized circles. The team builds a basic robot and programs it to travel in a circular motion. A marker attached to the robot chassis draws a circle on the ground as the robot travels the programmed circular path. Students measure the circle's circumference and diameter and calculate pi by dividing the circumference by the diameter. They discover the pi and circumference relationship; the circumference of a circle divided by the diameter is the value of pi.
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 observe natural selection in action and investigate the underlying mechanism, including …
Students observe natural selection in action and investigate the underlying mechanism, including random mutation and differential fitness based on environmental characteristics. They do this through use of the free AVIDA-ED digital evolution software application.
Students engineer and evolve digital organisms with the challenge to produce organisms …
Students engineer and evolve digital organisms with the challenge to produce organisms with the highest fitness values in a particular environment. They do this through use of the free Avida-ED digital evolution software application. The resulting organisms compete against each other in the same environment and students learn the benefits of applying the principles of natural selection to solve engineering design problems.
Students gain experience using the software/systems (engineering) design process, specifically focusing on …
Students gain experience using the software/systems (engineering) design process, specifically focusing on the testing phase. This problem-based learning activity uses the design process to solve open-ended challenges. In addition to learning about test cases for testing software, students utilize the design process as a vehicle to work through a problem and arrive at a solution.
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 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.