
Cárdenas: “416d65726963612043616e20436f646520” - __david__
http://cardenas.house.gov/media-center/press-releases/c-rdenas-416d65726963612043616e20436f646520
======
minimax
_This legislation would designate computer programming languages as “critical
foreign languages” and provide incentives for state and local schools to teach
more computer science beginning as early as Kindergarten._

Considering a computer programming language to be a foreign language seems a
little bit silly and so does teaching children computer science in
Kindergarten. Is he missing the point or is this just the path of least
resistance to getting more computer programming coursework into public
schools?

~~~
__david__
I don't think teaching programming concepts to kindergarteners is silly. I
learned to program at about that age (first grade, technically), and things
like Robot Turtles [1] can be taught to kids who can't even read.

[1] [http://www.kickstarter.com/projects/danshapiro/robot-
turtles...](http://www.kickstarter.com/projects/danshapiro/robot-turtles-the-
board-game-for-little-programmer)

~~~
sigzero
Shouldn't we teach the basics to a degree that everyone is passing those
instead of wasting money at that level? And I do think it would be a waste.

~~~
dragonwriter
> Shouldn't we teach the basics to a degree that everyone is passing those
> instead of wasting money at that level?

I don't think "teach the basics to a a degree that everyone is passing" and
"wasting money" are a fair description of the relevant options.

------
duffdevice
Am I the only one who finds it supremely annoying when somebody lists a string
of hex numbers and says "this is the hex translation for <some string>"?
There's no such thing as a hex translation of text. Of course, if you specify
an encoding scheme, then it makes sense.

So in other words, this is an attempt to be clever but is actually just wrong.

~~~
conesus
I wouldn't go so far as to call it wrong. It's a pretty safe assumption that
they are using ASCII as an encoding. And thank goodness ASCII is a subset of
UTF-8, since that means if you are using either one of the two most dominant
character sets to encode that string of text, you'll be able to translate the
act's title with no problem.

------
olefoo

        s = '416D65726963612043616E20436F646520'
    
        def decoder(s):
            cl = [ s[i]+s[i+1] for i in range(0,len(s),2)]
            cl = [int(c,16) for c in cl]
            f = "".join([chr(c) for c in cl])
            return f
    
        decoder(s)
    

returns 'America Can Code '

~~~
Mithrandir
Also:

    
    
        '416D65726963612043616E20436F646520'.decode('hex')
    

Edit: In Python 3,

    
    
        bytes.fromhex('416D65726963612043616E20436F646520').decode('utf-8')

~~~
Patrick_Devine
nice! Mine was similar to olefoo's:

x = "416d65726963612043616e20436f646520" ''.join([chr(int(y, 16)) for y in
[x[l:l+2] for l in range(0, len(x), 2)]])

I do think it's funny that they (erroneously?) put the extra space on the end
of the string. If you read the press release for the bill I don't think the 20
is supposed to be there.

------
analog31
In my view, there's a difference between programming and computer science,
though I could forgive the Rep for using one as a generic term for the other.
Disclaimer: I'm a programmer and definitely not a computer scientist.

As I mentioned in another recent thread, "programming" doesn't need to consist
of a semester of C, or a slog through Horowitz and Sahni. My kids simply think
of programming in terms of "making the computer do things." They like to play
with Scratch, and have made me promise to teach them Python. My daughter's
interested in math, and I've showed her how to solve equations and graph
things using Maxima. We have a couple of Raspberry Pi's, so the kids have
gotten comfortable with the command line, configuration files, etc.

Just find ways for the kids to do things and make things using computers, with
a bias towards letting some of those things resemble programming.

------
jerf
That blasted "f". If that wasn't there I could joke about how the act calls
for 416 rolls of a (65,726,963,612,043,616 times ten to the power of
(204,36f,646,520 factorial))-sided die. (The act name itself seems to have an
exclamation point on it.) But the "f" in the middle ruins it.

------
Yen
It's a little odd that the last character is 0x20. Does that count as a typo
in the short title?

~~~
__david__
According to the rep himself [1] it's so the House could add on "Act".

