Truthfully, the scale for CS instructors is typical for college as it is in any other field: great, good, okay, meh, terrible. I've generally gotten amazing professors, but there are pretty bad ones at my university, as will there be at many other universities.
Assignments will very from university to university and even class section to class section within a university, but the courses are very similar among colleges. The assignments aren't actually bad - it's the exams (well, for me it is). I don't think it would be useful to describe the assignments in greater detail. The biggest difficulty in CS is problem-solving. The professors [should] give you the necessary information as to how to complete assignments. Your job, however, is to piece it all together like a puzzle. It really becomes a matter of tactic, so the nature of the assignments really shouldn't be a huge concern. After all, the purpose of the assignments is to enhance your understanding of the course material. (See post 9 if you'd like an example of a project I had to do)
The general flow of CS courses goes something like this:
Syntax courses: This is where you learn the fundamentals of programming. Writing a "Hello world!" program is the classic first lecture. You learn printing to the screen, conditional statements/blocks, loops, and the object-oriented approach to programming
Data structures, system programming, and logic: Usually, data structures is what comes next. Now that you know how Java syntax works, you'll learn data structures like bags, linked lists, stacks, queues, etc. This was the first of the several mid-level courses I was required to take. Assembly language is another dedicated course, along with C programming and discrete math, which is just logic
Algorithms, formal methods, operating systems: The upper-most tier of CS programs usually covers these big three topics. Without getting too in-depth, it's where a lot of theoretical stuff comes into play, like automata theory. Of course, you'll get to choose some electives based on your focus of interest within the field
If you find yourself struggling, talk to your professor. Ask your TA questions. Go to your CS resource center. If it's a half-decent CS program, your university will have one. Talk to other classmates. Look online (don't copy and paste, that'll get you expelled!).
That being said, I've had great luck with CS professors. They explain things well, their lectures are fun, their assignments weren't anything crazy, and they were easy to talk to. They have always been understanding about how I do things as a blind student, and even allowed extensions just out of virtue of being compassionate and wanting me to succeed. Several professors even offered extra credit if students enhanced functionality of their programs by researching how to do so. They aren't going to be computer gods -- they won't know absolutely everything about CS. And that's where the self-guided portion of this field comes into play. Nobody really separates themselves if they just stick to what they learn in school. Tinker with things, install, play around, break things, fix them, break them again, just become familiar with as many things (especially things that interest you) as much as you possibly can. The point to all of this is so you can get work one day. Recruiters and interview committees absolutely love candidates who show that they have a genuine interest and curiosity for learning things and solving problems they've never encountered before. If you actively work on projects outside of class, it shows companies that you have great potential to be a dedicated and great software engineer.
Tangent aside, it's crucial that if you do decide to go major in CS at the collegiate level, you must be cautious as to which university or college you pick. Not any one will just do. Some programs are more refined while others may be newer and a little rough, or even very rough.
You also need to consider the quality of the disability services. I don't know too many people who go through a STEM field without some sort of accommodation, and if you're anything like me, you'll pull out all the accommodations for math courses. Just be cognizant of this part of the equation. Many blind people wind up failing some of the core requirements, not because they're too stupid to understand the material, but because they didn't get the proper accommodations in a timely fashion.
That's all I have for now.