I'm going into my second semester of sophomore year as a declared Computer Science major. What I can tell you is it's alot of work, it's not uncommon for me to put a solid 36 hours into a single programming assignment. Its more about math that you think, essentially if you graduate as a CS major you have just about a Math minor, might as well get the Math minor just saying. It's not as much about coding as you think, it will teach you the basics and give you a foundation but it's really up to you to work on projects outside of class and learn on your own time, read this:
http://www.codinghorror.com/blog/2007/02/why-cant-programmers-program.html
It's essential to make a portfolio and code in your free time to be successful in the field and be employable.
I still go out at least once a week and smoke most nights. There's going to be no girls in your classes but it's easy to pick up a few bullshit gen eds, join clubs, etc. The major is really rewarding if you put in the effort. Personally I love what I'm learning and pushing my mental limits to the max makes me really satisfied when I do good. Anyone can do it if they have any sort of competence. Put in the time and you will be successful.