[techtalk] This talk of N-ary trees and other things...

Nancy Corbett nancy at netleaf.com
Fri Mar 23 17:55:09 EST 2001

On Sat, 24 Mar 2001 jenn at simegen.com wrote:

> Oddly enough, I have some recommendations:
> 	* study calculus, especially propositional and predicate calculus.
> 	* study the theory of programming languages, get familiar
> with the language families, become familiar with the fact that you
> can write a pseudocode for a language family and then translate from
> that into any language in the family.
> 	* learn the architecture of computers. Learn how the CPU
> works. Learn at least one assembly language, though you don't need
> to write anything more difficult than a fibionacci sequence. This is
> to ensure that you KNOW how your program actually runs through the CPU,
> or can at least make a good guess.

Thanks, Jenn!  This is helpful.  Like Michelle, I'm self-taught.  She's
right.  It leaves some holes in one's knowledge.  Some folks at work laugh
because at times I know how to do something that is very complex and
involved, and other times I discover that I am completely ignorant of
something everyone is assumed to know.  

One time someone told me to study Logic...but not just any logic, some
specific type of logic.  I can no longer remember what it's called.  Maybe
you know. I can see how it would help me to cover all my bases when
writing programs.  It involves mapping out truth tables for problems like:

Knights and Knaves problem. 

Suppose you visit a strange island with three types of people. Knights,
who always tell the truth, Knaves, who always lie and Normals who
sometimes lie and sometimes tell the truth. It is also the custom that
normals marry only normals, and knights marry only knaves. 
You meet two couples, Mr. and Mrs. Smith and Mr. and Mrs. Brown. They tell
you the following: 

Mr. Brown: Mr. Smith is a knight. 
Mrs. Brown: My husband is right, Mr. Smith is  a knight. 
Mrs. Smith: That?s true, my husband is indeed a knight. 

Can you determine which type each person must be? Explain.

More information about the Techtalk mailing list