Yes. It is an efficient way for learning Ja va. Yes. All software engineers should take this course. It depends on that student. If one wants to learn sth and willing to spend time on this class, then I will recommend. Yes, for the concepts taught. Yes. The instructor is well prepared.
Yes. Because this class is very good. Yes, the stuff being taught is extremely useful for any Software Engineer. Make sure you have a solid understanding of Java. Lots of homework. Yes. It teaches very elegant and useful software design. Yes, these patterns can help a person become valuable in architecting software.
The supporting web site is good. Yes - excellent foundation course for design principles. Yes, this course gives in depth view of oops design and analysis. Sure. Because I learned a lot new and better way of doing things/programming as well and the professor has an excellent handle on the subject and explains well.