Archive for June, 2017

Teaching the students isn’t the same as changing the culture: Dear Microsoft: absolutely not. by Monica Byrne

A powerful blog post from Monica Byrne with an important point. I blogged a while back that teaching women computer science doesn’t change how the industry might treat them.  Monica is saying something similar, but with a sharper point. I know I’ve heard from CS teachers who are worried about attracting more women into computing.  Are we putting them into a unpleasant situation by encouraging them to go into the computing industry?

Then—gotcha!—they’re shown a statistic that only 6.7% of women graduate with STEM degrees. They look crushed. The tagline? “Change the world. Stay in STEM.”

Are you f***ing kidding me?

Microsoft, where’s your ad campaign telling adult male scientists not to rape their colleagues in the field? Where’s the campaign telling them not to steal or take credit for women’s work? Or not to serially sexually harass their students? Not to discriminate against them? Not to ignore, dismiss, or fail to promote them at the same rate as men? Not to publish their work at a statistically significant lower rate?

Source: Dear Microsoft: absolutely not. | monica byrne

June 30, 2017 at 7:00 am 3 comments

From Design of Everyday Things to Teaching of Everyday People: Human error? Student error? No, Bad Design

We have to accept human behavior the way it is, not the way we would wish it to be.

Continue Reading June 26, 2017 at 7:00 am 19 comments

Call for Papers for 2nd Blocks and Beyond Workshop

Call for Participation

Blocks and Beyond 2:
2nd Workshop on Lessons and Directions for
First Programming Environments

http://cs.wellesley.edu/blocksandbeyond

October 9-10, 2017, Raleigh, NC, USA

A satellite workshop of the 2017 IEEE Symposium
on Visual Languages and Human-Centric Computing (VL/HCC)

https://sites.google.com/site/vlhcc2017/

Call for Participation

Scope and Goals

Blocks programming environments represent program syntax trees as compositions of visual blocks. They are an increasingly popular way to introduce programming and computational thinking; tens of millions of people have used tools like Scratch, Blockly, App Inventor, Snap!, Pencil Code, Alice/Looking Glass, AgentSheets/AgentCubes, and Code.org’s curricula. But blocks programming is not just for beginners; environments like GP and domain-specific blocks languages are targeted at hobbyists, scientists. and other casual programmers.

Capitalizing on the energy and enthusiasm from the 1st Blocks and Beyond Workshop in Atlanta in 2015, this workshop aims to continue studying the usability, effectiveness, and generalizability of affordances of these environments and their associated pedagogies. The workshop will bring together educators and researchers with experience in blocks languages, as well as members of the broader VL/HCC community who wish to examine this area more deeply. We seek participants with diverse expertise, including, but not limited to: design of programming environments, instruction with these environments, the learning sciences, data analytics, usability, and more.

The workshop will be a generative discussion that sets the stage for future work and collaboration. It will include participant presentations and demonstrations that frame the discussion, followed by reflection on the state of the field and smaller working-group discussion and brainstorming sessions.

Suggested Topics for Discussion

·  Who uses blocks programming environments and why?

·  Which features of blocks environments help or hinder users? How do we know? Which of these features are worth incorporating into more traditional IDEs? What helpful features are missing?

·  How can blocks environments and associated curricular materials be made more accessible to everyone, especially those with disabilities?

·  Can blocks programming appeal to a wider range of interests (e.g., by allowing connections to different types of devices, web services, data sources, etc.)?

·  What are the best ways to introduce programming to novices and to support their progression towards mastery? Do these approaches differ for for learners of computing basics and for makers?

·  What are the conceptual and practical hurdles encountered by novice users of blocks languages when they face the transition to text languages and traditional programming communities? What can be done to reduce these hurdles?

·  How can we best harness online communities to support growth through teaching, motivating, andproviding inspiration and feedback?

·  What roles should collaboration play in blocks programming? How can environments support that collaboration?

