Have you ever wondered how a cell phone sends a picture message? I designed an interactive lab unit to help students explore and answer that question. As a graduate student, my concentration was in applications of image processing and communication systems. I was always struck by how simple the concepts in the field are, despite the dense math it takes to fully describe the techniques. My goal was to create a course that exposes students to some of the concepts in play in modern communication systems without requiring high-level mathematics as an entry point to the subject. I had the idea for this course in 2013 when I was hired to teach a one-week, 20-hour, supplemental course to middle school students at the Summer Program in Mathematical Problem Solving. I adapted the original course this fall to use in my high school's Pre-Engineering class.
I'm sharing this project unit in hopes that other teachers might find this project interesting. My code and curriculum materials are below. Teaching this unit effectively will require some basic knowledge of MATLAB. Knowledge of the physics behind acoustic waves and digital images is also a plus. I think this unit can realistically align to standards in a physics, general science, or engineering course. Check out this video to get an overview of the project. Read below for detailed information and resources.
- Curriculum: What's in this project?
- Standards: What are math & science connections?
- Software: How does it work?
- Products: What do students do?
Curriculum: What's in this project?
I've done things slightly different both times I've taught this project unit. In general, the project unit is half traditional content explored through activities, notes, and labs, and the other half is centered around the picture messaging software. Here's a list of topics that are either covered in my existing materials or topics that could be covered in this unit with a bit of extension.
- Communication systems - What's involved in effective communication between machines, humans and devices?
- Binary code - What is binary code? Why is it a good choice for digital representation of information? What are some historical codes that were used for communication purposes?
- Information in digital images - How can we encode information from digital images? How much information is in an image? What is the impact of different parameters (size, colors, resolution) on how much information is in an image?
- Data compression - How can we compress information in images? What is the difference between lossy and lossless compression?
- Acoustic wave properties - What are sound waves? What do they look like when analyzed both in the time domain and the frequency domain? What are advantages of different representations of sound?
- Acoustic encoding - What is OFDM and how can we use it to send digital information using sound waves?
- OFDM speed and accuracy - How can we calculate simple metrics to evaluate speed, accuracy, and time to transmit for OFDM systems? What are the tradeoffs between trying to improve one metric over another?
- Receiver challenges - What challenges exist at the receiver? How does the receiver attempt to deal with these challenges? What can we control? What can we not control?
- OFDM detection - How well do different OFDM channels perform in tests? What are factors that interfere with a clear channel to communicate on? How should we set thresholds to decide which bits are 1s and which bits are 0s?
- Probability and error - How should we make sense of variation in test data? What elements of each test should be repeatable? What elements may change with the environment? What causes error in images?
|Picture Messaging Resources and Code: Browse this folder for all of my curriculum materials and source code for the project. Interested in getting this running on your computer? Check out the "Quick Start Guide" in the System Code folder.|
Standards: What are math & science connections?
Here's three different situations I can envision where a teacher might integrate this project into their class:
- Middle School Science: This unit could be a great middle school lab unit that focuses on the "Waves and Electromagnetic Radiation" section of the middle school Next Generation Science Standards (NGSS). Additionally, the focus on testing, data collection, and interpretation of results supports the standards in the "Engineering Design" section of the NGSS.
- High School Algebra 2: This unit could be adapted to be a great platform for learning and studying properties of matrices, probability, and trigonometry. Most of this is abstracted away from students in my current class materials, but this entire unit motivates much of the math contained in the math standards listed below.
- High School Science/Engineering: This unit could be a more rigorous version of the middle school course, offering a deeper focus on the wave physics involved in this system and also more independence and responsibility to design, conduct, and evaluate tests. Students can access this project from a wide range of mathematical backgrounds.
Here's where I see alignment with the current Common Core State Standards for Mathematics (CCSSM) and the Next Generation Science Standards (NGSS) across middle school and high school.
|Middle School Math/Science Standards (CCSSM/NGSS)|
|7.EE.3||Solve multi-step problems with rational numbers|
|Probability and random sampling|
|Proportional reasoning and ratios|
|Working with small and big numbers; Solving equations|
|Properties of waves through mathematical modeling and testing|
|Testing; constraints and criteria; data collection and iterative design|
|High School Math/Science Standards (CCSSM/NGSS)|
|Create and solve equations with real constraints; manipulate equations|
|Make sense of parameters in mathematical models; Trigonometric functions|
|Conditional probability, statistics, random sampling, and graphing|
|Units and conversion; matrix and vector representation and manipulation|
|Wave physics; digital transmission and storage of information|
|Testing; constraints and criteria; data collection and iterative design|
Software: How does it work?
The software included with this project will allow you to work with students to design, test, and run their own picture messaging systems. You'll need a couple things.
First, get a copy of MATLAB of try your hand with one of its open-source siblings (Octave, SciLab, or Sage). My code is written for MATLAB, so you might have to do work to get it compatible with the open source programs. I've found that if you contact a MATLAB sales rep, they are usually very willing to offer a trial for teachers. Also, they practically are giving away site licenses for K-12 schools right now ($500 for a site license where they're usually priced per head). You'll use MATLAB to run the receiver software in this project.
Next, get some type of audio recording software. Audacity is my preferred software and it's free! Audacity has some pretty awesome features. Much of this unit can be taught and demonstrated by simply playing around with audio files in Audacity.
Finally, download the materials above and check out the Quick Start Guide in the "System Code" folder [12/19/2014 - This is not yet complete... coming soon!]. You can run the receiver with some test data I have provided without too much work.
Products: What do students do?
Students engage in learning through participating in their group project and also through individual activies and labs. Here are a few products that students have made in my classes.
The first file shows several project flyers that were created in my high school Pre-Engineering class. These content flyers were a graded part of each group's presentation. The second file is a sample of the final journals that I asked middle school students in the SPMPS program to do at the end of the unit. They journaled each lesson, answering some essential question for the day. These final journals asked students to bring everything together and answer the essential question "how does a cell phone send a picture message?".