Program Design and Development

Help Questions

AP Computer Science Principles › Program Design and Development

Questions 1 - 1
1

Based on the scenario, a smart home controller sends device commands over Wi‑Fi; what is a potential security risk in the program design and how can it be mitigated?

Broadcast commands openly to simplify device discovery

Skip login to reduce user friction during setup

Hardcode a shared password in the app source

Encrypt commands and require authenticated sessions

Explanation

This question evaluates AP Computer Science Principles skills in program design and development, focusing on security considerations in networked applications. Program design involves identifying potential vulnerabilities where unauthorized users could intercept or manipulate data, especially in IoT contexts where physical security cannot be guaranteed. In this scenario, the smart home controller sends commands over Wi-Fi, creating risks if communications are unencrypted or unauthenticated. Choice A is correct because encrypting commands prevents eavesdropping and requiring authenticated sessions ensures only authorized users can control devices, addressing both confidentiality and access control. Choice B is incorrect because broadcasting commands openly exposes all device control to anyone on the network, allowing malicious actors to manipulate home systems without any barriers. To help students: Use real-world examples of security breaches to illustrate consequences, and practice threat modeling for different scenarios. Reinforce that security must be designed in from the start, not added as an afterthought.