[Courses] [C Programming] Anyone still here?

Jenn Vesperman jenn at anthill.echidna.id.au
Sat May 25 11:40:48 EST 2002


On Sat, 2002-05-25 at 01:59, Linda Mayhugh wrote:
> > Ask questions. :)
> 
> Hello all,
> 
> My question lies in how do you know how to approach 
> a problem, how do you know where to start, other than "well see if this 
> works, if not then try something else, until something apparently works"? 

This is close enough to your problem, yes. :)

> This may not even be the real question that hangs me up, but it's all I 
> have figured out how to ask so far. I've read books and asked people 
> this before and have never gotten an answer that works (least helpful was 
> a former boss who archly told me that CS students consider being taught 
> how to program as a insult, beneath their dignity. He thought my questions 
> to be evidence of a lack of wits).  

Oh for heaven's -sake-! My entire first year at uni was being taught how
to define the problem, how to select a solution, and how to break it
into pieces. 

Gee, maybe Knuth wrote five (six?) books on something beneath peoples'
dignity!
 
> So is there some philosophy to programming, some underpinning that is not 
> syntax specific, or is it that my way of thinking isn't the same as the 
> originators of programming and I'll just never genuinely understand it? Is 
> it one of those things that's either intuitive to you or it isn't?

There is definitely a philosophy. 

CS starts teaching it by focusing on math.

If you're math-phobic, though, start by thinking about recipes. As in
cooking.

In making a meal, you're starting with inputs: veg, meat, grains (rice,
pasta, bread?), herbs and spices.
You need to define the desired outputs: lasagne? roghan josh? irish
stew?

You then need to decide whether to use a pre-prepared algorithm (as
found in a cookbook), or to construct your own. Or maybe use one you
know in your head (your grandmother's recipe, handed down? Your family's
favourite?).

Then take each input in turn, and prepare it for eventual inclusion in
the desired result. Some will need more preparation than others.

Then take groups of inputs, and mix them together as the algorithm calls
for. 

Eventually, you will have the mostly-complete output in your pans. It
needs to be served up for the user's benefit, possibly with a garnish of
GUI. 



Jenn V.
-- 
    "Do you ever wonder if there's a whole section of geek culture 
        	you miss out on by being a geek?" - Dancer.

jenn at anthill.echidna.id.au     http://anthill.echidna.id.au/~jenn/





More information about the Courses mailing list