
+5 for Petzold.
Great book. Also his Annotated Turing.





Start with decimal notation using fully positional notation as opposed to something like Roman numerals which uses different symbols for powers of 10 but also has some positional rules. Give examples of arithmetic rules.
Then drop to octal, since it's easier to understand using less symbols  counting with just your fingers and not using the thumbs. More arithmetic examples.
Play around with a few other bases  duodecimal (base12) or sexagesimal (base60  hours, minutes, seconds)  finally arriving at hexadecimal. More arithmetic...
Maybe show base4 or move straight to binary. Show the same arithmetic rules apply even when there's only 2 symbols.
Show that any number in binary representation can be easily rewritten as hexadecimal or octal (and viceversa) just by grouping/expanding the digits. Mention that, in computing, the term bit is a contraction of binary digit.
Introduce Boolean algebra as a separate topic using Englishlike examples for AND, OR and NOT.
Somewhere along the way, introduce De Morgan's Law  "NOT (A OR B)" gives the same results as "(NOT A) AND (NOT B)"
Finally, show that if TRUE is one and FALSE is zero, then AND is the same as multiplying in binary and only looking at the last digit and OR is addition.
You can then introduce logic gates and show how to build an adder circuit for 2 single bit numbers with a 2bit output  least significant bit is OR, most significant/carry is AND but it can all be done with just AND/NOT or OR/NOT, so you only need one 2input gate and an inverter (NOT).
Etc.





CPUser3 wrote: If your goal is to get the following three concepts into the minds of a large group of people...
Then my goal would be to find a different goal because that isn't going to work.
Certainly I have seen programmers that can't figure even one of those out.
I would not want to try with a group of specialized university mathematics professors.
Perhaps university mathematics students since then still have generalized concepts in their head. But only the ones doing well in their class work.
CPUser3 wrote: Boolean Algebra
Not sure about the other two but I remember that this was an entire university semester long class that I took.





I'd say binary first, since I recall teaching someone for their high school class ... after I had been out only a few years myself. (I was already programming by that time though I don't recall learning binary in HS).
Of course, you ground them first with decimal, and how it relates. (With a side trip to Octal)
"Before entering on an understanding, I have meditated for a long time, and have foreseen what might happen. It is not genius which reveals to me suddenly, secretly, what I have to say or to do in a circumstance unexpected by other people; it is reflection, it is meditation."  Napoleon I





Arithmetics:
Binary and Hex and this and that base is all the same. Only the base is different.
E.g. adding two numbers based on 2 or 16 or 10 following the same scheme.
Boolean Algebra:
This is a different from the above and needs to be explained seperately.
Here the operators are different. Operators like 'logical and', 'logical or', 'not', .... that are boolean operations and not arithmetic operators.
Why it is different
Let us have two boolean variables 'a' and 'b'. They can only have the values TRUE or FALSE.
One fundamental law in Boolean algebra is:
a AND b == NOT(NOT a OR NOT b) which is very different from arithmetics I think.
Same is valid for e.g.
a OR b == NOT(NOT a AND NOT b)
*1) 'Arithmetic' example, more number representing for different bases
I assume you know all these, therefore only as a basic idea how to start....
In my opinion you need to explain what number representation based on a different bases means.
The very basic thing how to represent a number based on any base 'b' is:
... b^2 b^1 b^0 ... b^1 b^2 ....
The available digits depend on the base.
Examples for bases and available digits:
Base 2 (binary) : 0, 1
Base 10 (decimal): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
Base 16 (Hex) : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F
Example for the representataion of the decimal number 123 with different bases:
b^7 b^6 b^5 b^4 b^3 b^2 b^1 b^0
Base 2 : 128 64 32 16 8 4 2 1
0 1 1 1 1 0 1 1 = 1x64 + 1x32 + 1x16 + 1x8 + 1x2 + 1x1 = 123
Base 10: 10^7 10^6 10^5 10^4 10^3 100 10 1
0 0 0 0 0 1 2 3 = 1x100 + 2x10 + 3x1 = 123
Base 16: 16^7 16^6 16^5 16^4 16^3 16^2 16 1
0 0 0 0 0 0 7 B = 7x16 + Bx1= 123
I hope I made no mistakes while writing the above ;)
modified 30Nov23 15:02pm.





CPUser3 wrote: If your goal is to get the following three concepts into the minds of a large group of people...
Getting those concepts into the minds of a large group of people??, not gonna happen. You would rather forget about the order but think about the disorder you will cause.





You have to provide adequate incentive, threaten grievous bodily harm to those who don't understand maybe?
"the debugger doesn't tell me anything because this code compiles just fine"  random QA comment
"Facebook is where you tell lies to your friends. Twitter is where you tell the truth to strangers."  chriselst
"I don't drink any more... then again, I don't drink any less."  Mike Mullikins uncle





You'd have more luck getting them to recite that rhyme straight ten times.
On a slightly more serious note, hex is just binary, 4 bits at a time. Maybe mention octal as a stepping stone.
Software rusts. Simon Stephenson, ca 1994. So does this signature. me, 2012





