You don't have to start with anything too complicated. One thing I've wanted to do is a command shell that remembers your command history and guesses what you want it to do, and then you say whether you want to do that, and it eventually learns what you like and don't like it doing, how often you command it to do certain things, and at what time of day. I wonder if eventually, after enough training, it could work autonomously by just guessing what you want to do based on your habits and preferences.
Another thing I wanted to do is a program that changes a random byte in its own executable to a random value at random intervals, just to see what happens. Or one that generates random C code constantly and then tries to compile it, and then as soon as it gets one that compiles successfully, it alerts me so I can see what it does.