·  In these environments, what data can be collected, and how can that data be analyzed to determine answers to questions like those above? How can we use data to answer larger scale questions about early experiences with programming?

·  What are the lessons learned (both positive and negative) from creating first programming environments that can be shared with future environment designers?

Submission

We invite two kinds of submissions:

1.       A 1 to 4 page position statement describing an idea or research question related to the design, teaching, or study of blocks programming environments.

2.       A paper (up to 8 pages) describing previously unpublished results involving the design, study, or pedagogy of blocks programming environments.

All submissions must be made as PDF files to the Easy Chair Blocks and Beyond workshop submission site.

As with the Proceedings of the 1st Blocks and Beyond Workshop, we plan to publish the proceedings of the 2nd Workshop with the IEEE. Please use an IEEE Conference template to format your submission.

Important Dates

·  19 Jul 2017: Submissions due (due by end of day, anytime on Earth)

·  16 Aug 2017: Author notification

·  30 Aug 2017: Camera ready copies due

·  9-10 Oct 2017: Workshop in Raleigh

June 23, 2017 at 7:00 am Leave a comment

We need to separate Computing for All from Software Development: Claims that coding is not “fun,” it’s technically and ethically complex

The problem with the article linked below is that Code.org and the author mean two different things by the word “programming.”  Programming can be fun, insightful, sloppy, small, and still useful without demanding “superhuman focus” and “manic attention to detail.”  This is an issue I’ve talked about with respect to the thick line between programmer and user where most people will be in the future. I’m teaching an ethics course this summer — building software for others is technically and ethically complex, as the author states.  But building software as an end-user, as a hobbyist, as a scientist or engineer exploring an idea?  We need a different word.

Programming computers is a piece of cake. Or so the world’s digital-skills gurus would have us believe. From the non-profit Code.org’s promise that “Anybody can learn!” to Apple chief executive Tim Cook’s comment that writing code is “fun and interactive,” the art and science of making software is now as accessible as the alphabet.

Unfortunately, this rosy portrait bears no relation to reality. For starters, the profile of a programmer’s mind is pretty uncommon. As well as being highly analytical and creative, software developers need almost superhuman focus to manage the complexity of their tasks. Manic attention to detail is a must; slovenliness is verboten. Attaining this level of concentration requires a state of mind called being “in the flow,” a quasi-symbiotic relationship between human and machine that improves performance and motivation.

Source: Coding is not “fun,” it’s technically and ethically complex — Quartz

June 19, 2017 at 7:00 am 5 comments

Registration open for New Computing Faculty Workshops in Summer 2017

Beth, Cynthia, Leo, and I are running our workshop for new CS faculty again this summer.  Registration is open. Please do pass on word!

The third New Computing Faculty Workshop will be held August 6-8, 2017 in San Diego. The goal of the workshop is to help computing faculty at research intensive universities to be better and more efficient teachers.  By learning a little about teaching, we will help new faculty (a) make their teaching more efficient and effective (e.g., students learn more with less input time from faculty) and (b) make their teaching more enjoyable. The workshops were described in Communications of the ACM in the May 2017 issue (see article here). The workshop will be run by Beth Simon (UCSD), Cynthia Bailey Lee (Stanford), Leo Porter (UCSD), and Mark Guzdial (Georgia Tech).

Source: New Computing Faculty Workshops in Summer 2017 – CRA

June 16, 2017 at 1:00 am 2 comments

Using tablets to broaden access to computing education: Elliot Soloway and truly making CS for All

I recently had the opportunity to visit with my PhD advisor, Elliot Soloway. Elliot has dramatically changed the direction of his research since we worked together. And he’s still very persuasive, because now I keep thinking about his challenge to push educational technology onto the least expensive devices.

When I worked with Elliot in the late 1980’s and early 1990’s, we emphasized having lots of screen real estate. Though the little Macintosh Plus was still popular through much of that time, Elliot was hooking up 21-inch, two page displays for all our development and at the high schools where we worked. The theoretical argument was the value of multiple-linked representations (like in this paper from Bob Kozma). By giving students multiple representations of their program and their design, we would facilitate learning across and between representations. The goal was to get students to see programming as design.

