Posts tagged ‘Scratch’
I’ve been excited to see this paper get published since Betsy first told me about the work. The paper described below (by Betsy DiSalvo, Cecili Reid, and Parisa Khanipour Roshan) looks at the terms that families commonly use to find on-line resources to help their children learn about computer science. They didn’t find Alice or Scratch or Blockly — none of the things that would be our first choices for CS education opportunities on-line. Betsy and her students show how we accidentally hide our resources from the uneducated and under-privileged, by presuming that the searchers are well-educated and privileged. They point out that this is one way that open education resources actually actually increase the socioeconomic gap, by not being easily discoverable by those without privilege. I got to see a preview of this talk, and the results are surprising — a video of the preview talk will be available here. Friday March 7, 3:45-5, in Room Hanover DE.
They Can’t Find Us: The Search for Informal CS Education
In this study we found that search terms that would likely be used by parents to find out-of-school computer science (CS) learning opportunities for their children yielded remarkably unproductive results. This is important to the field of CS education because, to date, there is no empirical evidence that demonstrates how a lack of CS vocabulary is a barrier to accessing informal CS learning opportunities. This study focuses on the experience of parents who do not have the privilege of education and technical experience when searching for learning opportunities for their children. The findings presented will demonstrate that issues of access to CS education go beyond technical means, and include ability to conduct suitable searches and identify appropriate computational learning tools. Out-of-school learning is an important factor in who is motivated and prepared to study computer science in college. It is likely that without early access to informal CS learning, fewer students are motivated to explore CS in formal classrooms.
The Atlanta Public Schools has a short article about their involvement in the Hour of Code — and it was all elementary school children. As far as I know, there is no more AP CS in any Atlanta Public high school. I’m wondering if the emphasis on “starting early” is having an unexpected effect. Are schools seeing activities like Blockly and Scratch as elementary school activities, and computer science belongs there, not in high schools?
As members of the APS IT department went out to observe students throughout the district participating in the Hour of Code they observed computer science education at its finest. Students were actively engaged in challenges that required them to utilize high level problem solving and critical thinking skills. Students identified and found ways to correct their mistakes until they were successful in completing the activity.
Lavant Burgess, a fifth grader at E.L. Connally Elementary, stated, “I like how it made me think. I had to keep using different strategies to figure out how to get the robot to the right squares.”
Try out the tutorials for the Hour of Code for CSEd Week 2013.
Choose a tutorial for your students
Check out the tutorials and pick one for your class. Note: we have not yet received the Hour of Code submissions from Scratch or KhanAcademy, so check back for those. Also, more international/multilingual support is on its way.
Go through the tutorial yourself so you can help students during the Hour of Code.
Test tutorials on student computers or devices. Make sure they work properly (with sound and video).
Preview the congrats page to see what students will see when they finish.
If the tutorial you choose works best with sound, provide headphones for your class, or ask students to bring their own.
I just received this via email:
We would like to inform you that we have added recently many new resources to the Computer Science Open Educational Resources Portal (CS OER Portal) (http://iiscs.wssu.edu/drupal/csoer ). For those of you who have not visited it, the Portal hosts a rich collection of links to open teaching/learning materials targeted specifically the area of Computer Science. It provides multiple ways for locating resources, including search with filtering the results by CS categories, material type, level, media format, etc., as well as browsing by institutional (OpenCourseWare) collections, by CS categories, or by topics as recommended by the ACM/IEEE Computer Science Curriculum. The browsing functionality is supplemented with recommendations for similar courses/resources.
My first thought was, “Is this competition for Ensemble, the big NSF-sponsored digital library of CS curricular materials?”
If we’re specifically thinking just about computing in schools (K-12 in the US), we should also consider the CSTA Source Web Repository and the Resources section of the Computing at Schools website (which is pretty big and growing almost daily).
Specifically for a particular tool or approach, there’s the Greenfoot Greenroom, ScratchEd for Scratch Teachers and other Educators, the Alice teacher’s site, the TeaParty site (for the Alice + MediaComp website), and of course, the Media Computation site. I’m sure that there are many others — for particular books (like this one introducing Python with Objects), for particular curricular approaches (like Exploring Computer Science and CSUnplugged), and even for particular methods (I reference the Kinesthetic Learning Activities site in my TA preparation class).
It’s really great that there are so many repositories, so many resources to help CS teachers, and so many people developing and sharing resources. I get concerned when I’m in a meeting where we’re talking about how to help CS teachers, and someone suggests (and it really happens in many of the meetings I attend), “If we only had a repository where teachers could find resources to help them…” No, I really don’t think that more repositories is going to solve any problems at this point.
How young can we teach kids to code? Is it worth teaching really young kids to code? The argument below is missing the whole point of the difference between natural and artificial languages. Programming requires specification of details that do not occur in natural language (as seen in John Pane’s work, and related to the “Communicating with Aliens” problem). Why should our evolved language acquisition systems help with that?
The article linked below is pretty good as these things go, but they’re missing a lot of nuance in what it means “to code.”
- The article argues that students can start learning computer science “before they learn to read and write.” What does it mean to learn computer science then? Can we talk about manipulating symbol systems? About notation? If you pull out literacy, what are you teaching?
- The reports I’ve read about kids learning to program (like Roy Pea’s reports from decades ago, to Yasmin Kafai’s reports on students working in Scratch) suggest that young kids who “program” tend to build sequences of statements, with few conditionals or loops or defining named chunks of code (functions or procedures or whatevers). Is that what most of us think about when we’re suggesting “learn to code”?
- So, let’s say that you successfully teach some 5-6 year old to write some programs that we’d agree looks like “coding.” Do you really expect that to have an impact 20 years later when they reach working age (as is suggested as the potential value in the article below)? Especially if there’s almost no use of programming in formal education over the following 12 years?
I am not convinced that we can fruitfully teach five or six year olds to code — though it’s certainly worth exploring and experimenting with. I would not expect it to have much effect, though. If we had a school system that used code in interesting and powerful ways across the curriculum, then starting to teach kids to program at five or six as steps toward computational literacy would make lots of sense. But if only 12% of US high schools have computer science, and far fewer middle and elementary schools have it, and CS is still just this little class in the corner that doesn’t connect to anything else — then you can’t expect the coding that happens at that age to have much effect.
But that pessimism is at odds not only with the experiences of Gibson and other pioneering teachers but also with the science of language acquisition. Extensive research has shown that because young brains are so adept at picking up languages, it’s best to introduce children to foreign tongues as early as possible. This is why so many ambitious parents are now clamoring for kindergartens that offer intensive Mandarin—they want to give their kids the best possible shot at learning a key language of the Asian century.
What those parents likely don’t realize is that the same neural mechanisms that make kids sponges for Mandarin likely also make them highly receptive to computer languages. Kindergartners cannot become C++ ninjas, but they can certainly start to develop the skills that will eventually cement lifelong fluency in code.
So, you do a survey of top coders, and find that many of them started coding between 8 and 11 years old. Does that imply that starting coding between 8 and 11 leads to being a top-coder? No, because you don’t know how many other kids started coding between 8 and 11 and got totally turned off to programming and are now gardeners. Yes, the data are consistent with the belief that coding early leads to top-coder status, but there’s not enough there to avoid fallacy.
The argument suggested by the post below is like the one that we’re trying to make about the role of early computing experience in influencing under-represented minorities. We found the vast majority of under-represented minorities in CS had early computing experience. But we also found that it was significantly more under-represented minorities had that experience than majority students in CS. That strengthens our case that the early computing experience is particularly important for under-represented minorities. What we haven’t shown yet is that there is a causal relationship. Is it the case that many under-represented minority students who got early computing experience did NOT go into CS classes? Until we know that, we can’t make any strong claims. (I think that the quote below is from the same Neil Fraser who went to Vietnam and came back with a lot of incorrect assumptions about high school CS in the US.)
The article linked below is about teaching kids to program before they learn to read, using ScratchJr. The article is interesting, and it raises a question well-worth exploring.
Early exposure to programming seems to have helped some of the world’s top coders. Earlier this year, Google engineer Neil Fraser in Mountain View, California, polled over 100 of his co-workers about when they first picked up coding, and then compared that with their performance on a simple test of skills. He found that those who wrote their first code between the ages of roughly 8 and 11 were most likely to develop advanced coding skills.
“We didn’t see an effect before 3rd grade, but certainly earlier is good,” Fraser says.
I haven’t read the new framework myself yet, but the press coverage suggests that this is really something noteworthy. I do hope that there is some serious assessment going on with this new curriculum. I’m curious about what happens when five year olds start programming. How far can they get? In Yasmin Kafai’s studies of Scratch and in Amy Bruckman’s studies of MOOSE Crossing, almost none of the younger students ever used conditionals or loops. But those were small studies compared to a national curriculum. How much transfers forward? If you do an abstract activity (programming) so early, does it lead to concrete operational reasoning earlier? Or does it get re-interpreted by the student when she reaches concrete operational? And, of course, the biggest question right now is: how can they get enough teachers quickly enough?
The new curriculum will be mandatory from September 2014, and spans the breadth of all four ‘key stages’, from when a child first enters school at age five to when they end their GCSEs at 16. The initial draft of the curriculum was written by the British Computer Society (BCS) and the Royal Academy of Engineering in October 2012, before being handed back to the DfE for further tweaks.
By the end of key stage one, students will be expected to ‘create and debug simple programs’ as well as ‘use technology safely and respectfully’. They will also be taught to, ‘understand what algorithms are; how they are implemented as programs on digital devices; and that programs execute by following precise and unambiguous instructions’.
Not everyone is happy about the new curriculum. Neil Brown has a nice post talking about some of the issues. He kindly sent me a set of links to the debate there, and I found this discussion from a transcript of Parliament proceedings fascinating — these are all really good issues.
First, on professional development, the Minister made the point that some money was being made available for some of the professional development work. Does he feel that it will be sufficient? There is a serious issue about ongoing professional development throughout the system, starting at primary level, where updating computer skills will be part of a range of updated skills which all primary teachers will need to deliver the new curriculum. It is also an issue at secondary level, where it may not be easy but is possible to recruit specialist staff with up-to-date computing skills. However, if you are not careful, that knowledge and those skills can fall out of date very quickly.
Secondly, what more are the Government planning to do to attract new specialist computing staff to teach in schools? It is fairly obvious that there would be alternative, better paid jobs for high-class performers in computing. They may not necessarily rush into the teaching profession.
Thirdly, can the Minister confirm that the change in name does not represent a narrowing of the curriculum, and that pupils will be taught some of those broader skills such as internet use and safety, word processing and data processing, so that the subject will actually give people a range of knowledge and skills which the word “computing” does not necessarily encompass?
Fourthly, the teaching will be successful only if it is supported by sufficient funds to modernise IT facilities and to keep modernising them as technology changes. The noble Lord made reference to some low-cost initiatives in terms of facilities in schools. However, I have seen reference to 3D printers. That is fine, it is just one example, but 3D printers are very expensive. The fact is that, for children to have an up-to-date and relevant experience, you would need to keep providing not just low-cost but some quite expensive technological equipment in schools on an ongoing basis. Will sufficient funds be available to do that?
Finally, given that computing skills and the supporting equipment that would be needed are increasingly integral to the teaching of all subjects, not just computing, have the Government given sufficient thought to what computing skills should be taught within the confines of the computing curriculum and what computing skills need to be provided with all the other arts and science subjects that people will be studying, in all of which pupils will increasingly require computing skills to participate fully? Has that division of responsibilities been thought through? I look forward to the Minister’s response.
We just had the ECEP Day at the Computer Science Teachers Assocation (CSTA) Conference on July 14, where I heard representatives from 16 states talk about their efforts to improve computing education. Special interests, where do state legislators have to be involved, what does “Computing” mean anyway — all of the states reported pretty much the same issues, but each in a completely different context. The issues seem to be pretty much the same in the UK, too.
I don’t know how I missed this! I just watched the opening preview video, and it looks really cool. I don’t have the time to join in right now, but encourage others to check it out.
Creative computing is about creativity. Computer science and computing-related fields have long been perceived as being disconnected from young people’s interests and values. Creative computing supports the development of personal connections to computing, by drawing upon creativity, imagination, and interests.
Creative computing is about computing. Many young people with access to computers participate as consumers, rather than designers or creators. Creative computing emphasizes the knowledge and practices that young people need to create the types of dynamic and interactive computational media that they enjoy in their daily lives.
Engaging in the creation of computational artifacts prepares young people for more than careers as computer scientists or as programmers. It supports young people’s development as computational thinkers – individuals who can draw on computational concepts, practices, and perspectives in all aspects of their lives, across disciplines and contexts.
This article at ComputerWorld covers more than just the C# coding workshop — it also talks about ScratchJr and Code.org. It’s a nice collection of news pieces, but I’m missing the underlying argument.
- Why C#? That’s an awfully hard language — will that dissuade some of the young kids, maybe convince them that programming is tedious?
- The argument quote below makes no sense. ”Programming early can pay off in improved thinking and decision-making skills.” Uh, no. ”Programming skills are so integral to what’s happening in our world. Name a field that doesn’t have some technology integration.” Well, sure, lots of technology everywhere, but that’s not an argument for programming.
I just don’t get the argument that they’re trying to make.
Wendy Drexler, director of online development at Brown University, said teaching programming early can pay off in improved thinking and decision-making skills. “Programming is an excellent skill to have and not just for the marketability it offers,” she said in an interview.
“Programming skills are so integral to what’s happening in our world. Name a field that doesn’t have some technology integration,” she said. As much as teaching students a specific computer program, Drexler said educators need to “teach a mindset for programming, to lay a foundation for it.”
A graphical programming language for kids that runs on the iPad! It can’t do much, but it’s an interesting direction.
Called Hopscotch, this iPad-only app uses visual programming language, in which users drag “blocks” of code into a scripting area in order to build programs. Aimed primarily at girls age 8 and up, Hopscotch is meant to utilize the touch-friendly tablet and eliminate the frustration common with code syntax.
Hopscotch was created by Jocelyn Leavitt, who, along with her co-founder, was inspired by a lack of female engineers at her previous job. “So many iPads are going into schools, and a lot of teachers don’t know what to do with this iPad. This gives you some control over a programming language,” Leavitt said.
It’s out! Yay!
That may change, however, as it’s much easier to get started in Scratch thanks to a new release of the platform that lives entirely in the browser.
You can try the programming language here and the new version allows for webcam interaction with the on-screen sprites and you can now add vector-based graphics that will scale without losing resolution. You can also create your own programming “blocks” and add new logic to your programs or games.
Posted to the SIGCSE-Members list from Moti Ben Ari:
Michal Armoni and I have written a book: “Computer Science Concepts in Scratch”. (See the short description below.) It can be freely downloaded from http://stwww.weizmann.ac.il/g-cs/scratch/scratch_en.html under the Creative Common BY-NC-ND license.
The book is based on Scratch 1.4 … although Scratch 2.0 is due to be released in a few days. We are planning to prepare a supplement and / or revision for 2.0 in the future.
We’ve set up a separate email account for correspondence related to the book: firstname.lastname@example.org.
Moti and Michal
Prof. Mordechai (Moti) Ben-Ari
Department of Science Teaching
Weizmann Institute of Science
I firmly believe that a strengthening computer science education program has to be one of the most obvious and cost effective things we can do to ensure future economic prosperity. Israel has the highest rate of startup per capita anywhere and that in part stems from its strong computer science education program. Estonia, another country with both a strong tech sector and economy, recently announced a plan to expand teaching of computer science to all primary school children. Do we want to be left in the dust by these countries, or left unable to compete with the growing economies of India and China? What is it going to take to get computer science education moved up the agenda in the USA and here in the UK?
A recommended video from Mitch Resnick, who leads the Lifelong Kindergarten group at the MIT Media Lab, the home of Scratch.
Most people view computer coding as a narrow technical skill. Not Mitch Resnick. He argues that the ability to code, like the ability to read and write, is becoming essential for full participation in today’s society. And he demonstrates how Scratch programming software from the MIT Media Lab makes coding accessible and appealing to everyone — from elementary-school children to his 83-year-old mom.
As director of the Lifelong Kindergarten group at the MIT Media Lab, Mitch Resnick designs new technologies that, in the spirit of the blocks and finger paint of kindergarten, engage people of all ages in creative learning experiences.
Thanks to Guy Haas for the link to this!
While the programming languages are simpler than the ones used by professionals, they’re still teaching kids the foundations of computer science, according to Karen Brennan of Harvard Graduate School of Education, who helped develop the Scratch program at MIT’s Media Lab.
“They were learning how to test and debug, they were learning how to break down problems,” Brennan told Here & Now. “They started seeing the world in a new way, that computers weren’t something that other people did or other people think about, but computation becomes something that they can use to express themselves, that they can solve problems.”