I have a BA in Computer Science. The CS program at the school I went to started out with two branches, a more practical branch covering data structures and algorithms, then a more theoretical branch covering logic, computability, complexity analysis, proofs, etc. After a few semesters there were a couple of courses to bridge these. At the upper levels we took courses in operating systems (required), compilers (optional), and automata theory (required). While I couldn't technically minor, I concentrated my electives in German, focused on business usage at the higher levels. I got a certificate of proficiency in business German my last semester as my degree was not going to reflect the coursework I did in German.
Outside of those areas there was a decent size math component (a lot of CS majors doubled math as it was in the same college, so non-major requirements were the same and CS already required a lot of math courses). I took astronomy courses for my science requirements because I was busy and that was the only acceptable science subject without a required lab. Probably not the best reason, but I also found it interesting. For my history classes I tried to focus on cultural history (slavery and race relations in America, Jewish life in gentile America) because straight up events, people, and dates bored me to no end. One of my most interesting classes was cross-listed between CS and Philosophy, and was essentially a computer ethics class. We had books we read and were tested on, but in class we only touched briefly on the readings, but used them more as a jumping off point for discussions and debate.
I would warn that you shouldn't hope to learn to program (certainly not well) in a CS program. CS is not about computer programming. You will write some code, but no one is going to teach you how, and it will be in service of demonstrating concepts. You will have to teach yourself to program and you will likely be bad at it when you get your degree. You'll likely learn over the first few jobs you have after (or maybe during) school.
I'd talk to advisors, professors and upper-classmen/women about the classes you will be taking. Ask them if there are some optional or elective classes that have a bigger practical component if that's your interest. There may be classes like graphics programming or software engineering that will give you a better grounding in programming that may be lacking in core classes.
Good luck! Enjoy and appreciate this opportunity to learn and be around others committed to learning and teaching. You may never get this kind of opportunity again.
-Lee