I look at coding as a way of programming but not all programming needs to be done by writing code. There are other ways to program a computing device: a.k.a alter the behavior of a program.
> What were students supposed to be able to accomplish that they couldn't do before?
I don't recall the ILO's (Intended Learning Outcomes) of the class but I do recall one was being able to apply Design Patterns in their analysis and design.
I'm not saying I agree with people designing software systems without also having an ability to code but I do think people can think critically about solving problems using tools like UML without having to code out the solution.
Thanks for taking my somewhat flippant questions seriously. Thinking about design seems useful.
Learning about the `classic' design patterns seems silly. They are basically workarounds for shortcomings of OOP. And if one can not program, one does not need to know about workarounds.
Did you include a study of the Mythical Man Month?
Design patterns exist within all programming methodologies including functional programming, structured programming, etc. In some cases, the pattern is incorporated within the methodology, some within a specific language, some are incorporated within the framework and others are used at the domain level.
Just because a design pattern has become so ubiquitous we don't even know we are using it doesn't mean the pattern does not exist. The iterator pattern has been weaved into languages for both functional and object oriented programming. Java has implemented it at the framework level. Maybe it should not have been done there.
In all cases, this really has nothing to do with shortcoming of OOP (or any programming methodology for that matter). It has to do with allowing us to recognize common patterns of design within software.
> Did you include a study of the Mythical Man Month?
Yes. But not in the above described BIS class. It was in another class in the CIS program.
It was for the BIS program (http://www.rmit.edu.au/programs/bp138). You can get an idea of the program for graduates.
I look at coding as a way of programming but not all programming needs to be done by writing code. There are other ways to program a computing device: a.k.a alter the behavior of a program.
> What were students supposed to be able to accomplish that they couldn't do before?
I don't recall the ILO's (Intended Learning Outcomes) of the class but I do recall one was being able to apply Design Patterns in their analysis and design.
I'm not saying I agree with people designing software systems without also having an ability to code but I do think people can think critically about solving problems using tools like UML without having to code out the solution.