But in the mid 1990’s, Elliot changed his direction to emphasize inexpensive, handheld devices. I remember asking him why at the time, and he pointed out that you could give 10 students access to these low-cost devices for one of the higher-end devices. And access trumps screens.

Now, Elliot has a project, Intergalactic Mobile Learning Center, that produces software for learning that runs on amazingly inexpensive computers. Go to http://www.imlc.io/apps and try out their all-HTML software on any of your devices.

I purchased an Amazon Fire HD 8 tablet last year as a media consumption device (reading, videos, and music). For less than $100, it’s an amazingly useful device that I carry everywhere since it’s light and mostly plastic. Here’s some of IMLC’s software running on my inexpensive tablet.

Teaching Computer Science on a Tablet

I have been arguing in this blog that we need a greater diversity of teaching methods in computer science, to achieve greater diversity and to teach students (and reach students) who fail with our existing methods. Elliot’s argument for inexpensive tablets has me thinking about the value for computing education.

If our only CS teaching method is “write another program,” then a tablet makes no sense. Typing on a tablet is more difficult than on a laptop or desktop computer. I have been arguing that we can actually teach a lot about coding without asking students to program. If we expand our teaching methods to those that go beyond simply writing programs, then a tablet makes a lot of sense.

Could a focus on using tablets to teach computer science drive us to develop new methods? If more CS teachers tried to use tablets, might that lead to greater adoption of a diverse range of CS teaching methods?

Elliot’s argument is about bridging the economic and digital divide. Can we use the low cost of tablets to break down economic barriers to learning computer science? Computing education via tablets may be key to the vision of CS for All. We can outfit a whole classroom with tablets much more cheaply than buying even mid-range laptops for an elementary or middle school classroom.  There are people suggesting that if we buy kids iPads, we’ll improve learning (e.g., Los Angeles schools).  I’m making the inverse argument.  If we as computing curriculum/technology developers and teachers figure out how to teach computing well with tablets, we’ll improve learning for everyone.

I started checking out what I could do with my less than $100 tablet. I was amazed! Moore’s Law means that the low-end today is surprisingly capable.

GP, the new blocks-based programming language that I’ve been working with (see posts here and here), runs really well on my Fire HD 8 tablet. In fact, it runs better (more functionality, more reliable, greater stability) in the browser of my Fire tablet than the browser-based GP does on my iPad Pro (which costs about a magnitude more).  (There is an iOS version of GP which is fast and stable, but doesn’t have all the features of the browser-based version.)

GP running on a Fire HD 8 Tablet — two Media Computation projects (mirroring on left, removing red eye on right)

Our ebooks run well on the Fire HD 8 tablet. I can program Python in our ebook using the tablet. Our approach in the ebooks emphasizes modification to existing programs, not just coding from scratch. Tweaking text works fine on the tablet.

Running Python code on the Fire HD 8 Tablet

A wide range of CS education practice activities, from multiple choice questions to Parsons Problems, work well on the Fire HD 8.

Parsons Problem on Fire HD 8 Tablet

I tried out WeScheme on my Fire HD 8, too.

I bought the cheapest Chromebook I could find for this trip. I wanted a laptop alternative to take to China and for commuting on the Barcelona subway, rather than my heavier and more expensive MacBook Air. All of these browser-based tools (GP, Python programming in the ebook, Parsons Problems) run great on my $170 Acer Chromebook, plus I get a keyboard. Even a Chromebook would require different teaching and learning methods than what we use in many CS courses. I’m not going to run Eclipse or even JES on a Chromebook. (Though Emacs has been ported to the Chromebook, it only runs on certain Chromebooks and not mine). Google is aiming to merge Chromebook and Android development so that apps run on both. I don’t really understand all the differences between tablets and Chromebooks, but I do know that Chromebooks are becoming more common in schools.

