[sf-lug] Tutor me in Programming?
justizin at vongogo.org
Sat Sep 6 19:56:47 PDT 2008
On Sat, Sep 6, 2008 at 7:40 PM, jim <jim at well.com> wrote:
> it makes perfect sense. the idea is to think
> through a problem with respect to the resources
> you have at your programming hand. learning
> algorithms seems to me a good first step toward
> learning that kind of thinking.
"Algorithms" is an elusive word. When I was younger, I would have
said something like that I "didn't know much about algorithms" -
mostly a confidence issue, though clearly also a moderate lack of
semantic understanding. If someone asked me about "algorithms" now I
would probably - involuntarily to be fair and somewhat polite about it
- wrinkle my nose.
Wikipedia says that an algorithm is "a series of finite instructions",
amongst other words I didn't reproduce. :) So, you probably wouldn't
brag about your "algorithm" for printing the contents of a file,
whereas other algorithms have a lot more to do with Mathematics - my
major at CCSF - than CS, except for understanding how best to evaluate
them in a machine. An example of this would be the algorithm for
calculating rotation in 3d space. A good mathematician can talk any
amateur programmer through calculating this, but if you want to run at
a decent FPS you'll want to find someone who can handle both.
Jim's advice is good for pretty much any generic case. If something
involves complex mathematics, it still should be simpler to write a
program once you can enumerate the steps than to solve even the
simplest case by hand, though it'd be a good idea to check yourself
and maybe write a unit test or two based on known values. :)
It could be said that "programming" is the process of recording
algorithms into machine readable form. Don't be so down on yourself
because you don't understand every fancy algorithm out there, a lot of
fancy programs that impress us all and make us proud to be part of the
computing field are also difficult for all but a few extremely focused
individuals to understand more than colloquially.
Justin Alan Ryan
Independent Interaction Architect
* : +1-415-226-1199 x2600
"All because of a bunch of stuff that happened.."
"The best way to get in touch with me is PayPal.
More information about the sf-lug