Let's try to keep the unnecessary stroking at a minimum.
That said, there simply is no substitute for a wide range of reading BEFORE one embarks into the darkwoods. It is fairly essential that one have a fundimental grasp of assembly language, but from a narrow prospective, in order to do general reversing. This is so because the most frequent "visual" display of a program, as seen in the debugger and/or disassembler will be assembly language.
This does not mean that one needs to be able to "write" programs in assembly language, because while it certainly is doable, most languages are written in "higher" languages simply because it is easier. But if you want to learn to use Softice and/or Ollydbg and/or IDA, what you are going to see is usually assembly language and you need to be able to recognize what you are seeing and what the code is doing in terms of moving bits and bytes into and out of registers and setting flags and such. And what the heck are pointers and relative addresses, etc.
So a good place to start is with some form of a primer on assembly language for crackers. There are several available on the net. You will find good reference sources on a variety of subjects for the beginner in the links at the bottom of the RCE Messageboard Regroupment, aka the Woodmann Forum mentioned many places here.
As a starting point, I will repeat my mantra the one of the MOST important skills a beginning reverse engineer can learn is how to search, because information about most subjects of interest already exist on the net. General search topics for those starting out could include (without the quotes):
"
Hacker Disassembling Uncovered" (slightly advances, but a useful read even for the beginner and the e-book is available here after one has 3 posts. Yes, I intend you to use the search button. Try it, you'll learn to like it.

)
"
cRACKER'S nOTES"
"
cracking for newbies"
"
assembly guide for newbies"
These will give you a good start and a direction for where to go next. Learning to crawl before you try to walk or run, means you can read many tutorials, but your first emphasis should be to try to understand what the heck they are talking about, rather than trying to follow in an actual program. it is much better to obtain some fundimental understanding of what reversing is all about, rather than just go crashing through the dark codewoods.
Regards,