A Chromebook costs about twice what a low-end tablet costs. While that is still much less than most laptops, twice is a big markup for a poor student or a budget-strapped school. It’s worth pushing for the lowest end.

CS education researchers, developers, and teachers should explore teaching computing with tablets. Some are doing this already. The next version of Scratch will run on mobile phones, and the current version will already run on some phones and tablets. Creating CS learning opportunities on low-end tablets will make computing education more affordable and thus accessible to a broader range of potential CS students.  My proposal isn’t about offering the poor a cheaper, low-quality alternative. Tablets force us to expand and diversify our teaching methods, which will lead us to create better and more accessible computing education for all.

June 14, 2017 at 7:00 am 9 comments

Older Adults Learning Computer Programming: Motivations, Frustrations, and Design Opportunities

Great new Blog@CACM post by Philip Guo summarizing his recent CHI publication — how do people over 60 learn to program?  I’m so excited that Philip is exploring these issues. I’m interested in these issues, too, since I wrote about the challenges of learning as an adult and about the possibility of CS meet-ups for adult learners.  Philip is offering data, which I very much appreciate.

Why study older adults in particular? Because this population is already significant and also quickly growing as we all (hopefully!) continue to live longer in the coming decades. The United Nations estimates that by 2030, 25% of North Americans and Europeans will be over 60 years old, and 16% of the worldwide population will be over 60. There has been extensive research on how older adults consume technology, and some studies of how they curate and produce digital content such as blogs and personal photo collections. But so far nobody has yet studied how older adults learn to produce new technologies via computer programming.

Thus, to discover older adults’ motivations and frustrations when learning to code, I designed a 10-question online survey that asked about their employment status (e.g., working, semi-retired, retired), occupation, why they are learning, what resources they use to learn, and what has been the most frustrating part of their learning experience thus far.

Source: Older Adults Learning Computer Programming: Motivations, Frustrations, and Design Opportunities | blog@CACM | Communications of the ACM

June 12, 2017 at 7:00 am 2 comments

Take the Computer Scientists’ Oath

My colleague Beth Mynatt (on the right above) gave a commencement address at one of her alma maters, and came up with the great idea of a Computer Scientists Oath.  I’m quoting it below in its entirely, but recommend the article for more context on her oath and her speech.  I am teaching ethics (“CS4001 Computers and Society”) for the first time this summer in Barcelona. I hadn’t realized that most students in my classes haven’t thought about these issues — I didn’t realize the bubble in which I live (e.g., Human-Centered Computing PhD program, a School of Interactive Computing) where we do talk about such things. I agree with Beth for the need of such an oath, and I’m proud of her efforts to create one.  Barbara Ericson sent me an Engineering Oath that is particularly aimed at Facebook and other Silicon Valley engineers — some of these ideas could influence a future Computer Scientists Oath.

During her remarks, Mynatt lamented that the field of computer science lacks a professional oath to bind them together at this important moment as they embark on their careers. In the spirit of the medical field’s Hippocratic oath, she challenged the graduates to join her and take the following oath, as a formal recognition of the importance of our field to the wellbeing of society, and our collective responsibility to fulfill our obligations:

Today, I join the ranks of computer scientists worldwide. 

I will remember that I remain a member of society, with special obligations to all my fellow human beings.

I will design and build computing systems that enhance the quality of daily life for individuals and for society.

I will protect the dignity of users and others affected by computing systems, respecting the diversity of all cultures, and safeguarding against threats to health and safety.

I will respect the privacy and rights of all people and recognize the special role I have in judiciously collecting, storing and using their information, and creating systems that aim to shape their behavior.

I will work for fair wages; honorably guarding my reputation and my colleagues in our work practices, while respecting the intellectual contributions of others.I will improve the public understanding of computing and its consequences.