[1]
[https://pay.reddit.com/r/programming/comments/1sqnj7/416d657...](https://pay.reddit.com/r/programming/comments/1sqnj7/416d65726963612043616e20436f646520/ce0b9vy)

~~~
Yen
Thanks, good to know.

------
jblow
They have an extra space at the end of the name? Paste fail.

~~~
drblast
A whole generation of kids will now grow up forgetting to trim off trailing
whitespace.

Thanks, Congress.

~~~
cnvogel
416d65726963612043616e20436f6465273b2044524f50205441424c45206c61773b202d2d

~~~
habitue
If only laws could be removed by sql injection...

------
chrislgrigg
When I was around 7 or 8, I borrowed every book on BASIC from my local library
that they had, since that was all they had that dealt with programming. My
parents encouraged me but didn't have anything close to a technical
background, so they couldn't do much, and I didn't have the ability to stay
focused and start slowly, from the beginning of those books to get much out of
them. It was years before we had internet access so there weren't better
resources available. I sometimes wonder how different my life would have been
if something like this had been there to help focus my learning, provide
guidelines, and encourage the structure I was lacking. This could give kids
options they might never have otherwise.

------
locksley
At first I thought the hex was ridiculous, but I guess it's a good PR stunt. I
mean, we're all talking about it now.

~~~
protomyth
The naming of bills is pretty much always a PR choice. This one is at least a
bit creative instead of the "bill does totally the opposite of what the title
says" trend.

~~~
habitue
Ah, the clean air act....

------
sergiotapia
Has “Not everyone can be a programmer” been studied?

[http://programmers.stackexchange.com/questions/163631/has-
no...](http://programmers.stackexchange.com/questions/163631/has-not-everyone-
can-be-a-programmer-been-studied)

I don't think this is a good idea. I don't think programming is hard and only
for "the chosen ones", but not everybody can do it.

~~~
Sanddancer
Not everyone can sing, but we still have music class. It's useful to at the
very least give kids a toe in the water regarding the subject.

------
gohrt
> “416d65726963612043616e20436f6465 _20_ ” is the hexadecimal code translation
> of “America Can Code _._ ”

Ooh, so close.

------
quantumpotato_
What's up with the path to an XML file in the PDF? See top:
[http://cardenas.house.gov/sites/cardenas.house.gov/files/ACC...](http://cardenas.house.gov/sites/cardenas.house.gov/files/ACC%20Final%20Bill%20Language%20as%20of%20Dec%209.pdf)

------
thisiswrong
This a great step forward. General IT education at an early age is currently
non-existent in most schools around the world.

Technology is for everyone - not just a select few. Teach all kids (and
adults) basic coding skills and you'll be safeguarding democracy by preventing
technocracy.

------
moron4hire
If we can get official recognition of programming languages as just language,
then it might be easier to make them recognize that it's just math and should
not be patentable.

------
gohrt
Here's a little puzzle for you:

A-F are 3/8ths (6 of 16) of the hex digit set, yet only 1/6th (3 of 18) bytes
in 'America Can Code ' have A-F. Why the large discrepancy?

~~~
TheCoelacanth
To start with, only 7 of the 26 letters (uppercase and lowercase letters are
only different in the first digit, which is never higher than 7 in ASCII, so
I'm ignoring the difference) in the alphabet have an A-F in one of the digits,
so in a text composed only of letters with all letters being equally likely,
the frequency of A-F would be 26.9%. Additionally, A-F occur
disproportionately in infrequently used letters. Adjusting for the frequency
of letters in English[1], the expected frequency of bytes with A-F is 21.7%.

The space character also doesn't have an A-F, so that will lower the frequency
further. If we assume that the frequency of spaces is the same as in "America
Can Code ", (17.6%) the expect frequency of A-F comes out to 17.9%. That's
very close to the number in "American Can Code " (17.6%).

[1]
[http://en.wikipedia.org/wiki/Letter_frequency#Relative_frequ...](http://en.wikipedia.org/wiki/Letter_frequency#Relative_frequencies_of_letters_in_the_English_language)

------
nacho2sweet
But I thought code is art not a foreign language!

~~~
jonah
Yeah, I don't see Perl or Python or Ruby or well any option like that in
Google Translate's drop down.

------
Empathenosis
No. :(

This will eliminate other languages in the US.

Chance to japan's school systems, make high school where you have to apply,
and have it specialized.

[edit: wrong country.]

------
cryptoz
Suggested improved title: 416D65726963612043616E20436F646520: The "American
Can Code" Act

~~~
est
The "American Can Code " Act

You missed the trailing 0x20

------
adamnemecek
New Math 2.0?

------
GrahamsNumber
A foreign language helps you translate from your native language to another's
native language.

A programming language helps you translate from the logic in your head to
computer language. Teaching a programming language if the logic isn't there is
useless, but trivial to learn the other way around. Not saying this is a bad
thing, but the comparison/approach seems inappropriate to me.

~~~
pwg
My thoughts exactly. While teaching kids the basics can't hurt, designating
programming languages as "foreign" is a stretch at best. While they surely
seem "foreign" to those who can't code at all (which would likely include the
rep. who introduced this bill), they are not "foreign" in the same way that
German or French or Spanish is "foreign" to English.

What is different is they are a representation of a logic system, either as a
series of steps to carry out, or a set of transformations to perform on data.
Teaching a programming language as a "foreign" language, without also teaching
the logical way of thinking that allows one to write a program in the first
place, will likely not produce the outcome the bill is intended to produce.

