Re: Why I stop attacking HLA
- From: "randyhyde@xxxxxxxxxxxxx" <randyhyde@xxxxxxxxxxxxx>
- Date: 5 Sep 2005 19:44:52 -0700
Herbert Kleebauer wrote:
> randyhyde@xxxxxxxxxxxxx" wrote:
> > Herbert Kleebauer wrote:
>
> > The only problem is that you cannot give substantial assignments during
> > the first couple of weeks because they don't know enough machine
> > instructions to do this. Hence the use of HLL-like control structures
> > during this time period.
>
> 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.
>
>
> > for example). You seem to think that students can absorb all this
> > information at once. They cannot.
>
> 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. Flags are a
foreign concept to most people who've never worked in assembly language
before. Go ahead. Teach a class with 50-100 students in it. See for
youself if a half-hour explanation opens all their eyes.
>
> 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. Oh wait! What's a "bit"? And "Why are we talking about
hardware? This is a software class!" Again, given the appropriate
prerequisite material, sure, students could understand the flags in a
few minutes. However, they don't possess those prerequisites.
>
> Z: set if the result is zero, cleared otherwise
And of what use is that?
> N: set to the most significant bit of the result
What's a "most signficant bit?"
"Why is the most signficant bit special?"
"Why is this bit called the 'N' bit? What does that have to do with
anything?"
> 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?
> 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?
Are you starting to get the picture? The whole purpose of a machine
organization and assembly language course is to *teach* all these
subjects that you're blindly assuming that the student already knows.
And without that prerequisite information, concepts like flags just
don't make much sense.
>
> 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?
> >
> > It's a completely different programming paradigm for them. You're
>
> 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.
You're assuming they know what "execution" means.
You're assuming they know what "position xyz" means.
You're assuming they know 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). That
would enlighten you about the incorrect assumptions you're making about
what the students come in knowing.
>
>
> > First
> > you teach them about the flags. *Then* you teach them how the Jcc
> > instructions operate. *Then* you teach them how to construct statements
> > like IF/WHILE/SWITCH/etc using these statements. This process takes a
> > couple weeks *after* they've already learned quite a bit of the
> > instruction set already.
>
> I always thought, 60 seconds are called a minute and not a week.
Again, try teaching a course or two sometime. Then get back to me. If
this stuff could be taught in 60 seconds, believe me I would have done
it.
Bottom line is that you're assuming that students entering a course
have the same knowledge *you* possess *today*. They don't. You'll be
amazed at how many students have this big mental block that causes them
to take weeks to "grok" (understand well) certain concepts. A few
students will pick up the notion of flags and how to use them in a few
minutes, just as you claim. Some students may *never* understand what's
going on. And the average student will take about a week to figure all
this out.
Oh, and do keep in mind that these students *are* taking other courses.
They are *not* devoting their full time and all their attention to
learning assembly language. Some of them even have a life outside their
classes. And very *few* of them are highly motivated to learn assembly.
All these things conspire to reduce progress in the class.
>
>
> > Been there, done that. By the end of the quarter they've not gotten as
> > far as when they've started with a high-level assembler. That's the
> > bottom line.
>
> Maybe that's the fault of the teacher and not of the students.
Easy for you to say. Prove me wrong. Go teach several classes and see
how well you do.
Cheers,
Randy Hyde
.
- Follow-Ups:
- Re: Why I stop attacking HLA
- From: Herbert Kleebauer
- Re: Why I stop attacking HLA
- From: Evenbit
- Re: Why I stop attacking HLA
- From: Betov
- Re: Why I stop attacking HLA
- From: Charles A. Crayne
- 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
- Prev by Date: Re: Why I stop attacking HLA
- Next by Date: Macros for Spinlocks, Mutexes, Semaphores, etc
- Previous by thread: Re: Why I stop attacking HLA
- Next by thread: Re: Why I stop attacking HLA
- Index(es):
Relevant Pages
|