May I always act so, as to preserve the finest traditions of my field, and may I long experience the joy of inventing the future through my endeavors.

Source: Department of Computer Science at North Carolina State University

June 9, 2017 at 7:00 am 7 comments

Congratulations to Owen, Valerie, and Chris — ACM Award Winners!

Sharing Amber Settle’s note about ACM awardees from the computing education community, with her kind permission.

The SIGCSE Board would like to congratulate Owen Astrachan, Valerie Barr, and Chris Stephenson on their recent ACM awards.

Owen Astrachan was named recipient of the 2016 ACM Karl V. Karlstrom Outstanding Educator Award for three decades of innovative computer science pedagogy and inspirational community leadership in broadening the appeal of high school and college introductory computer science courses. His citation can be found here: http://awards.acm.org/award_winners/astrachan_3068814

Valerie Barr has received the 2016 Outstanding Contribution to ACM Award for reinventing ACM-W, increasing its effectiveness in supporting women in computing worldwide and encouraging participation in ACM.  Since becoming Chair of ACM-W in 2012, Barr has been a driving force in more than tripling the number of ACM-W chapters around the world. Her citation can be found here: http://awards.acm.org/award_winners/barr_3211646

Chris Stephenson, Head of Computer Science Education Programs at Google Inc., was recognized for creating the Computer Science Teachers Association, an international organization dedicated to supporting teachers and pursuing excellence in CS education for K-12 students. More information can be found here: http://awards.acm.org/about/2016-presidential-award-stephenson

Owen, Valerie, and Chris will receive their awards at the ACM Awards Banquet later this month in San Francisco. Please join us in congratulating them for their achievements.

Amber Settle

SIGCSE chair, 2016-2019

June 7, 2017 at 7:00 am 2 comments

Belief in the Geek Gene may be driven by Economics and Educational Inefficiency, plus using blocks to cross language boundaries

I visited China in the first part of May. I was at Peking University (PKU) in Beijing for a couple days, and then the ACM Celebration of the Turing Award in China (TURC) in Shanghai. I mentioned the trip in this earlier blog post. I wrote a blog post for CACM on a great panel at TURC. The panelists discussed the future of AI, and I asked about the implications for computing education. Are we moving to a future where we can’t explain to students the computing in their daily lives?

A highlight of my trip was spending a day with students and teachers at PKU. I taught a seminar with 30+ advanced undergraduates with Media Computation (essentially doing my TEDxGeorgiaTech talk live). It was great fun. I was surprised to learn that several of them had learned programming first in high school in Pascal. Pascal lives as a pedagogical programming language in China!

Perhaps the most striking part of my seminar with the undergraduates was how well the livecoding examples worked (e.g., I wrote and manipulated code as part of the talk).  All the PKU students knew Java, most knew C++, some knew Python — though I knew none of that when I was planning my talk. I wanted to use a tool that would cross programming language boundaries and be immediately understandable if you knew any programming languages. I used a blocks-based language.  I did my livecoding demonstration entirely in GP. I tested their knowledge, too, asking for predictions (as I do regularly, having read Eric Mazur’s work on predictions before demos) and explanations for those predictions.  They understood the code and what was going on. The funky sound and image effects cross language barriers.  Students laughed and oohed at the results.  Isn’t that remarkable that it worked, that I could give a livecoding demonstration in China and get evidence that the students understood it?

The most interesting session at PKU was talking with faculty interested in education about their classes and issues. I’ve always wondered what it’s like for students to learn programming when English is not their native language, and particularly, when the characters are very different. I asked, “Is it harder for your students to learn programming when the characters and words are all English?” The first faculty to speak up insisted that it really wasn’t an issue. “Our students start learning English at age 6!” said one. But then some of the other faculty spoke up, saying that it really was a problem, especially for younger students. In some middle schools, they are using Squeak with Chinese characters. They told me that there was at least one programming language designed to use Chinese characters, but the other faculty scoffed. “Yi is not a real programming language.” There was clearly some disagreement, and I didn’t follow all the nuances of the argument.

