This question is asking how to bridge the gap between knowing programming to research.
I'm an undergraduate in a decent BA computer science program at a college with a decent-to-low reputation. Most of the professors here aren't PhDs. I can't transfer to another college, because a close relative of mine is at a prominent member of this college's staff and all eyes are on me. I've taken data structures, architecture, etc but it's much more of a trade school than a rigorous theoretical foundation.
After reading a few advanced data structure books, I've become very interested in certain theoretical computer science topics. If I want to do research after undergrad, how should I go about it? I'm a pretty motivated person and I am good at self studying. Should I try to create interesting projects? work on open-source? work at a prestigious company?
Thanks for any advice.
perhaps look into publication options? Grad schools often look at whether the person can do research, which will work against a trade school background because it is more hands-on. However, there is nothing to stop you from writing up articles on the areas that interest you. It wont be easy, at all, but if you can get published in a peer reviewed journal--or at least a trade publication--that should help. See if you can get a professor to work with you, if you aren't sure. If there aren't any professors at your school willing to help, network out with professors at other universities if at all possible. Also, see if you can be a research assistant to a professor (preferably one who has a PhD).
I would also directly address this in any grad school applications through the essay. You can focus your essay on your passion for research and how you went above and beyond to find research options. That will show commitment that committees will like.