Unlikely

Last 10 changes

peermore
peermore
peermore
aboutchris
augury
socialtext
pictures
socialtext
socialtext
aboutchris

122 words
253 defs

craft

[ Prev ] [ Next ]

Revision:
2002-02-22 01:24:02 ]

Backlinks:
r020220
craft


Posted to the ac.csci.c335 newsgroup for my A593 Computer Structures
class. The latter half seemed worthy context for this thing.

Date: Fri, 22 Feb 2002 01:22:00 -0500 (EST)
From: Christopher J Dent <cjdent@cs.indiana.edu>
To: cdent@burningchrome.com
Subject: confirming ass3 expectations

I guess I'm mostly done with assignment 3 (except for some tidying)
but I want to confirm the expectations before I turn things in. Also
there's something that Mills wanted me to post at the ends of this
message.

I'm using 4 different jump tables in something of a hybrid between
assignment2 and this one. It didn't make sense (to me) to make a long
jump table when I could use just one in some cases and cascade through
two in others.

The first table is based on the high nibble of the ascii code of input.
Then there is a table for hex, and a table for operators. Decimal
numbers don't need 'em.

The fourth table is used later based on the operator in the input
to choose a routine for the calculation.

This okay?

I do not report errors in the input string until after the = key is
pressed. In other words I don't go into cbreak mode.

Okay?

My code will _only_ do operations on two 4 digit hex numbers and will
_only_ output an 8 digit hex number. The assignment made it sound like
this was desired. If I get numbers with the wrong number of digits or
too many or too few numbers or operators it errors and starts again.

Okay?

Earlier this week Prof. Mills asked me to post my "method" so other
folks could know about it. I'm not sure I really have a method other
than being stubborn and not sleeping much, but here it is:

- do not reinvent the wheel, steal: if you can find an example that
  does something like what you are trying to do, modify it, credit
  where appropriate. I spend a lot of time in the example 2 and 3
  code.
- search the web: when I can't figure out how to use a particular
  instruction I search on the web to see it used in some kind of
  context. The programmers ref is good to a certain extent, but
  without samples I'm pretty much lost.
- decompose the problem on paper
- experiment in the lab: this is the one that Mills felt was worth
  mentioning. I diddle in the lab alot and do a lot of stepping
  through code. Getting in the guts.

I am, however, now pushing my limit. Without constructive, written
feedback on the homework turned in so far I'm going to be lost, soon.
My continuing problem with CS classes at IU has been that if you turn
in moderately good code, you get a good grade but no feedback
on how it could be better. That needs to happen or any adequate,
yet bad, habits that people are generating are not going to be
nipped and tuned to something better while they are still weak.
If that nipping and tuning comes later I'll be too curmudgeonly by
then to accept it. I look at my code now and think, "Cool, that
works, but DAMN, that sure looks ugly" but don't know what
direction to go for improvement.

There's a great deal of evidence which supports the idea that
excellent programming (and many other computer related activities)
is a craft: it can't be taught in any true systematic fashion but
instead must be taught by the tranferrence of the cultural concepts
inhered in the expert craftspeople and demonstrated in paradigmatic
examples in a dialogic process. I have no idea on how to accomplish
that in classes of this size, but it would be cool.

Of course, this class isn't really about programming it's about
structures, perhaps I shouldn't worry about it?

(I'm tired and I fried my brain in the lab.)
[ Contact ] [ Old Blog ] [ New Blog ] [ Write ] [ AboutWarp ] [ Resume ] [ Search ] [ List Words ] [ Login ]