Re: Why I stop attacking HLA
- From: Herbert Kleebauer <klee@xxxxxxxxx>
- Date: Tue, 06 Sep 2005 11:53:16 +0200
"randyhyde@xxxxxxxxxxxxx" wrote:
> Herbert Kleebauer wrote:
> > Ok, let's get more concrete. Give us an example of an assignment which is
> > easier to solve in the first few weeks if you use HLL control structures.
>
> Create a set of "addition", "subtraction", and "multiplication" tables.
> Read the value "n" from the user, and produce an n x n table for each
> of these problems (using add, sub, and intmul). Based on their
> C/Java/Pascal/whatever knowledge, the logic is fairly trivial. With
> about four or five machine instructions, a few variable declarations,
> and a brief examination of AoA Ch2, they can do this.
Now I understand why it takes weeks to write the first program. You
have written six lines of text, but it is absolutely unclear what exactly
you want. Please give an exact specification what the program has
to do, so I can implement it and see why HLL control structures make
life easier.
> > Even Beth couldn't write more than a few sentences to explain the flags.
>
> Again, you're confusing a discussion of what the flag *are* with a
> decent knowlege of how someone would use these flags.
Before they can use them, they have to know what they are.
> > There are 4 FlipFlops (a FlipFlop is a hardware circuit which can store
> > a single bit) which are set or reset by most of the ALU operations. For
> > the add/sub instructions the meaning is:
>
> Well, right off the bat you're assuming they know what a flip-flop is.
> Big mistake.
If I had assumed that they know what a FlipFlop is, I hadn't explained
what a FlipFlop is: a FlipFlop is a hardware circuit which can store
a single bit
> Oh wait! What's a "bit"? And "Why are we talking about
Now you want to tell me, that they have mastered a HLL course and
don't know what a bit and byte is?
> hardware? This is a software class!" Again, given the appropriate
Im not speaking about the hardware (how the FlipFlop is implemented) but
about programming the hardware (how the FlipFlops are set and reset).
> prerequisite material, sure, students could understand the flags in a
> few minutes. However, they don't possess those prerequisites.
Then I have to repeat my question:
There are 4 FlipFlops (a FlipFlop is a hardware circuit which can store
a single bit) which are set or reset by most of the ALU operations. For
the add/sub instructions the meaning is:
Z: set if the result is zero, cleared otherwise
N: set to the most significant bit of the result
C: set if there is an overflow for unsigned operands, cleared otherwise
V: set if there is an overflow for signed operands, cleared otherwise
Now show me, which of the above can't be understood within two
minutes by someone who was able to pass high school.
> > Z: set if the result is zero, cleared otherwise
>
> And of what use is that?
??? If I say, "The car is red", then you answer "And of what use is that?".
Facts are facts and are independent of any usability. Before you can
use something, you have to know the facts.
> > N: set to the most significant bit of the result
>
> What's a "most signficant bit?"
What do they not understand? The "most significant" or the "bit"?
If it is the "bit", then something must be wrong with the HLL course.
If it is the "most significant" then the also don't understand:
"The most significant digit of the decimal number 23456 is 2".
But then I don't understand why such people are at a university.
> "Why is the most signficant bit special?"
Why does this matter? Facts are facts.
> "Why is this bit called the 'N' bit?
Why are you called "Randy"? We have to give it a name and "N" is as
good as "X" or "Y" (and as they later will see, even better).
> What does that have to do with
> anything?"
What has it to do with assembly programming that you are called "Randy"?
> > C: set if there is an overflow for unsigned operands, cleared otherwise
>
> What is an overflow?
> What is an "unsigned operation?"
> What does "set" and "cleared" mean?
They have learned e.g. C and don't know that you can get an overflow
when you add two integers? The have learned C and don't know the
difference between "int" and "unsigned int"? They have learned C
but don't know what it means to set or clear a token? But they know
IF/THEN/ELSE/FOR/WHILE?
> > V: set if there is an overflow for signed operands, cleared otherwise
>
> What is the difference between C and V?
> What is a "signed operand"?
> What is an overflow?
They have learned e.g. C and don't know that you can get an overflow
when you add two integers? The have learned C and don't know the
difference between "int" and "unsigned int"? They have learned C
but don't know what it means to set or clear a token? But they know
IF/THEN/ELSE/FOR/WHILE?
> Are you starting to get the picture?
Yes I get the picture. It seems you are unqualified for teaching
assembly programming.
> > Now show me, which of the above can't be understood within two
> > minutes by someone who was able to pass high school.
>
> Because students don't learn machine organization in high school?
The only thing which wasn't explained is the word "bit". Because they
already have done a HLL course I think I can assume they already know it.
They don't need to know anything about machine organization to
understand the above.
> > Even if somebody knows nothing about programming at all, he understands the
> > sentence:
> >
> > If the C FlipFlop is set continue with program execution at position
> > xyz, otherwise execute the next instruction.
>
> HaHaHaHa!
>
> You're assuming they know what a "flip-flop" is.
No, it was explained above.
> You're assuming they know what "execution" means.
That is not specific to programming. Any child has to execute
the instructions given by the parents.
> You're assuming they know what "position xyz" means.
Then they also don't understand something like: "Go into the
room with the number 123 and ask there for your next task".
> You're assuming they know what an "instruction" is.
Even a simple solder knows what an "instruction" is.
> You really need to teach an assembly language course at the university
> level sometime (or better yet, at the community college level).
I get the feeling, that you better never give an assembly language
course at the university anymore.
.
- Follow-Ups:
- Re: Why I stop attacking HLA
- From: randyhyde@xxxxxxxxxxxxx
- Re: Why I stop attacking HLA
- From: Betov
- Re: Why I stop attacking HLA
- References:
- Re: Why I stop attacking HLA
- From: anonymous
- Re: Why I stop attacking HLA
- From: randyhyde@xxxxxxxxxxxxx
- Re: Why I stop attacking HLA
- From: anonymous
- Re: Why I stop attacking HLA
- From: randyhyde@xxxxxxxxxxxxx
- Re: Why I stop attacking HLA
- From: Herbert Kleebauer
- Re: Why I stop attacking HLA
- From: randyhyde@xxxxxxxxxxxxx
- Re: Why I stop attacking HLA
- From: Herbert Kleebauer
- Re: Why I stop attacking HLA
- From: randyhyde@xxxxxxxxxxxxx
- Re: Why I stop attacking HLA
- Prev by Date: Re: Steve Commiting Suicide
- Next by Date: Re: Why I stop attacking HLA
- Previous by thread: Re: Why I stop attacking HLA
- Next by thread: Re: Why I stop attacking HLA
- Index(es):
Relevant Pages
|