Just added: Algorithms you can run and practice
Python
# Each new account gets its own copy of the template. Run it and read all three
# lines - Ben never touched anything, and the template is supposed to be a template.
DEFAULTS = {
    "theme": "light",
    "muted_channels": [],
    "notifications": {"email": True, "sms": False},
}

def new_account(defaults):
    return defaults.copy()

ana = new_account(DEFAULTS)
ben = new_account(DEFAULTS)

ana["theme"] = "dark"
ana["muted_channels"].append("billing")
ana["notifications"]["email"] = False

print("ana:     ", ana["theme"], ana["muted_channels"], ana["notifications"])
print("ben:     ", ben["theme"], ben["muted_channels"], ben["notifications"])
print("template:", DEFAULTS["theme"], DEFAULTS["muted_channels"], DEFAULTS["notifications"])