Then the Geek Gene came up in the conversation. One of the most senior faculty in the room talked about her challenges in teaching computer science. “Some students are just not suited to learning CS,” she told me. I countered with the evidence of researchers like Elizabeth Patitsas that there is no “Geek Gene.” I said, “We have no evidence that there are students who can’t learn programming.” She had an effective counter-argument.

“We do not have all the time in the world. We cannot learn everything in our lifetime. How much of a lifetime should a student spend learning programming? There are some students who cannot learn programming in the time available. It’s not worth it for them.”

I had not thought of the Geek Gene as being an economic issue. Her argument for the Geek Gene is not necessarily that students cannot learn programming. They may not be able to learn programming in the time available and using the methods we have available. This is not Geek Gene as only some students can learn to program. This is Geek Gene as economic limitation — we can’t teach everyone in the resources available.

I have an answer to that one. Want to reach more students? Either expand the time it will take to teach them, or use more effective methods!  This is the same response that I had offered to my colleague, as I described in an earlier blog post.

That insight gave me a whole new reason for doing our work in efficient CS education, like the greater efficiency in using subgoal-based instruction. The work of Paul Kirschner and Mike Lee & Amy Ko also emphasizes more CS learning in less time. If we can teach the same amount of CS in less time, then we can expand the number of students who can learn enough CS with a given amount of resource (typically, time). If we can’t convince teachers that there is no Geek Gene, maybe we can give them more effective and efficient teaching methods so that they see fewer students who don’t seem have the Geek Gene, i.e., who can learn enough CS in a single semester.

Below, evidence I was really at TURC

June 5, 2017 at 7:00 am 10 comments

We need a greater variety of CS teaching methods: The Way We Teach Math Is Holding Women Back

As I often do, I was trying to convince my colleagues that there is no “Geek Gene.”  One of them agreed that there is no Geek Gene.  But still…some people can’t learn CS, he insisted.  He pointed out that some people take a class “6-8 times to pass it.”

That got me thinking about the evidence he offered.  If someone takes the same course six times and can’t pass, does that mean that the student can’t learn CS?

Or maybe it proves that we’re insane, if Einstein’s famous quote is right (“Insanity: doing the same thing over and over again and expecting different results.”)  If the problem is our teaching and learning methods, simply repeating the exact same methods six times is not going to work.  Think about in terms of teaching reading.  We recognize that we need a variety of methods for teaching reading.  Having a dyslexic person take the exact same mainstream class six times will simply not work.

Why we are so resistant (as in the mathematics story linked below) to consider alternative teaching methods in CS?

The irony of the widespread emphasis on speed in math classrooms, with damaging timed tests given to students from an early age, is that some of the world’s most successful mathematicians describe themselves as slow thinkers. In his autobiography, Laurent Schwartz, winner of the world’s highest award in mathematics, described feeling “stupid” in school because he was a slow thinker. “I was always deeply uncertain about my own intellectual capacity; I thought I was unintelligent,” he wrote. “And it is true that I was, and still am, rather slow. I need time to seize things because I always need to understand them fully.”

When students struggle in speed-driven math classes, they often believe the problem lies within themselves, not realizing that fast-paced lecturing is a faulty teaching method. The students most likely to internalize the problem are women and students of color. This is one of the main reasons that these students choose not to go forward in mathematics and other STEM subjects, and likely why a study found that in 2011, 74% of the STEM workforce was male and 71% was white.

Source: Jo Boaler on Women in STEM, Ivanka Trump and Betsy DeVos – Motto

June 2, 2017 at 7:00 am 4 comments


Enter your email address to follow this blog and receive notifications of new posts by email.

Join 9,026 other followers

Feeds

Recent Posts

Blog Stats

  • 1,986,867 hits
June 2017
M T W T F S S
 1234
567891011
12131415161718
19202122232425
2627282930  

CS Teaching Tips