Hi John,
I did not have the time to follow all of the discussions this week, I will have to come back a review them at my time. I did find your questions very enlightening and wanted to have at-least have a say, here are my
thoughts:
it is a question I have struggled with in the past.
Great, I hope that the following will make sense to you
First, let me say that my learning focus has always been on implementation, in other words "getting it done". I started 5 years ago with IT and now I am starting to move to the
abstracts of UML, patterns, and OO. I believe that was
my surest way to find a job. I think Tim will agree with that
. It would come then as no surprise to you that my favorite language is Perl, and I don�t think it will change esp. if we like freedom. I am from the self-taught school and mostly through book
s. Occasionally, I attend a short course when I feel I need an instructor's interaction.
I preface all of this since you mentioned being an instructor so I just wanted to share my learning experience. Also, I want to hear your general comments on this. I will give my opinions starting from the implementation thoughts, which you happen to mention last in your post, but is most relevant to me.
One of the main tenets of the class is that I will try to teach people not only the mechanics of the language, but also how to apply the language to solve problems.
I don't think that this has anything with including patterns in OOAD classes. However, the ability to apply a language is very important, everyone know that. No, I do not mean to re-phrase you
� After I taught myself Java, with the only purpose to pass the exam, I was very surprised that despite passing, I could not effectively apply the language to
real problems. OK, I will admit that I did NOT practice anything. I just studied and went for the
test writing less the fifty lines of Java. Nevertheless, applying skills in Java
does require additional focus, and perhaps its own study, even if one know all of its mechanics.
�
I have often seen � focus on the semantics of drawing class diagram, sequence diagrams,etc..... Should design patterns be integrated into the base OO curriculium?
You mention three things here:
drawing class diagram, sequence diagramsdesign patternsthe base OO John, please help me out, I am learning here: Is it correct to say that you have here UML followed my Design Patterns followed by OO? In other words,
does one builds on top of the other and therefore one should be trained in that order?
I believe it does, and as Malay is saying that the course with all the bells and whistles was useless when it came to
applying.
After I got some of the OO and Java skills, I realized I needed to acquire more knowledge. I thought that UML should be next. From all the books, I chose Martin Fowler's UML distilled. It appears to me that I should have started first with the Pattern studies esp. that within UML you refer to a given design pattern.
I think it depends whether you're teaching OO from a
design or
implementation prospective. OO design courses should includes Patterns while OO implementation courses should focus on applying a language techniques.
should design patterns be incorporated into the classes on particular programming languages?
Yes! I think it�s a fantastic idea. Of course you will not
have to use it but I think that it�s another step to have plug 'n' play software.
Finally, let me ask you what book would you recommend as my first design patterns book. I usually get about 2-4 books on a topic and your book just
seems too big for a start (to buy that is � if I win a copy then it would be my first
). I guess I am looking for a "Design Patterns distilled" as written by Fowler on UML, 200 pages and � useful.
Thanks in advance for your thoughts,
Leslie
[ October 04, 2002: Message edited by: Leslie Chaim ]