FeedJit

Why I still say we should teach kids how to program computers

Now I’ve related before that I once did a program review at a public high school in Rhode Island. We got to evaluate two classes at each school.

I happened to get the class where they were teaching the kids the MS Office suite, and that day they were doing a payroll spreadsheet in Excel. The teacher had given them all cheat sheets for the tax calculation.

So I asked the teacher – why not do a formula to CALCULATE the tax. You can do it in any cell by entered =({cellID}*3.1415)*.02499, or you can say =VLOOKUP(item,source). Or you could have a Visual BASIC routine that calculates the tax in column D.

The teachers answer was that it was computer programming to to that, and to program a computer you need a lot of math.

I thanked the teacher. But what I wrote in my report was that the most math you need to program a computer is MAYBE the first few weeks of Algebra I. But more to the point, you need to understand different numbering systems. There’s binary of course, either 1 or 0 and none more.

Then there’s octal – 0 through 7 it’s base 8. So how would you write 9 in octal? It’s 11 or 1 in the 8’s column, plus 1. Let’s do 0 through 10:

Decimal Octal

0 0

1 1

2 2

3 3

4 4

5 5

6 6

7 7

8 10

9 11

10 12

You see where it’s going, right? Instead of the maximum being 10, the maximum is 8 per column. And the columns go 1, 8, 16, 32…

This leads us to hexadecimal. This is base 16. Symbols run 0 through 9, plus A through F, where A is 10, B is 11, C is 12, D is 13, E is 14 and F is 15.

For this example I’m going to go form 1 to 20 in decimal and show the hex (short form) value.

Decimal Hexadecimal

0 0

1 1

2 2

3 3

4 4

5 5

6 6

7 7

8 8

9 9

10 A

11 B

12 C

13 D

14 E

15 F

16 10

17 11

18 12

19 13

20 14

And so on.

It’s really quite easy. So let’s teach the kids how to program. You do not need advanced math for that.