K12CS.org: Microsoft, Google, Apple Identifying What 1st Graders Should Know
theodp writes: On Sunday, The Simpsons declared computer coding class the nation's latest educational fad (script). Proving Principal Skinner's point, K12CS.org on Thursday announced a New Framework to Define K-12 Computer Science Education, the collaboration of participants from a number of states (MD, CA, IN, IA, AR, UT, ID, NE, GA, WA), large school districts (NYC, Chicago, San Francisco), technology companies (Microsoft, Google, Apple), organizations (Code.org, ACM, CSTA, ISTE, MassCAN, CSNYC), and individuals (higher ed faculty, researchers, K-12 teachers, and administrators). "A steering committee initially comprised of the Computer Science Teachers Association, the Association for Computing Machinery, and [tech bankrolled and led] Code.org will oversee this project," explained a CSTA blog post. "Funding for the project will be provided by Code.org and the ACM. The framework will identify key K-12 computer science concepts and practices we expect students exiting grades 2, 5, 8, and 12 to know."
In a FAQ, K12CS.org envisions a Programming and Algorithms standard for 1st Graders that calls for the 5-year-olds to "Work collaboratively in clear roles (e.g., pair programming) to construct a problem solution of a sequence of block-based programming commands." A day before the announcement, Politico reported that K-12 CS education is expected to get a State of the Union mention this year, and that the White House and U.S. Dept. of Education have been trolling for CS success stories in conjunction with the announcement of a broad set of new commitments to CS Education in early 2016.
In a FAQ, K12CS.org envisions a Programming and Algorithms standard for 1st Graders that calls for the 5-year-olds to "Work collaboratively in clear roles (e.g., pair programming) to construct a problem solution of a sequence of block-based programming commands." A day before the announcement, Politico reported that K-12 CS education is expected to get a State of the Union mention this year, and that the White House and U.S. Dept. of Education have been trolling for CS success stories in conjunction with the announcement of a broad set of new commitments to CS Education in early 2016.
Dress your child up like an adult and make them do adult things....
love is just extroverted narcissism
I have my serious doubt that this will really wind up helping many kids.
I've watched our own kids grow up around computers, tablets, smartphones, Chromebooks issued in class, etc. etc. And even though they do enjoy learning and mastering the interactive games that let you "build worlds" (like Minecraft or the Little Big Planet series on the Playstation), none of this has motivated them to learn to code.
I feel like there's some pressure on them to develop programming skills because "If you play Minecraft, it teaches some of the basics already!" (and there's always SOME teacher out there trying to use it as a launching platform into some other subject he/she wants to teach). But really, I think they just like interactively creating things to show off to their friends they chat with in the game.
I remember back when I first discovered computers as a kid and was completely hooked on them. It was SO different back then. The computer you bought basically sat there and did nothing but produce a blinking cursor on your TV screen and expected you to start programming something into it. Sure, you could buy some pre-packaged programs (and we did), but the owner's manual was a complete guide to programming in BASIC on the system -- not just a quick reference on how to plug it in, hook up all of the connections, and a rundown of what each button or switch did on the case.
I had lots of fun as a kid just keying in programs out of books or magazines and trying to get them to run properly.
Today's computer experience is pretty vastly removed from that, yet I think some of us are puzzled as to why the kids don't take up coding more often, despite "growing up around computers" and using them since they're old enough to move a mouse.
It's great to offer kids the OPTION to learn this stuff if they take an interest in it. But adding programming to a basic school curriculum may be a mistake.
Study systems. SQ3R is *the* study system; SQW3R, PQRST, and other study systems all use synonyms for SQ3R concepts (Survey/Preview, Question, Read, (Self/)Recite, Review/Test). We tell kids to "study" but not how to study. We tell them to take notes, but we don't teach them about organization and its role in memory; we don't give them Affinity Diagrams or other tools to categorize large amounts of related but different information. The most students get are Venn diagrams to compare information.
The science of expertise. Deliberate practice. Skills and knowledge are refined by identifying your technical weakness in detail and targeting it. We give kids blanket homework--a sheet of mathematics problems; we don't teach kids to identify their weakness in mathematics (e.g. certain types of multiplication problems) and focus their study time on that. We *clog* their study time with useless shit; they quickly and correctly answer the things they know and get marks down on the things they don't, but it's good enough and they need not improve. We actively discourage improvement in this way.
Mnemonics. Human memory is so intimately familiar to human life you can explain deep, complex, technical concepts of associative and visual memory to first graders and they'll get it. Short-term memory, long-term memory, visualization of concrete concepts (like apples, chairs), lower coherence of abstract concepts (like hunger, happiness), spatial reasoning, associative storage. Even a first-grade child can look inside their own mind and go, "Oh, I see that!" You can readily teach them to apply rhythm and rhyme, fixation of visual images, and mnemonic systems like linking, storytelling, and mind palaces.
Mental mathematics. Another specific skill like mnemonics, with less-broad application. Arithmetic should not be a point of distress for students; we should teach them up through Geometry in absolute competence, and a strong arithmetic foundation is key to success in this endeavor. Instead we teach them to count on their fingers and carry single-digit overflow. How many people see 7 + 9 and immediately think 8, because 7-1? 6 + 7 and immediately think 3, because 6 - 3? 18, 13, didn't even do the math; I have all the number pairs on 5 and 10 (both ways) memorized, and have seen all the combinations enough times to immediately recognize them. I accumulate a carry appropriately. 12 years of school only taught me to use one method of iterative addition, not the fast method of immediate registration in single-cycle addition.
With these skills, students learn to learn. They encounter information they cannot take in and they convert it into something they can process. They encounter difficulty in their studies and they identify and correct their specific weaknesses. They gain an advantage against certain types of studies by domain-specific theoretical skills--mental mathematics and algebraic simplification for math; linguistic grammar for foreign languages (one of the possible explanations for Esperanto's perceived propaedeutic properties); music theory for music; visual art theories for visual art.
A student who understands study methods and the practice of deliberate practice has an immediate advantage in *everything*. This is a person who can rapidly learn to program *correctly*, not just fumble around for a result or perform by rote to satisfy a teacher. This is a person who can learn nuclear physics. This is a person who's 12 years old and already figured out how to model space shuttle re-entries on his computer because he likes space ships and is a giant nerd and spent 6 months studying that sort of thing and learned Python.
They call us geniuses; they don't realize it's only technique. It's a trade secret, not a genetic supermind.
Support my political activism on Patreon.
When I was in Junior High we had two classes that were paired for the year, the first was "Computers", and the second was, "Technology". As this was before most households had computers in the home, in Computers we learned how to use a GUI operating system (Macintosh LC platform if memory serves), what a word processor did, what a spreadsheet did, how rudimentary object drawing software (ie, not the kind with pixel-by-pixel manipulation) worked, how to make presentation slides, etc. This was designed to get us ready to do term papers, to do a very simple amount of math for either science class data processing or to prepare us for higher-level math, and how to create presentations so if we did class presentations we could use technology to do so.
In Technology, we used computers for other goals. We had a stress-analyser that would crush things and give us plots of the way the item being crushed performed. We had software that we could use to mimic drag coefficient testing over a 2d representation of a car body. We had access to a wide-carriage plotter. We had the kids programming language "LOGO" to use to do vector manipulation of a cursor called the Turtle. We had plenty of non-computer-based things like a pneumatic kit to build simple pneumatic circuits and pneumatic machines, we had model rockets, we had to build a bridge to handle so much weight, we had to build something to make an egg survive drops from height using only cardboard and paper and glue.
The term "Computer Science" wasn't part of the curriculum until high school, where we knuckled down and started playing with C.
The biggest problem with trying to do this kind of thing for all kids and for multiple years at younger and younger ages boils down to two things- cost, and the allocation of classroom time. If there are six available hour-long periods in the day for possible instruction, and two classes (ie Computers versus Technology) at the same time, with 30 kids each, then that's 30*2*6, or 360 seats available at a maximum, or 180 per teacher. In reality teachers usually have down around 120 to 140 students spread across five class periods, as they need prep and lunch and time to deal with other things, which brings it down to 240-280 per year. Then you have all of the money to spend to equip and to maintain the learning labs and the staffing costs for that maintenance.
Most of the schools that I attended had far, FAR more than 360 students. The JHS and HS campuses had 500 students per grade level, and the elementaries had probably 120-150 kids per grade. These kinds of opportunities were not offered until Junior High simply because it was not possible to put every child through these kinds of classes, so they became electives that the student could choose to sign up for once the educational model meant that students changed teachers every hour already; in the elementary model where students generally remain with the same teacher for the whole day other than one-hour-a-day changesups to once-a-week classes for music, or for art, or for computer lab, or library, or for a lab-type of science it's really not practical to give the kids enough exposure to actually develop a curriculum around the material. Kids would have to have time every day or nearly every day for it to really work, and since the educational model at all levels is to provide as much education for as little cost as possible, this simply isn't going to happen in public schools.
Exposure to tech is generally a good thing, but unfortunately it costs money, a lot of money, and not everyone wants to have the same amount of exposure or can even benefit with the same amount of exposure. That's why concentrating on fundamentals as young children and reserving that specialized training for a little later makes more sense. I would rather see things like logic being taught, which can be irrespective of a computer, when kids are younger, so that when they do get use of the software on a computer they already have mastery of the basics, along the lines of how we don't let kids use calculators for basic arithmetic until they're studying a higher discipline of math like Trig or Calculus, where the calculator is only assisting in making the rote basic math happen faster.
Do not look into laser with remaining eye.
Pair programming is how you engage in affirmative action without having to spell it out in school policy. You pair up the students who can't/won't succeed with the students who can and will succeed. The successful student will do all the work to keep up their GPA and the shit student can coast his/her way to a passing grade. All while avoiding the political minefield that would come with forcing more girls, more people of color, or more of whatever group is the cause de jour into programming through social promotion and affirmative action.
That's pretty cynical. I use pair programming in my classes, but the kids can choose their pairs. It's not meant to give kids better grades. In fact, I usually only use it for tasks I won't be grading. It's meant so the kids can work with someone else and bounce ideas off each other to see a different perspective and hopefully gain a better understanding of CS. The kids have to take turns on the keyboard so even if one kid is a much better programmer, they are forced to talk about what to do instead of just typing all the code themselves in silence.