TechHui

Hawaiʻi's Technology Community

We've had a number of interns from UH over the years and we've hired some great UH graduates. One thing that I've noticed, and this isn't specific to UH, is that undergraduate programs don't seem to cover design patterns which we feel is very fundamental. In interviews the top students tend to do well on algos, datastructs, code QA, general problem solving, etc. but they almost always fall down on design patterns. Its hard to discuss nontrivial architecture without using design patterns. We screen for smart people, so they can learn them relatively quickly, but it would be great if they knew them before they arrive.

I'm interested to hear UH ICS people's opinion on this. Again, we've noticed this with ICS (and equivalent)  programs within other universities, so its not unique to UH. I also want to reiterate that I think there are some great, very involved profs in the UH ICS department, many of whom are TechHui members.

 

Views: 61

Replies to This Discussion

I would guess that undergrads have very limited development (and design) experience - all these patterns will be to abstract to learn, they would just memorize them without having design experience.

However here is a relevant discussion from stackoverflow  and someone is saying "... The Design Patterns course I took in college was probably the most beneficial class I've ever taken..." so maybe such a course would be somewhat difficult to implement taking in account the lack of coverage and experience among undergrads?

Games can help :) by Randy Connolly.

Maybe you are right and none of the undergraduate projects are complex enough to require them. Then again, they seem to understand other concepts that are harder. Could it not be a 400 level course? Maybe it is already available but is simply an unpopular elective. Do you know off hand? If this is the case it should be reworked as "Super Awesome Game Programming with Design Patterns" :-)

I used to run a design patterns workshop at UH.  I believe I also proposed a course on design patterns, but I got the feeling the sentiment was that this stuff would be covered in software engineering courses, and it is to some extent.  I'm now teaching at HPU and I think there may be the same issue.  I do try and cover design patterns where possible in my courses, and the course I just taught on Internet Programming really was all about design patterns for internet applications.  I may well use a pattern oriented approach when I teach more basic programming classes at HPU in the future, but for the moment I am focusing my energies on Mobile Programming and Artificial Intelligence courses.  However I will be hitting design patterns in both of those contexts as they come up

@Sam I'm very happy to hear that. Weaving it into existing courses sounds like a good approach.

I do agree that patterns itself are not hard and complex; it's easy to memorize - but there is a very little need for them in small projects. It's all about their benefits to clarify design, reuse the code etc. In small projects they are useless. Unless, maybe, as Sam pointed out - when one will re-use some library which is designed to be plugged in using those patterns.

RSS

Sponsors

web design, web development, localization

© 2024   Created by Daniel Leuck.   Powered by

Badges  |  Report an Issue  |  Terms of Service