Computing Ethics
Computing ethics is the final and most important lens this series applies, because it asks not whether a system works, scales, or trains accurately, but whether it should exist in its current form at all, and who actually bears the consequences if it doesn't deserve to. Privacy asks what data a system collects about real people and why, extending the computer-security topic's authentication and authorization a step further: security asks whether data is protected from unauthorized access, while privacy asks the prior question of whether collecting and storing that data in the first place was ever justified, a question no database schema or encryption scheme from the databases and security topics can answer on its own. Fairness confronts the machine-learning topic's "learning from data" directly: a model has no built-in sense of justice, only a mathematical drive to minimize error on whatever data it was shown, so if that training data reflects a historical human bias, the optimization process the mathematics-for-computing topic described will faithfully learn and often amplify that exact bias, not correct it — fairness has to be checked for deliberately, because nothing in the training process checks for it automatically. Intellectual property asks who owns the code, data, and trained models this entire series has been building toward, extending the software-engineering topic's version-control discipline into a legal and ethical question: a compiler from the programming-languages topic faithfully translates whatever source code it's given regardless of who actually wrote it or whether they consented to it being used that way, which is exactly why that question has to be asked by people, not resolved by the tooling. Social consequences is the widest lens of all: a system built using every technique this series covered — the networks and distributed systems that let it reach millions of people at once, the human-computer interaction that shapes how people actually experience it — has real effects on real lives at exactly that same scale, and bigger reach always means a bigger ethical obligation to get it right, not a smaller one. This is the twenty-eighth and final topic in a curriculum that started with a single transistor acting as a voltage-controlled switch and ends here, with the simple fact that every layer built on top of that transistor — logic gates, a CPU, an operating system, a network, a database, a trained model, an interface — was built by people, for people, and the entire point of learning how all of it works is to be able to ask, at every layer, whether it is actually serving the people who depend on it.