First make everyone drink two coffees and a bottle of water and then tell them there are no breaks. That will keep questions to a minimum!
My top of the head approach:
Boolean Algebra with true and false
then teach
false is 0
true is 1
Repeat Boolean Algebra module now with 0/1
Then introduce using groups of two bits
repeat Boolean Algebra with two bits.
Show 4, then 8, 16, 32 quickly.
do a few exercises with 8 bits.
(Optional: at this time XOR)
Now introduce some other binary operators like addition and subtraction, then two’s complement and “signed” values in binary. (optional: Overflow exceptions and how to calculate overflow. or only cover this if someone brings it up. still have some content prepared on the topic)
Now that you are starting to treat blocks of bits as numbers, hammer home place value in binary (as well as review same in decimal system)
Show how in decimal we bundle by groups of three digits: ones, thousands, millions. Then segue from there on how to bundle 4bits into a nibble, and then show hexadecimal. (Separate the classroom then on people who think hexadecimal should use upper case or lower case for AF for no reason just to mix things up) show hexadecimal place value, do a few simple additions and subtractions in hex.
Demo Programmer mode on the calculator.





You could create the presentation as an article to solicit feedback. And then dismiss poor reviews of your presentation thusly “Wow, I found this as an article on codeproject.com, I thought they knew their stuff! Sorry.”
Might need to scrub your bio if you execute this suggestion!





I would start with Boolean Algebra, just to introduce the student to the many useful things a number system with only two possible digits can be. Then I would extend the concepts to binary arithmetic, to demonstrate the interchangeability of number systems, given the proper conversions. Lastly I would introduce the hexadecimal notation, with emphasis on the usefulness of this shorthand way to represent what is, essentially, a binary representation. In practice, I actually started down the logic road in grade school, learning about sets, and expressing relationships with Venn Diagrams. Later came the transition to general logic, binary, then octal, then hexadecimal arithmetic, and state transition diagrams.
Will Rogers never met me.





I'd just flip 2 with 3
So 1,3 then 2
Mostly because binary and base 16 arithmetic are best made mentally (and hexadecimal can be broken down to binary easily in case of brain fart)
Boolean Algebra is a whole world by itself and because the choice of 1 and 0 for True and False is totally arbitrary, it doesn't necessarily follow the former two. People eventually memorize the basic tables of AND, OR and XOR by way of assembling digital circuits (the fun part)





I am trying to get eggshells ground down to a flour which is fine enough in its powdered form to allow for regular cooking; particularly on a griddle top when mixed with milk and eggs and stuff
The home blender is just not good enough for this purpose; I have already ruined my second one and I'm not going to destroy any others.
I just spent four hours on thirty zillion websites, and apparently my best bet is something called a spice mill grinder.
There is an ocean of those things out there on the market. Interestingly enough, I never knew they existed.
Clueless nubee here: What am I looking for ? What do I need to be looking out for, i.e., in terms of stuff to avoid ?







Richard MacCutchan wrote: I just spent one minute on Google and found: Uhm, yeah, Try any of the methods of which those people are suggesting; and then try to use that powder for baking real food that you're going to put into your mouth and chew.
Been there, done that, and I'm looking for a spice grinder so that I don't repeat exactly what all those websites are trying to describe.





CPUser3 wrote: try to use that powder for baking real food Can't see any reason why I would want to do that.





Some claim that it helps with bone loss.
But of course calcium tablets do exactly the same thing and more effectively since they are actually formulated for absorption.





Why do you want to use egg shells? Never heard of that.
I’ve given up trying to be calm. However, I am open to feeling slightly less agitated.
I’m begging you for the benefit of everyone, don’t be STUPID.





I have a secret plan to take over the entire world
Eggshells will be the technique I use





Either a spice grinder or a wheat grinder.
CI/CD = Continuous Impediment/Continuous Despair





I don't think a wheat grinder is going to get to the powder consistency desired. I have a Wonder Mill (something like that) that takes whole wheat berries and quickly generates flour, but I don't think you could get the shells through it. Before ruining a perfectly good wheat grinder, I'd call and ask the company...
Charlie Gilley
“They who can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.” BF, 1759
Has never been more appropriate.





I contacted them via their website
They responded via Email.
They told me to go to www.willitgrind.com
They said that I will see an example of egg shells and how they come out
I looked at that site; couldn't find it.
Oh well; this is the internet
Happens





This Christmas, Give Me The Gift Of Your Knowledge
Here is the latest on my mystery research
From The WonderMill company, I got this one line...
This sounds like it would work
From The Vevor Company...
I called and had a spoken voice conversation with a human.
She passed along the details to their experts and I got this response that I totally cannot understand...
The grinding efficiency of this product you are interested in: 500 grams of dry material is ground for one minute, the screening rate of 50 mesh through the screen is > 90%, and the fineness of ordinary flour is 80 mesh.
So I still don't know if the powder will be fine enough for regular cooking.
Give me knowledge: Will the powder be fine enough ?





