IWETHEY v. 0.3.0 | TODO
1,095 registered users | 0 active users | 0 LpH | Statistics
Login | Create New User
IWETHEY Banner

Welcome to IWETHEY!

New Ok, to extend my point
I think that it may do your students some good to distinguish between the formative and executive phases of building a program.

I would consider the formative phase the part where you figure out what the program is supposed to do, how it is supposed to do it, and what tradeoffs there are to play with.
This generally exposes the hardware constraints, the major functional elements to be dealt with, and the interfaces between them.

In my experience, this is the phase that is generally shared between members of the group. It may be that there is just a driver guy, a firmware guy, and an app guy, so there are clear boundaries. Even in this case, each guy should understand how the interfaces work at least a level down on the other side of "his" interface. For example, the driver guy should understand at least one level deep how the firmware and the app work as it connects to the driver. This, I think, is harder for many to share because it is two minds viewing the same problem differently. It is a concept that is probably worth getting across to the students.

The coding or executive aspect is easier to show, but is really the lesser part of the actual program. Some will be more verbose than others. Some will be prodigal with resources. Some will degrade performance to save resources. You can lead by example and demonstrate good coding practices, but they will learn in real world mode by doing maintenance and enhancements of existing programs. That's where you learn idiom and technique. One section of code works well but needs to be extended to do something else; you learn what makes this good code. Another section of code really sucks and has to be replaced; you learn what makes it bad code. This is pretty much the way I learned. In the end though, coding is just something you do the way you like to do it.

To my mind, the classroom exercises are simply to teach basic technique and give experience with the tools. The rest comes as you grow. You have to be able to learn and adapt or your're just not going to make it. Which borders on tautology.

Apologies for rambling on,

Hugh

New My thoughts as well
Tom Sinclair

"Man, I love it when the complete absence of a plan comes together."
- [link|http://radio.weblogs.com/0104634/|Ernie the Attorney]
     Pair programming for coding newbies? - (tjsinclair) - (27)
         Could be interesting. - (static) - (4)
             Good points - (tjsinclair) - (3)
                 Like Alex says below - (drewk) - (1)
                     Got it - (tjsinclair)
                 Separation of thinking and typing. - (static)
         I found PP a skill that's hard for me. - (Arkadiy) - (2)
             Bingo. - (a6l6e6x)
             Agreed - (tjsinclair)
         Re: Pair programming for coding newbies? - (JimWeirich) - (1)
             They'll be next to each other - (tjsinclair)
         Another idiotic software idea - (deSitter) - (16)
             Beg to disagree... - (hnick) - (11)
                 With one minor difference in my case - (tjsinclair) - (8)
                     Where to begin? - (deSitter) - (5)
                         Details? - (tjsinclair) - (4)
                             Re: Details? - (deSitter) - (3)
                                 Good points, thanks - (tjsinclair) - (2)
                                     How about teaching them how to template? - (static) - (1)
                                         Good idea - (tjsinclair)
                     Ok, to extend my point - (hnick) - (1)
                         My thoughts as well -NT - (tjsinclair)
                 Consider it as parallel processing - (Arkadiy) - (1)
                     That was my thought as well -NT - (tjsinclair)
             Re: Another idiotic software idea - (JimWeirich) - (3)
                 Re: Another idiotic software idea - (deSitter)
                 Speed and pair programming. - (static)
                 Re: Another idiotic software idea - (neelk)

All artists are potentially a victim of their desire to be unique.
46 ms