Using Arduino in Project Based Learning Projects
3393 Views, 26 Favorites, 0 Comments
Using Arduino in Project Based Learning Projects
I'm a retired scientist who has spent his career successfully applying project based problem solving in real world projects. I am also a lifelong Maker/tinkerer with significant Arduino and software engineering experience. Last school year, in 2023, I had the opportunity to substitute teach five high school robotics classes (grades 8, 10/11) for several months. That was an amazing experience! It greatly increased my respect for STEM teachers, but also provided me with the unique vantage point to view an Arduino-focused high-school classroom from the perspective of my engineering design background. That led me to do an extensive review of published background on Project Based Learning (PjBL) that included Arduino technology. My overall impression is that teachers face some difficult challenges in order to take full advantage of Arduno's capabilities in STEM-PjBL teaching. Yes, I am a technologist, inexperienced in teaching, but many teachers are as inexperienced with Arduino, as I am with teaching. So I hope you will give me the opportunity to make some observations and suggestions aimed at helping you take better advantage of the possibilities to integrate Arduino in PjBL.
None of this requires rocket science, just information not included in the traditional basic Arduino training. As a result, I decided to make this Instructable with some suggestions for how teachers might push past stunted PjBL projects into full-blown PjBL successes for students. Here are some of the issues covered:
- Difficulty transitioning from the traditional didactic Arduino training sequence to a full PjBL training
- Spending to much time building modules that are never used vs jumping into gap-driven problem solving
- Confusion about when and where to apply the scientific method vs the engineering design process
- A structured end-to-end template for generic STEM-PjBL-Arduino instruction
- Pointers to quality references to accelerate student research discovery about Arduino resources
- Filling gaps in fundamental electric circuits knowledge and breadboard constructions
- Solving problems combining independent Arduino modules into more complex system creations
- A complete example of a STEM-PjBL-Arduino project to construct an Arduino RubeGoldberg device
The completed example was originally constructed as a demonstration of how Arduino can be used with multiple sensors and actuators to construct novel devices that would capture the interest of students. More details are available in a second Instructable: Arduino Rube Goldberg "Do Nothing Machine"
Supplies
- Traditional Arduino Beginner Class experience
- Basic understanding and possible experience implementing traditional Project Based Learning in STEM
- Desire to take better advantage of the Arduino microcomputer in STEM oriented curriculum using PjBL methods
Project Based Learning (PjBL)
Project Based Learning (PjBL) is a learning framework that has been called the future of education (1). PjBL is in contrast to more traditional Didactic Learning framework. In the didactic teaching model, the driving question or test is presented at the end of a unit. A simple diagram can help illustrate this (2). Traditional teaching with tests at the end looks like this:
– – – – – – – – – – – – – – – – – *T*
Each hyphen is a separate lesson, the culminating in a project or test at the end.
In contrast, a PjBL unit opens with the driving question, so the student starts with the end in mind. As a result, rather than the teacher driving learning "because you should know”, the student drives learning based on “need-to-know” to fill knowledge gaps found in the context of solving the driving question. The driving question is followed by a short sequence of focus activity lessons, represented by the hyphens below. These initial lessons connect the student to a driving question and provide necessary initial knowledge resources and skills. For example, if the DQ is art related, focus activities might include describing brush types and color mixing. Students then start the project phase and continue, focused on solving the problem until it is complete, like this:
DQ– – – – ________________________
In PjBL, there is no culminating test at the end. The project evolves as the main course, not the desert at the end (3). Once a class starts the project phase, momentum sustains students’ focus and stamina until it is complete. The advantage of PjBL is that students learn self-directed problem solving on meaningful real-world projects (4). In practice, when the DQ is presented at the start, an evaluation rubric (ER) is also provided that briefly describes the evaluation criteria. This gives the student a clear understand of expectations from the beginning. Experience has shown that one of the most challenging parts for teachers is writing driving questions that engage students interest, is open-ended so it cannot simply be Googled, and aligned with learning goals (30). I am guessing that when Arduino is involved, a new challenge is being able to transfer enough starting knowledge in the focus activities for beginning students to head off independently. Some thoughts on that in Step 5 and 6 below.
Role of the Scientific Method and Engineering Design Process in PjBL
PjBL is a learning methodology that can be widely applied to any classroom subject (1). But different subjects require different both different focus activities and application methods. For example history versus science. A review of online articles about PjBL in teaching STEM, robotics, and engineering classes, shows the application of either the Scientific Method (SM) or the Engineering Design Process (EDP) (5-7). But the selection rationale is seldom mentioned. I'm guessing many students are taught the scientific method in lower grade classes, so a shift to the EDP may be confusing. The reality is that both processes usually play a role in complex PjBL STEM projects. Scientists traditionally do research to discover new scientific theories. They use the scientific method to test the validity of those theories. Engineers use the scientific method when searching for known solutions. Likewise, the research that students perform in PjBL is not focused on discovering new theories, it is focused on locating known solutions or chunks of helpful knowledge that may support solving the Driving Question (DQ). That research (R) is followed by testing (T) to determine if the hypothetical solution/knowledge is applicable. Then, new applicable solutions and knowledge discovered in this research iteration can be combined with previously available resources, and made available to the EDP. The role of the EDP is to apply creative problem solving to design (D) a prototype solution to the DP from the collective knowledge chunks, then test (T) if the design produces an acceptable result, or if not, to iteratively trigger more research and redesign. Clarification of this staging of research and design may help students pursue their own problem solving challenges.
A Template for Arduino PjBL Projects
The above perspective on the role of SM and EDP is helpful to understand their staging overall in STEM PjBL. A project starts with a description of the Driving Question (DQ) and an Evaluation Rubric (ER), followed by a relatively short sequence of key Focus Activity (FA#) lessons to provide initial scaffolding. For Arduino applications, these would be the basics needed for Arduino module construction (more about this in Section 4). Next, the students dive into the project, doing student-driven research (R#) to fill one or more knowledge gaps, and test (t#) if they have an applicable connection. Once the students feel that the combination of the Focus Activity (FA) knowledge, along with the knowledge chunks from applicable research (R) combines to form an acceptable solution to the DP+AR, the students can make a decision to create a prototype solution (p#), and test (t#) the trial prototype, it not matching, they iteratively return to do more research, prototyping, and testing until a satisfactory product artifact is created (*P*). The sequence of activities will look like something this:
{DQ+ER}, FA1, FA2} --> {R1, R2, >p1-t1} -->R3 >p2-t2} --> *P*
which demonstrates learning to create {FA1, FA2, R1, R2, R3} = (DQ+ER} Bingo!!
A generalized template of this model for STEM PjBL is shown in the figure above. Obviously, students don't have to see this description, but this and other overviews (27), may be helpful structured guidance for teacher's.
STEM+Arduino Success Background
A review of STEM success stories shows Arduino's simplicity, application flexibility, and affordability have made Arduino an excellent platform for use in STEM education (8). Teachers with little previous interest or background in engineering or computer science can learn to use Arduino in short seminars or online classes and instruct students to build engaging projects without dwelling into complex programming and electronics.
Arduino is a low-cost microcomputer board designed as a project at the Interaction Design Institute in Italy in 2005. The aim was to provide a low-cost and easy way for novice students to create devices that interact with their environment using sensors and actuators. Because of its simplicity, availability, and cost under $30, Arduino spawned an international DIY and Maker revolution with about 30 million active students, hobbyists, designers, and engineers, many with no previous electronics experience (Wikipedia). Today Arduino has a very mature ecosystem of training, reference material, and open-source hardware suppliers with hundreds of supported microcomputer boards, shields, modules, software libraries, and software tools.
Arduino training is now widely available. It universally follows the same curriculum, taught by the didactic method, that involves following instructions to building a core set of 5-8 modules. These consist of typing in a pre-designed set of software instructions, called a sketch, into the Arduino Integrated Development Environment (IDE) running on a laptop, downloading the software to the Arduino hardware board, exactly following instructions to build corresponding hardware on a breadboard board, connecting the Arduino to the breadboard and watching the module perform a given function. The core set typically includes at least the following:
- Blink an LED
- Use a push-button switch to control options
- Detect objects, such as a line on the floor, with IR obstacle sensor
- Measure distances with an ultrasonic distance sensor
- Control motion with a servo motion actuator
- Measure temperature or light level with an analog sensor
- Produce musical tones with a piezo buzzer
The magic of Arduino is that after just finishing one class where you learn to follow the instructions to build the core set of modules, you have acquired enough basics understanding that you can follow the instructions to build literally hundreds of other modules with different sensors and actuators that are easily found online.
As a teacher, you have also learned enough that you can now re-teach the same set of magical capabilities to a class of beginner students. If you already know about STEM and PjBL, you should be off to a good start to include Arduino in your own PjBL-STEM-Arduino teaching. However, a review of online articles shows that integrating Arduino in PjBL has its challenges.
Ready, Set, ....GO!
Breaking through the "Full Meal" project barrier
A review of a large number of articles about STEM classes shows many that include Arduino technology, but are using an didactic versus PjBL instruction methodology (9-12). The highest frequency are basic (non-PjBL) Arduino classes where teachers repeat a subset of the standard 5-8 module curriculum. This is probably adequate, in lower grade classes. The second most frequent example is when Arduino is applied in a focus area, such as building robots, or for environmental sensing. Those extensions are relatively straightforward, as they only require adding minor Focus Activity scaffolding about building one or two additional modules, such as a motor controller or water quality sensor.
Some attempts at PrBL-STEM-Arduino classes appear to be "desert-level" project attempts. These first, re-teach a set of basic modules, minus one, then add a one project module at the end. There are also some interesting hybrid models that mix conventional (non-Arduino) components (switches, batteries, light bulbs, etc.) with one or two Arduino components. All these early efforts are encouraging efforts to incorporate Arduino in PjBL, but could go farther. The few examples that are completely Arduino focused were found at the college level (13).
Based on the current excitement independently about Arduino technology and PjBL methodology in traditional STEM, it is curious why there are not more examples of integrated projects at the grade 7-12 level? From my background in problem-based projects, versus teaching experience, I see two issues with the standard curriculum that may hamper wider development.
First, to much time is spent learning the details of module construction (copying sketch, downloading, wiring, etc.) over and over on 8 modules. Once you have gained the experience of copying and downloading a sketch, and building the matching circuit breadboard, you really don't learn anything new from repeating the skill over and over 7 more times. You probably learn enough only doing it a couple of times. In PjBL, if your goal is to get students engaged in PjBL "need-to-know" research asap to find an unmentioned module, then finishing an unnecessary 4-7 modules is wasting time.
An alternative is to apply the PjBL Focus Activity concept to shorten the process and get students into self-directed research asap. This could be done by only covering the bare bones skills on a couple of key modules. One module could be an LED/Switch example to illustrate indicators and controls, and the basic sketch organization. The second module could be an analog sensor (e.g. light or temperature) plus an indicator (e.g. buzzer or LED) that requires learning about analog variables, and conditional and loop statements. But of those two selections could be customized by the instructor depending on learning goals and the driving question. Then a shortened Focus Activity list could include the following:
Shortened Arduino Focus Activities
- How to use the Arduino Integrated Development Environment (IDE) on their laptop (lots of YouTube help)
- Learn to download a pre-programmed sketch onto an Arduino board
- Learn basic electric circuit wiring and breadboard logic (use the suggest Instructable or an alternative)
- Build a module with an LED and pushbutton switch to learn basic sketch structure
- Build a module with a Light Sensor and a sketch with a conditional and loop statements
This list is enough to give students enough hands-on experience with entering code for a sketch into the Integrated Development Environment, how to download the Sketch from their laptop to the Arduino board, awareness of the sketch structure and key program logic, and wiring their breadboards. But it is also short enough that it can all be covered in a small number of classroom hours.
One way to still expose students to the full set of 5-8 modules is by showing them finished examples all at one time. This can broaden their sense of possibilities without consuming construction time. The instructor could build an "example board" that shows working examples of each module. An example is shown in the figure above. This board could expose students to the multiple functional capabilities so they can see the functionality in operation, but at warp-speed, and not requiring manual implementation.
Second, the traditional curriculum it does not provide exposure to enough modules. It is unrealistic to expect students to have enough background to produce an inspired original project after only seeing 8 independent examples. By comparison, there is a vast difference between the current model and the way training is done in other creative disciplines. Teaching art is a good example. Imagine a hypothetical PjBL beginner class in watercolor painting. The DQ could be to create realistic water color painting of an outdoor garden. Then start with focus activities to demonstrate the use of several brushes and color mixing. Also give the class 8 samples famous of water color paintings. Then, set them off to independently make a creative water color painting with fall colors. It is not likely the beginners will have much success. This is a frustrating problem because it seems in contradiction to the first issue about shortening the focus activities. While I don't think there is a simple solution, I'll offer some suggestions later in Step 9.
Closing Some Gaps
Filling Gaps in Fundamentals
I've used the words "follow exactly" over and over. The problem is, if you make even the slightest mistake, like a wire inserted off by one small hole .1" on a breadboard, or a missing semicolon at the end of a line when you copy a sketch, your creation will not work. Unfortunately, it can take hours to debug the simplest mistake. This often leaves beginners trapped in a trial and error situation that can be frustrating and often lead to abandonment. This is not surprising. The current training assumes that you have this knowledge. Unfortunately, it is unreasonable for a typical teacher to have this background, so they will not be able to pass it along to students. Without that knowledge, even trying to copy the supplied diagrams of the circuit will almost always lead to at least one, or more, wiring problems. Then, without understanding the logic of breadboards and wiring, you will spend time doing trial and error attempts get your module to work. Seeint this gap, I put together another Instructable: Arduino: Filling Gaps for Project Based Learning and First Time Teachers. I cannot over emphasize the importance of gaining these usually untaught skills first. Leaving it up to trial and error is probably the major reason beginners give up before they get to the aHa moment of mastering Arduino. Once you fill this initial gap, students should be more successful with self-directed project completion.
Breaking the Complexity Barrier
While it is true you can now build hundreds of different modules, they each only perform one independent function. At the beginning you will be thrilled with a single cause-effect functionality, from the input from a single sensor to cause a single actuator output. But soon you or your students will get the bug to scale up your creations to have multiple sensors, actuators and functionality. Then you have a new problem. Software and hardware modules don't compose like Lego Blocks. Adding sketches and module designs together is not the same as knowing the three laws of arithmetic that lets you solve any arithmetic problem. Discovering this problem became the motivation for writing a second Instructable: Making Complicated Arduino Projects
Let's Do It ...
We now have all the pieces to put together an Arduino-based STEM-PjBL example. This example is based on extending a popular project in traditional STEM classes, the construction of a Rube Goldberg device. Rube Goldberg was a cartoonist who was famous in the early 1900s for his depiction of extremely complicated inventions designed to complete simple tasks. The STEM projects involved using what they have learned about the six simple machines and conservation and transfer of energy (14, 15). A typical Defining Question was, "Can I use simple machines to make a Rube Goldberg device that does a simple task?" The simple tasks might be to turn on a light bulb, pop a balloon, water a plant, etc.
This can be easily modified to be the DA for an Arduino-focused PjBL project:
Can I use Arduino modules to create a Rube Goldberg device that demonstrates a simple task after reacting to its environment
Along that will be the following Evaluating Rubric:
- Use three or more different Arduino modules
- Reactive to environment changes
- Performs a simple task
A PjBL Project Template is shown above for a hypothetical project. The task in this project is to hit a hanging ping pong ball with a paddle when a person gets near the device. The student starts by doing research to find an Arduino module to move a small paddle. A candidate is to use a servo motor to swing a small paddle. The student has already learned about the ultrasonic sensor demonstrated in a Focus Activity and decides to use this to detect when an observer has approached near the device. This will require using a conditional statement and loop to detect the observer. The student then builds Prototype 1 to test if these two activities will work. Making the prototype will also include building a table-top platform to hold the hanging ball.
Once Prototype A was finished and tested successfully, the student realized that they need to sense when the ball is at rest so the servo will not try to hit the ball if already swinging from a previous hit. Doing research, the student decides to use an IR light beam sensor and LED to sense if the ball is not moving, centered at rest and ready to be hit again. The student then constructs Prototype B by building the IR module and adding it on the platform, then testing it to make sure it works.
Finally, after completing enough research and testing to be satisfied that prototypes A and B work, the student integrates everything together into the End Product Artifact and demonstrates it to the class. A pseudo-code description of the basic sketch is shown above.
The RubeGoldberg Construction
Here is a greatly simplified pseudo-code overview of the software sketch for the final construction and a corresponding wiring diagram. Note that the actual sketch will actually take more than a full page of details of setting up variables, pin connections, etc., but pseudo code is like an outline that gives you a top level overview. The actual hardware implementation will also be more complex than the breadboard shown since the components have to physical positions to implement the device sequence.
An Example Rube Goldberg Artifact
Two examples of completed Rube Goldberg projects are shown above. The first one matches the template. The second has several additional functionalities. This includes several LEDs that blink until someone approaches, then blink differently when the ball swings back and forth. It also has a two-line LCD display that shows the distance measured by the ultrasonic sensor of an approaching observer. A piezo buzzer is also added that plays a tune when an observer gets near.
Reviewing the simple Evaluating Rubric from Step 7:
- Use three or more different Arduino modules: Yes-Ultrasonic Sensor, IR Sensor, Servo, and LEDs
- Reactive to environment changes: Yes: Operation does not start until a person moves close
- Performs a simple task: Yes: Bats ping-pong ball with servo motion when person detected
A video of the second project is shown above.
A version of the Arduino sketch software for the more elaborate version is attached below.
Downloads
Expanding the Arduino Example Set
As mentioned in Step 5, I believe a major weakness in applying Arduino technology in "full meal" PjBL projects is a severe lack of a broader collection of design examples, or archetypes, to inspire the creation of more interesting End Products. A key reason is that students are only exposed to a small number of Arduino module archetypes. Yes, you do learn about 5-8 modules, but, that is only a tiny sample of the possibilities. I think it is unreasonable to expect students to have enough background to produce an inspired original project after only seeing 8 independent examples.
It may sound like there is some magic to the set of 5-8 modules since the traditional STEM curriculum teaches about the set of seven simple machines (inclined plane, lever, wedge, wheel and axle, pulley, and screw). The magic in mechanical engineering is that that set of 6 modules can be used to build virtually any mechanical machine. But that principle doesn't apply in the Arduino universe. The set of 5-8 modules is not really a basic or essential prime factor set of Arduino modules. The selection of 5-8 was probably based on what the training developer used in their own limited set of personal projects. Many Arduino tutorial developers seem to have roots in car and robot projects, which frequently use the servos, motors, and IR sensors in the set of 5-8. While those do find their way into many projects that move (e.g., cars or arms), if you are doing an environmental project, you may need a particle sensor, or if designing a wearable fashion you may need a flex sensor that is never mentioned in the training materials.
If you learn the classic set of 5-8, you have only learned about a small number of potential modules. You have the key to open the door, but little vision of what's behind the door. Remembering Maslow's Law, "If the only tool you have is a hammer, you tend to see every problem being solved with a nail." In this case, you spent all the class time learning about 8 different hammers, while your problem only requires 4 nails, but you are out of time and clueless about the best way to solve the other 4 problems.
It is interesting to compare the current model to how training is done in other creative disciplines. Art is a good example. Imagine a hypothetical PjBL beginner class in watercolor painting. The DQ could be to use watercolors to create a realistic painting of an outdoor garden. Start with Focus Activities to demonstrate the use of several brushes and color mixing. Then give the class 8 samples famous of watercolor paintings. Then the students are to create a watercolor painting with fall colors. It is not likely the beginners will have much success.
The design aspect of the training in many disciplines includes extensive exposure to known classic examples. An example is in undergraduate computer science. It is common to have an entire semester class called Fundamental Algorithms. This covers basic and essential algorithms that form the building blocks of more complex algorithms. It is usually based on volume 1 of a famous set of five books by Don Knuth titled The Art of Computer Programming (16). Although this 600 page book was written several decades ago, it is still a timeless classic. Volume 3 spends an entire volume just explaining algorithms for searching and sorting.
I learned about another example from a friend that was trained as a master machinist in Sweden. He could make a watch starting from bare metal. Published in 1868, he had to study a compendium of 507 drawing of ingenious mechanisms that constitute complex machinery (17).
A third example is March's Advanced Organic Chemistry: Reactions, Mechanisms, and Structure, with over 2000 pages and used in undergraduate organic chemistry classes (18).
I think one of the first compendium examples I was exposed to as a kid was the manual that came with Erector Sets. This was first released in 1913 and included dozens of illustrations of the exciting things to build, like lift bridges, cars, drilling rigs, and the ultimate a giant robot. I know first-hand that robot project was the inspiration for a generation of today’s early robot company pioneers.
Obviously, all these examples leave the meager set of 8 Arduino modules in the dust. Unfortunately, there is, as yet, no comparable collection for Arduino. I think this is partly because most authors are either expert in the computer science side or the mechanical side, but not both. Meantime, here are some of the best resources currently available:
- Arduino Cookbook, M. Margolis (19)
- Exploring Arduino, Jeremy Blum. (20)
- The Arduino web site: arduino.cc (21)
Here are some research resources that touch on the mechanical side:
- Mechanical Engineering for Makers: A Hands-on Guide to Designing and Making Physical Things (26)
- Make: Making Simple Robots. Kathy Ceceri (22)
- Invent to Learn. Sylvia Martinez.(23)
- The Big Book of Maker Skills. Chris Hackett. (24)
- Launch: Using Design Thinking to Boost Creativity and Bring Out the Maker in Every Student. Spencer. (25)
While already pointed out how difficult it is to teach the "doing" of science and engineering for STEM in general because it involves blending of core ideas, concepts, and practices, I think adding Arduino to the mix makes it even harder, but potentially rewarding (27).
Going Further Into PjBL-STEM-Arduino Projects
I hope that this Instructable will be helpful to teachers involved in applying Arduino microcomputers in PjBL. While I do not have years of teaching experience, I do have years of experience applying the scientific method and engineering design process in many successful projects. That experience gives me a different perspective on the challenges to make effective Arduino-based PjBL projects that I hope will help increase the success of teachers on new projects. I hope to refine this Instructable, so I would love to get feedback on corrections and improvements, particularly from teachers.
References
Here are links to the papers referenced in this Instructable. They are all available on line if you want to dig further.
- Problem-Based Learning (PBL). Dr. Serhat Kurt, 2020
- Clearing up misconceptions about project-based learning. Steven Wolk. September 26, 2022.
- The Main Course, Not Dessert: How Are Students Reaching 21st Century Goals With 21st Century Project Based Learning. John Larmer and John R. Mergendoller, Buck Institute for Education, 2010.
- A review of project-based learning in higher education: Student outcomes and measures
- Scaffolding the Implementation of the Engineering Design Process within STEM Based Projects
- DCI Arrangements of the Next Generation Science Standards
- Problem Based Learning in Engineering Design, A. Hasna, 2004.
- Role Of Arduino In Real World Applications, Kuldeep Singh Kaswan, 2020.
- Arduino – Enabling engineering students to obtain academic success in a design-based module. Pierre E Hertzog, 2016.
- First exposure to Arduino through peer-coaching: Impact on students' attitudes towards programming. Martin-Ramos, Computers in Human Behavior, March 2018.
- Effects of STEM-focused Arduino practical activitieson problem-solving and entrepreneurship skillsUğur Sarı,
- Use of Arduino in Primary Education: A Systematic Review. Educ. Sci.2023, 13(2), 134
- Experiential learning in physical geography using arduino low-cost environmental sensors. Reagan Helen Pearce, Journal of Geography in Higher Education,2022.
- Arduino Controlled Rube Goldberg Machine: Showcase Event. Sara Bolduc, 2017.
- Conservation and transfer of energy: project-based learning with Rube Goldberg machines. Sarah Ferguson, 2022.
- The Art of Computer Programming, Vol. 1, Fundamental Algorithms, Donald Knuth, 1968.
- 507 Mechanical Movements. H. Brown, 1908.
- March's Advanced Organic Chemistry: Reactions, Mechanisms, and Structure, Michael B. Smith
- Arduino Cookbook, M. Margolis
- Exploring Arduino, Jeremy Blum.
- The Arduino web site: arduino.cc
- Make: Making Simple Robots. Kathy Ceceri
- Invent to Learn. Sylvia Martinez.
- The Big Book of Maker Skills. Chris Hackett.
- Launch: Using Design Thinking to Boost Creativity and Bring Out the Maker in Every Student. John Spencer.
- Mechanical Engineering for Makers: A Hands-on Guide to Designing and Making Physical Things
- A Visual Representation of Three Dimensional Learning: A Model for Understanding the Power of the Framework and the NGSS. Ana K. Housea, 2016.
- The key characteristics of project-based learning: how teachers implement projects in K-12 science education. Anette Markula, 2022.
- Project-Based Learning for the 21st Century: Skills for the Future. STEPHANIE BELL, 2010.
- A Tricky Part of PBL: Writing a Driving Question. John Larmer, July 13, 2018.