You could build things last year. This year you can build things with other people, on top of work somebody else already did, fast enough that the idea and the working version arrive in the same week. That is a genuinely different power, and it makes the old question sharper rather than softer: not “can I”, not “is it legal” — should somebody make this.
Four proposals. All are buildable by a team in this room, this semester, and three of them would be genuinely useful to somebody.
The helpful integration
Your community partner keeps their bookings in one system and their mailing list in another, and retypes everything between them. You propose a program that syncs the two automatically. Enormously helpful. It also means personal information now travels a path nobody has reviewed, sits in a third place nobody listed, and keeps flowing after your team graduates. Who agreed to that path? Who turns it off?
The efficiency dashboard
A program that shows a club’s leaders how many hours each member has contributed, ranked, updated live. Everything it uses is data the club already collects. Does gathering it into one ranked, permanent, public view create something new? Ask the person who comes last, and the person who has a job on Saturdays.
The good-enough model
Given a few years of past applications, a program that predicts which new ones will be approved. It agrees with the real decision about 85 percent of the time, so the team proposes using it to “pre-sort” the pile. Nothing is decided by the program. Except that the pile is now in an order, and everybody reads the top first.
The scraper that pays for itself
A program that collects public listings from several organisations and republishes them in one searchable place. Useful, obviously. Nobody asked those organisations. The listings arrive stripped of context, one of them is out of date, and the phone that starts ringing is not yours.
Questions worth arguing about:
- Which of the four would you refuse to build, and what is the principle behind the refusal? State it in one sentence that would also cover a case you have not thought of yet.
- “If I don’t build it, somebody else will.” Is that an argument or an excuse? Does it change anything about your responsibility for the version that exists?
- Every one of these has a version that is fine. Find it. What changed — consent, scope, who holds the data, who can say stop?
- The third proposal insists that “nothing is decided by the program”. Is that true? What is the difference between deciding something and arranging the order in which a human decides it?
- You are one of four people on a team and you are the only one who thinks the project should not be built. What do you actually do? Work out the protocol before you need it — Working in a Team has one, and it is worth arguing with.
- Is there a difference between building something and deploying it? Between deploying it and defending it after it causes harm?
The test that survives contact with a deadline
Could you explain your program, in full, to every person it touches — including the ones who are not its users — and would they still agree? If the answer depends on them not finding out, you already know.
For your own work this is not hypothetical. The Software Project is built for a real organisation with real people in its records, and the scope you agree in the first week is the scope you will defend at The Handover. The groundwork is When Code Hurts; the professional frame, including what it means to refuse work, is Ethics, Security, and the Profession.
Curriculum connection
D2.1
investigate and analyse an ethical issue related to the use of computers (e.g., sharing passwords, music and video file downloading, software piracy, keystroke logging, phishing, cyberbullying);
Link to original
D3.1
explain the impact of a variety of emerging technologies on various members of society and on societies and cultures around the world and on the economy;
Link to original
D3.2
investigate an emerging technology and produce a report using an appropriate format (e.g., technical report, website, presentation software, video).
Link to original
D4.2
investigate a topic in theoretical computer science (e.g., cryptography, graph theory, logic, computability theory, attribute grammar, automata theory, data mining, artificial intelligence, robotics, computer vision, image processing), and produce a report, using an appropriate format (e.g., website, presentation software, video);
Link to original