Two ways to make a machine do something
This is the distinction the whole course rests on. There are broadly two ways to get a computer to behave a certain way.
Way one: somebody writes the rules
A person decides what should happen and writes it down in a form the machine follows exactly. A shop's billing software might contain something like this:
if total > 2000:
discount = total * 0.10That is a rule. Someone chose 2000, someone chose ten percent, and both choices are sitting there in the file where anyone can read them.
An early spam filter worked the same way. Block anything containing free money. Block anything with more than six exclamation marks. Someone sat down and thought of each of those, one at a time.
The defining feature: you can point at the reason. If your mother's email about a free clinic gets blocked, you find the line that matched, and you change it.
Way two: nobody writes the rules
Now the other way. You do not tell the machine what spam looks like. You collect fifty thousand emails, each one already marked spam or not spam by a human, and you hand them over. A training procedure then adjusts a very large pile of numbers, over and over, until the system's answers on those fifty thousand emails match the human labels reasonably often.
What you end up with is a model: millions or billions of numbers that, taken together, produce good answers. Nobody wrote them. Nobody chose them. Nobody can read them.
The defining feature: you cannot point at the reason. There is no line saying it mentioned a Nigerian prince. There is a pattern spread across millions of numbers, and the only way to find out what it does is to try things and watch.
Why this changes everything downstream
They fail differently. A written program fails the same way every time, on the same input. It has a bug, and the bug is a fact about the code. A trained model fails at a rate. It is right about 96 percent of the time, and the 4 percent is not a bug you can find, it is the shape of the thing.
They are fixed differently. You fix a rule by editing it. You fix a model by changing what you show it and training again, then testing to see whether you made it better or just different. This is slow, costs money, and can quietly break something that used to work.
Only one of them can explain itself. If a lender in Manila refuses your loan and the decision came from written rules, someone can tell you which condition you failed. If it came from a trained model, the honest answer is that applications resembling yours were often not repaid in the data, which is a different kind of answer and a much less satisfying one.
Both live in the same product
Do not imagine a clean split between old rule software and new AI software. A single app is usually both. Your maps app uses ordinary written code to search the road network for a route, and a trained model to predict how long each road will take at 6pm on a Friday. The rules and the model sit side by side.
When someone tells you a product has AI in it, the useful follow-up is: which part came from examples?
Before you move on