Program Design and Development
Help Questions
AP Computer Science Principles › Program Design and Development
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.