6 ms·
Cárdenas: “416d65726963612043616e20436f646520”
- cryptoz 13y agoSuggested improved title: 416D65726963612043616E20436F646520: The "American Can Code" Act
- est 13y agoThe "American Can Code " Act You missed the trailing 0x20
- minimax 13y agoThis 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__ 13y agoI 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-the-board-game-for-little-programmer http://www.kickstarter.com/projects/danshapiro/robot-turtles...
- sigzero 13y agoShouldn'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 13y ago> 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.
- olefoo 13y agoYou have a very utilitarian view of education that I find uncomfortably limiting. My own view is that rather than worrying about children 'passing' some arbitrary standardised test. We should be aiming at teaching children to think critically and have a large intellectual toolbox to work from. Of course; I'm weird in that I think children should be introduced to as many concepts as possible as early as possible and that the principles underlying calculus and differential equations are exactly the sort of thing that a bright 7 year old might find engaging intellectual toys. I also think that education is a lifelong process and needs to include both regimented group learning and self-guided exploration.
- danneu 13y agoIsn't the challenge of education-planning how to compel students, not how to agree that we need to? Perhaps exposing children to more novelty and creative outlets presents more opportunities to hook their interest.
- mistercow 13y agoMy dad taught me to use HyperCard and ResEdit at about that age as well. This idea that it's futile to try to teach young kids to code is bizarre to me. I can only assume that it comes from people trusting their intuitions without actually observing reality.
- vezzy-fnord 13y agoIt's futile unless they show voluntary interest in the subject. I started off in elementary school, but it was motivated entirely through my own volition.
- seiji 13y agoWe should teach 5 year olds computers with technology available in 1993. QBASIC, Logo, HyperCard, ... (Not joking.)
- pjungwir 13y agoYes! My oldest is 4.5, and I'm thinking about how to assemble a text-only machine to force typing, learning commands, navigating the file system, etc. Might as well start him off with linux and bash instead of DOS and batch, though. :-)
- mathattack 13y agoDoesn't MIT's Scratch [1] accomplish this? I was going to default to this. I'm wondering how much reading, writing and math my kids need to have before starting this. Reading complex sentences and addition and multiplication of single digits? (Wrong thread to get started on what EWD [2] thinks on this...) [1] http://scratch.mit.edu http://scratch.mit.edu [2] http://www.cs.utexas.edu/users/EWD/transcriptions/EWD10xx/EWD1036.html http://www.cs.utexas.edu/users/EWD/transcriptions/EWD10xx/EW...
- Guvante 13y agoShowing children that a simple set of instructions can allow a complex operation to be performed is incredibly important. Heck when talking to my non-programming friends the #1 issue is how they think the trade is too complex to dive into. While I would not wish that everyone becomes a software engineer, programming is quite useful.
- mathetic 13y agoI agree. In Cambridge, UK, there are some phd students from Computer Laboratory in University of Cambridge, who go and teach first grade kids concepts in computer science. This does not necessarily involve coding. I heard they were teaching them how packets work by making some kids routers, one client, on server and packets etc.
- ChuckMcM 13y agoWe did a simple example, which was to give all the students in the class one "step" as a program. And we lined them up. And then we did the towers of Hanoi solution (although none of them could solve the problem prior to us running it). If you're interested in recreating this. You just need flash cards (with the step on them) and a couple of colored hats (I think it was three) to represent branch targets. So card might be "Look at the towers tell the person behind you which has the largest disk" and that persons card is "if the largest disk is on the left one, the person in the green hat goes next", the person behind them has "if the largest is on the center pole the person in the purple hat goes next", the person behind them has "move the disk on the left pole to the right pole" etc. When you "jump" all the kids go to the back of the line except the one with the green/purple/yellow hat and that kid does their step then the one behind them etc. Its a lot of fun. And you can mix up the line and watch the disks get put into very strange arrangements.
- greyfade 13y agoI'm probably an outlier, but I learned BASIC at 4 years old (under my own initiative), and began to grasp essential concepts well enough that I was programming 6502 assembly on my C-64 with an EPYX FastLoad cartridge, at the age of 6. Why shouldn't kids be presented with the opportunity to learn these things at an early age?
- wavefunction 13y agoCome on, you're definitely an outlier. How many 6 year olds had a C-64?
- clavalle 13y agoWell, my parents and my uncles did. My uncle conscripted me to enter in Basic games printed in magazines when I was about 8. I've been hooked ever since (on coding...I don't really game much anymore).
- wavefunction 13y agoI was lucky in that my father purchased a ti99-4a but kids with exposure to PCs, let alone programming in those days were definitely rare! We had a "gently used" *86 in 6th grade classroom, which I think was the first PC exposure for most of my fellow classmates.
- chinpokomon 13y agoThat was my first computer. Unfortunately I didn't have any kind of persistent storage, so I while I dabbled in BASIC I didn't really get into programming until I owned an XT. I wish schools had taught computer programming in my youth. Once a week we'd go to the "computer lab" and play "Oregon Trail " or something that at least provided exposure to computers, but little was done to educate us on how computers work. The tragedy is that today, fewer kids are learning the how. Using a computer isn't a black art, it is now pedestrian like teaching typing. While it may be a very serviceable skill to learn, it doesn't prepare students for truly valuable skills like logic and basic problem solving. I'm glad that there is renewed interest in exposing children to programming. While a programming language isn't a foreign language like Latin, it certainly has its own grammar and rules that can affect critical thinking in the same way. As long as the bill doesn't mandate that a particular programming language is the "Language of the Land," I believe that this could be a good measure.
- mst 13y agoGiven the principle that programs are written for other humans to read and only incidentally for computers to execute, treating it as a language for communicating with other humans doesn't seem silly to me at all.
- mvanveen 13y agoI think as far as classifying it as a foreign language is concerned, it could likely be a reflection of the fact that US education curricula are decided at a state level in general, and so the federal government has limited ability to incentivize source code literacy in schools except (I'm guessing) through a measure such as this.
- smsm42 13y agoWhy federal government has to do it? There are no state governments that know these facts? Let's assume this is true for all states - but at least California has Cárdenas and Honda, right? And I assume those have some support in California, otherwise they wouldn't be elected. So if they did it in California (which, as everybody knows, has lots of money to spend on government programs) and it were a great success (as most of government programs dealing with what to teach and what not are), California would produce a lot of highly qualified programmers that could take jobs from every other state (software development is highly mobile) so other states would see the light and introduce the same programs in their states. So why it must be federal and can't be decided on the state level?
- smsm42 13y agoAmount of sillyness in the is spectacular, though not unusual in the government. Silly name (which would be completely unsearchable and also due to work length may not display well on many system), silly idea that coding should be designated as "foreign language". And on top of that - an idea that the government should take money from people and then give them these money back through the intermediary of schools so that they would teach their children to code. And now imagine how exactly coding would be taught in the same schools in which 25% of 12th graders do not pass "basic reading" test. In their own native language, not in hexadecimal or Greek. Where those money would be spent? How these courses would look? What forms would this "coding education" take in order to get those government money? If you think this is silly now, it'll get much worse if this ever passes.
- minimax 13y agoI don't think teaching computer programming in public schools is silly and I hope I didn't imply that in my comment. And now imagine how exactly coding would be taught in the same schools in which 25% of 12th graders do not pass "basic reading" test. One approach to teaching a new subject might be to forget about the bottom 25% and the top 25% and focus on building up skills for the 50% in middle (2nd and 3rd quartile). If you can get a foothold there you can begin to expand at the margins.
- smsm42 13y ago>>> I don't think teaching computer programming in public schools is silly No, and neither do I. I, however, think that having the federal government to prescribe what to teach in schools through legislation is silly. Especially if it is done the way everything else is done in public education system, which breeds unintended consequences and is not exactly rigged for pupil's benefit. >> One approach to teaching a new subject might be to forget about the bottom 25% You must have never heard anything about US public education system if you think something like that would ever be palatable. Does "No child left behind" ring a bell? But the honorable congressmen know what rings the bell: Along with redefining computer programming as a critical foreign language, the 416d65726963612043616e20436f646520 Act would create a competitive matching grant program for schools, particularly those in low-income areas, to create new ways to teach computer science and engineering, in tandem with universities and non-profits. "Particularly those in low-income areas" are those that are bottom 25%. And dumping federal money on them and saying "now teach kids to be best programmers ever!" is doubtful to produce the results you would wish to see.
- ctdonath 13y agoMy daughter is in a Montessori kindergarten. Seeing how they teach math (which goes so far as introducing the concepts of exponents), it would be very easy to apply the same techniques for teaching that age binary notation & arithmetic, simple logic processing, and programming. Independently on the iPad she's learning the essentials of programming and algebra via apps Kodable and DragonBox.
- duffdevice 13y agoAm 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 13y agoI 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.
- toki5 13y agoI think that's needlessly nitpicky in this case. The hexadecimal title is a PR shtick to grab attention; the technical details of why calling it a direct hexadecimal translation is inaccurate don't really matter.
- locksley 13y agoAt 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.
- Yen 13y agoIt's a little odd that the last character is 0x20. Does that count as a typo in the short title?
- losvedir 13y agoI thought that was funny, too. Specifically, "416d65726963612043616e20436f646520" is the hex representation of the ASCII encoding of "America Can Code ", with a trailing space...
- __david__ 13y agoAccording to the rep himself [1] it's so the House could add on "Act". [1] https://pay.reddit.com/r/programming/comments/1sqnj7/416d65726963612043616e20436f646520/ce0b9vy https://pay.reddit.com/r/programming/comments/1sqnj7/416d657...
- Yen 13y agoThanks, good to know.
- smsm42 13y agoThat's how it works in the government - precise to the last detail. They'll fix it in the amendments. Probably will turn out as "Amer1cA can_c0dde" in the final version of the bill and would include $180M in corn subsidies.
- GrahamsNumber 13y agoA 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.
- stdbrouw 13y agoBy far the easiest way to learn programming logic is by learning a programming language. It's not that inappropriate.
- pwg 13y agoMy 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.
- deleted 13y ago[deleted]
- jerf 13y agoThat 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.
- adamnemecek 13y agoNew Math 2.0?
- olefoo 13y agos = '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 13y agoAlso: '416D65726963612043616E20436F646520'.decode('hex') Edit: In Python 3, bytes.fromhex('416D65726963612043616E20436F646520').decode('utf-8')
- Patrick_Devine 13y agonice! 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.
- olefoo 13y agoSweet, I didn't even think of using the string methods; always nice to have a blind spot pointed out.
- VMG 13y agoMithrandir Can Code!
- narfquat 13y agoand the ruby equivalent: "416D65726963612043616E20436F646520".scan(/../).map { |x| x.hex.chr }.join => "America Can Code "
- randomdata 13y ago['416D65726963612043616E20436F646520'].pack('H*') => "America Can Code "
- 13y ago
- chrislgrigg 13y agoWhen 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.
- jblow 13y agoThey have an extra space at the end of the name? Paste fail.
- thisiswrong 13y agoThis 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.
- nacho2sweet 13y agoBut I thought code is art not a foreign language!
- jonah 13y agoYeah, I don't see Perl or Python or Ruby or well any option like that in Google Translate's drop down.
- sergiotapia 13y agoHas “Not everyone can be a programmer” been studied? http://programmers.stackexchange.com/questions/163631/has-not-everyone-can-be-a-programmer-been-studied http://programmers.stackexchange.com/questions/163631/has-no... 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 13y agoNot 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.
- quantumpotato_ 13y agoWhat's up with the path to an XML file in the PDF? See top: http://cardenas.house.gov/sites/cardenas.house.gov/files/ACC%20Final%20Bill%20Language%20as%20of%20Dec%209.pdf http://cardenas.house.gov/sites/cardenas.house.gov/files/ACC...
- analog31 13y agoIn 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.
- moron4hire 13y agoIf 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.
- deleted 13y ago[deleted]
- gohrt 13y agoHere'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 13y agoTo 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_frequencies_of_letters_in_the_English_language http://en.wikipedia.org/wiki/Letter_frequency#Relative_frequ...
- gohrt 13y ago> “416d65726963612043616e20436f646520” is the hexadecimal code translation of “America Can Code.” Ooh, so close.
- Empathenosis 13y agoNo. :( 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.]