Hello all. I am at an impasse with what I want to do with the rest of my life. Academics wise, I have always had an interest in maths and science and history. There is no greater feeling in the world than solving a problem you have been stuck on for hours. I was researching potential degree programs in the summer before college started and computer science caught my eye. I was intrigued by the concepts of algorithms and data structures as well as artificial intelligence and cryptography. "This is the degree for me," I thought. I started searching and learned about programming and how you can learn it on your own. I got a Python beginners book and started. I was really interested and generally enjoyed the whole framework of it. It was like understand logic and learning a new language at the same time. Unfortunately, I couldn't continue as much as I would be starting college in the next week. I was taking an intro to java class in the spring semester and thought that I would enjoy it as much as I did learning Python. Fast forward and we are almost in march. I dislike the programming class I am in currently. The class only meets one day a week for 2 hours. In these two hours, the instructor talks about a bunch of stuff(most of the time I cant focus enough to listen) and then we leave. We are given an assignment to do every week. On the assignments I have gotten, I have mainly gotten C's and like one B. If we are stuck, we have to go online and research to find the answer. What frustrates me the most is the fact that I usually make my program work, but he grades me down because it needs more documentation. Sometimes I cant finish my program because I don't know how to put in the necessary methods or concept for my program to work efficiently even after spending hours trying to find the answer to this problem. If this is how future computer science class are going to be, I would rather not take part in such a program. This type of situation never happened with my math or science classes. I am in differential equations and Calculus based Physics. I want to succeed, but wont put in hours of wasted effort just to get C's in future classes because I cant find the answer to a problem I've spent hours looking for on the internet and in the book. Sorry for the long rant. Basically, what I am asking, is this how computer science is supposed to be taught and understood? I thought that more effort would be made to understanding concepts and such.