I don't find it too hard, but like you said, it could be your professor. I was lucky and had fun professors in college that made programming enjoyable. That and many of my friends and I would set up study times in the labs to work on programs and that made homework A LOT easier when you're working with friends.

Also, programs can be very difficult to write when you can't figure out your professor's assignment. But that's what it's like in the real world. If you have poor requirements, documentation and design it makes it very difficult to write quality code. One because you can't tell what you should be writing; and two because if the planning was shoddy up front then people tend to try and change requirements on you as they realized they screwed up up front.

A degree is a more general recognition while the major is what you specialized in (at least in the US). For instance someone might persue a Computer Science major, but their degree could be a Bachelors in Science.