Design patterns and object oriented design aren't exactly "basic".
I think the point some of us are trying to make is that the first language you should learn is not a language at all. There are many concepts which you should learn about how a computer works before you can have any hope at writing computer programs or doing further work. If you do quickly learn a language first, you'll end up clouding those concepts with the perception you have of that language.
You can be successful learning a language straight away, sure. Lots of people do it. And if you're not a serious CS student and just learning to get something done for another discipline, then you're probably fine. If you're studying CS with any sincerity, though, I think you're really best off starting from scratch.
I think the point some of us are trying to make is that the first language you should learn is not a language at all. There are many concepts which you should learn about how a computer works before you can have any hope at writing computer programs or doing further work. If you do quickly learn a language first, you'll end up clouding those concepts with the perception you have of that language.
You can be successful learning a language straight away, sure. Lots of people do it. And if you're not a serious CS student and just learning to get something done for another discipline, then you're probably fine. If you're studying CS with any sincerity, though, I think you're really best off starting from scratch.