I graduated this past May from UC Berkeley with a degree in applied math. I realized that I am very interested in getting a PhD in computer science. However, my programming experience is mostly self taught and I have only one introductory class in Python on my resume as programming experience. Right now, I'm working at a startup building risk models using machine learning. I do some coding at work, but not a lot. My primary interest is in AI (especially it's applications in video games) and my top schools are Stanford, Berkeley, USC, and Caltech.
I'm willing to spend the next few years building up a resume so that I can get into grad school, but the problem is that I don't know what to do. I can talk to my employers and see if I can get more work that involves programming. I could also work with them to publish our findings in academic papers. I can work on some projects on my own, such as building apps or something. Or I could take extension classes in CS. What would be the best course of action? Should I go for a masters instead? Does anyone who got into a PhD program without studying the subject in college have any stories to share? (Note: I have not yet taken the GRE).
As a bonus question, if you think another school besides the four I listed would be really great for AI, which one and why? And as an extra bonus question, does anyone know if it's harder to get into Berkeley as a grad student if you already went there for undergrad?