I was talking today to a colleague of mine about the reactions some of the students had at one of our courses. We have some difficult electronics classes. During one of courses we were shown on the on screen projector some electric schemas. One time they were a bit bigger than we usually had. Some of the students started “woaa…”-ing around. Then, everything got bigger. Imagine an almost global and fill of dissapointment”wooo…”.

I was thinking afterwards: what causes people to react that way? Ok, the answer would be the expanding schemas… but… what if?

What if, from the very beginning, we were given a computer motherboard lets say. People, you have to understand it!. A big “woooo..” would have followed. But, it would have been the only one if, afterwards, the teacher would have told us to go a bit lower into the structure of the motherboard. Now, please observe the amplifying stage, next to the power suply connector (this is purely imaginative, I have no idea where the stages are on the motherboard). Students would have said: Ah, ok, so we’re going to learn this tiny thing… should be easy… (compared to the entire motherboard). This way, during the entire course, the teacher would have got only one “woaaa…” - and that would be at the very beginning. On the same principle, research would have gone deeper into the structure, stopping at the level where the software engineer needs to stop (forgot to mention, we will be software engineers, not hardware engineers).

What currently happens goes like this:
Teacher:
Students, here is the bi-polar transistor (we were told afterwards it is no longer used in computers because of too many disadvantages, but we still learn it, for A SEMESTER). Now, have a look at all these connection types…
Students: Woooo… (many formulas)
Teacher: Now, look… we can have 2 transistors in the same circuit!
Students: Wooooooo…
Teacher: … but.. don’t worry… we can make an equivalent for these 2 transistors…. we’ll replace them with only one…
Students: Phew…. Wooo.. more formulas…
Teacher: At the exam, you’ll have problems with only 4 transistors.
Students: “only”… wooo…
Teacher: We used to give problems with 5-6 transistors some years ago, but it took a long time solving the problems and students couldn’t finish because of this… oh.. and we also added saturated or blocked transistors.. to make the problems more fum
Students: what tha?!?!…. (we pretend didn’t hear the teacher)

So, what did I see there?
I saw that things got more complicated in a field which does not dirrectly affect software engineers. This is probably why these courses really stick to the memory of the computer science students as being the most difficult of the entire faculty.

What I was thinking was… what if everything was taught the other way around?
From BIG to small. From large circuits, to small parts.
We don’t need to know how the tiny transistor works in its every detail (=tons of formulas)! We will never create the transistor! (the bi-polar transistor is outdated anyway). We will never use it in creating a circuit board. In the worst case scenario we will have to take a look over an electric schema and think what happens there. But even then, we will be pretty smart not to stick our noses into what we don’t know and we will ask the qualified people.

This way, we will know better the inner workings of the computer, not at the electric components level, but a bit higher. As software engineers, we will work with modules. It will be almost the same, but on hardware level. Starting from the high-level interactions and going down to some-low-level interaction might prove a more efficient teaching method for this kind of courses.