ACSA Exam Prep
Unit 3 · Class Creation · Topic 3.2

Impact of Program Design

Skill 5.A

Big idea: Programs affect real people. Reliable design, careful testing, and respect for others' code and data are part of writing software responsibly.

Learning objectives
  • Explain the social and ethical implications of computing systems.

Reliability

System reliability means a program does its job as expected under stated conditions. You improve it by testing with many kinds of input: typical values, edge cases (0, empty, the largest allowed), and invalid input.

Impacts and intellectual property

  • Software can help or harm society, the economy, and culture, sometimes in ways its creators didn't intend (a navigation app sending heavy traffic through a quiet neighborhood).
  • Code you didn't write is someone's intellectual property. Open source code is published for reuse under a license; other code needs permission and often payment.
  • Check the license and give credit when you reuse code.
Key points
  • System reliability: the program performs as expected under stated conditions. Testing improves it.
  • Programs have social, economic, and cultural effects, including unintended ones.
  • Reusing code raises legal and intellectual-property questions; open source licenses permit reuse.
Watch out
  • Check the license before copying code into your program.
Quick check
A game passes all its tests on desktops but crashes on phones. What property needs improving?
Show answer
Reliability. It must be tested under more conditions (devices).