Purpose: Seeking general advice! "What would you do in my shoes?" My situation: All of my undergraduate research (and passion) has been related to computational projects-- Monte Carlo simulations, data analysis, and more recently image analysis (all in Python). My summers have gone into this effort as well, and I feel that I have made progress in becoming a nearly competent scientific programmer. Managing these computational skills, along with the specific knowledge for the lab I have been working with (bioinformatics) is about all I can handle. This is making my core studies in physics feel like a stressful distraction. Goal: Since the course catalogs for computer science seem to present the exact skills I need for research, I would like to try to switch from undergraduate physics to a graduate program for computer science. I know that I would like to pursue a thesis option. What I don't know, and would like advice on: A lot! Which GRE should I prepare for? Should I consider alternative graduate programs? Should I apply to more than one program? Should I go for a master's or straight to a PhD program? Will I still be able to work for my current PI (who is in the physics department) when I switch out of the physics department (I'm generally uninformed on how employment works for graduate students). Should I become familiar with another language before graduate school in computer science (I am only familiar with Python and related packages)? --- Thank you for your time!