Req 3c — Programmable Devices
A smartphone with no software is a paperweight. A game console without games is a plastic box. The hardware gives a device its potential, but programming is what unlocks that potential and turns raw circuits into tools that solve real problems. This requirement asks you to think about how software transforms hardware from something that could do things into something that actually does them.
What Makes a Device “Programmable”?
A programmable device has a processor (CPU) that can follow different sets of instructions depending on the software loaded onto it. This is what separates a digital calculator (which does one thing) from a smartphone (which can do almost anything). The key components that make a device programmable are:
- Processor (CPU): The brain that executes instructions
- Memory (RAM): Temporary workspace where the processor holds data it is actively using
- Storage: Where programs and data live permanently (flash memory, SSD, hard drive)
- Input/Output: Ways to receive data (touchscreen, camera, microphone) and produce results (screen, speaker, motor)
Example 1: Smartwatch
A smartwatch contains sensors (accelerometer, heart rate monitor, GPS receiver, gyroscope), a small processor, and a display. Without programming, these components just sit there generating raw electrical signals.
Software makes the smartwatch useful by:
- Fitness tracking: Programs interpret accelerometer data to count steps, measure distance, and detect whether you are walking, running, or swimming. The heart rate sensor data gets processed into workout summaries, resting heart rate trends, and calorie estimates.
- Navigation: GPS coordinates alone are just numbers. Map software turns them into turn-by-turn directions on your wrist.
- Notifications: Software connects the watch to your phone via Bluetooth, filtering which alerts reach your wrist and displaying them in a readable format.
- Health monitoring: Advanced programs analyze heart rhythm patterns to detect irregular heartbeats and alert you to potential health concerns.
Without its software, the smartwatch would just be a collection of sensors producing meaningless numbers. Programming transforms those numbers into actionable health insights, directions, and communication.

Example 2: Digital Camera (in Your Phone)
Your phone’s camera module includes a lens, an image sensor (which converts light into electrical signals), and a dedicated image processor. The hardware captures raw light data — but the software is what turns that data into the incredible photos you actually see.
Software makes the camera useful by:
- Auto-focus: Programs analyze contrast patterns across the image sensor to determine what is sharp and what is blurry, then adjust the lens position dozens of times per second.
- HDR photography: Software takes multiple photos at different exposures in rapid succession, then combines them into a single image with detail in both bright skies and dark shadows — something no single exposure can capture.
- Night mode: When there is not enough light, programs instruct the camera to take dozens of frames over several seconds, then align and stack them together, computationally brightening the scene while reducing noise.
- Portrait mode: AI software identifies the subject (your face) and the background, then artificially blurs the background to mimic the effect of an expensive DSLR camera lens.
The image sensor itself has not changed dramatically in recent years — but computational photography (software processing) has made phone cameras rival dedicated cameras costing thousands of dollars.
Choosing Your Own Examples
For this requirement, pick two devices that interest you and explain how software makes each one useful. Here are some ideas beyond the two examples above:
Programmable Device Ideas
Pick two and think about how software transforms them
- Gaming console: Game engines, online multiplayer networking, controller input mapping
- Smart thermostat: Learning your schedule, adjusting temperature automatically, remote control via app
- Drone: Flight stabilization, obstacle avoidance, GPS waypoint navigation, camera control
- Smart speaker: Voice recognition, natural language processing, music streaming, smart home control
- Car infotainment system: Navigation, hands-free calling, vehicle diagnostics, backup camera display
- 3D printer: Converting digital models into layer-by-layer printing instructions
Now that you understand how programming makes individual devices useful, let’s compare three major categories of computing devices.