You are in charge of your education. Throughout your life and career, you will need to learn on your own. Your professors are here to guide and direct you, but you'll get much more out of your college education if you take charge of it. Explore. Take the detours. Do more than the minimum to get by. Learn.
Part of your task at college is to discover what you'd like to do for the next several years. What do you enjoy doing? What are you successful doing? Explore your options. As you are searching for what you enjoy, note what you dislike and try to understand why.
But an undergraduate degree is not training. Yes, you are learning skills, but mostly you are learning concepts and how those concepts fit together. Specific skills will come and go, but many of the concepts are at a more abstract level and will remain important years from now.
Computer science is not memorization. It is understanding problems, seeing and applying patterns, representing and manipulating information, and building and using models. In whatever you are studying, try to see through the example before you to the underlying concepts. Try to find additional perspectives. Try to tie this concept into others you've seen.
One of the most useful things you can learn is the ability to ask a good question. You'll never know everything. Acknowledge that. Then learn how to find answers.
I'm always open to questions, but the more focussed and researched the question, the better I can direct the answer. For example, if you ask me, "What's wrong with my program?", I'll need to ask you several questions to understand what you've tried already in seeking a solution. If I'm short of time, I may not be able to help you. But suppose you said this instead: "My program compiles cleanly. I've tried adding items at both the beginning and end of the list, but they seem to be added only at the end. I drew pictures and walked through the code for the insert function, but I didn't find the bug. Could you please follow me as I do it again? Maybe I'll see the bug then." I'm more likely to help you because you've already tried to help yourself.
Asking such questions by email is a very effective way to get an answer especially if you have submitted your program so that I can examine it in context.
You can also find help from your fellow students, the tutors, and even online.
However, be very careful that you are getting general help rather than specific help with your specific assignment. Having someone else do your homework, doing someone else's homework, or collaborating beyond the allowed collaboration in a course is cheating. Asking me for help is always allowed.
Most importantly, you're cheating yourself by not learning the material.
On student evaluations I sometimes read that students never used the textbook or found it useless. Or students comment that what I cover in class doesn't match the book. But those comments miss part of my reason for requiring a textbook.
I tie the lectures to the text, but it is an extra part of your learning and understanding the material. You need to be doing the reading and understanding. The textbook complements the lectures and assignments and vice versa.
Reading the textbook gives you additional perspective and details on the topics we're covering in class. If you choose to not read the book, it is possible to pass the course. You may do well in the course. But you aren't taking full advantage of the educational opportunity you're paying for and we're trying to provide. You're hearing only part of the story.
The concepts will make more sense and fit together better if you use the book as an additional resource. Look at the chapter questions. Read the background material. Look at the examples. I tend to not use the text's examples in my lectures so that you can use them to review the material. Try to answer the questions presented in the text. This isn't a novel. Read it in small doses when you can concentrate.
We won't cover all the topics considered in the textbook. A textbook needs to address a wider audience than our university. Different schools have different curricula and course arrangements. There is no one 'right' book. We try to choose those that best match our needs and teaching styles.
This is your college education.
Take advantage of all the opportunities.
Do more than the minimum.
Check out my exploring page for some ideas of where to explore.