Tag Archives: coding

What’s it take to teach technological fluency to digital natives?

For nearly 30 years, Stehlik has been a computer science (CS) professor at Carnegie Mellon University (CMU); he was also Assistant Dean for Undergraduate Education for over 20 years, and is now Assistant Dean for Outreach. In 1984, when personal computers were a fresh innovation, he helped train the first cohort of Advanced Placement (AP) Computer Science teachers. In the digital age of ubiquitous smartphones, Stehlik continues his central role in computer science education.

Gregarious and voluble, Stehlik’s enthusiasm for CS is quickly apparent and highly contagious. Remake Learning spoke to him about spreading the gospel of computer science.

Whether you become a software engineer is less important than understanding the technological milieu in which we live.

What does the Assistant Dean for Outreach do?

While Carnegie Mellon has had tremendous success over the last 15 years with the female demographic—we went from 10% of a class being female to now almost 50%—we have not had as much success with other populations. Part of the outreach job is trying to figure out how to get more underrepresented students into the pipeline—to make the pipeline bigger. That is very much connected to where students learn about professions. Typically, that’s in high school, and high school computer science has not been in the best shape. So we think about how Carnegie Mellon can help in this space.

What should students know by the time they graduate high school? And what can they gain from early exposure to CS, even if they don’t pursue a CS degree?

They should know how to think. A lot of computer science is about problem-solving and figuring out how to implement the solution in a constrained programming language, which is an exercise in moving between layers of abstraction. It’s also incredibly creative, because you and I can come up with different solutions. We can argue about efficiency, or elegance, or clarity, so you start looking at layers of problem-solving—not just what answer is correct, but which is better.

We also know that technology is driving forward the US economy. Whether you become a software engineer is less important than understanding the technological milieu in which we live. What does it mean that elections can be hacked? When we talk about autonomous vehicles, at some point you need to decide how it responds to an unavoidable accident: what do you prioritize, what do you evaluate first? Some developer is going to have to implement this, but some non-developer should be thinking about the ethical implications.

I would also say everybody needs to be able to write a little bit of code, because everything exists in that space now. It’s important to be technically savvy in a tech-oriented world, and this generation is going to need to understand that space incredibly well.

You’re currently working with the South Fayette school district to improve their high school CS program, and teaching an AP course there. How do you get younger students excited about computing?

One of the interesting things in South Fayette is they have a wonderful K-8 computational thinking program. But if you took the kids who came through this program—exploring with Arduinos and robots, Scratch and Snap!—and you dropped them into the current 9th grade Java class, they would look at you like you had three heads.

You want to show the breadth of computer science as being way more than programming. I can envision a curriculum that lays the foundations in the 9th year with a bunch of different electives: robotics, machine learning. But you need wonderful programs in K-8, and then you need to look at what you’re doing in the high school and make sure you’re ready to engage these kids when they get there. The Remake Learning initiative is a perfect example: you’re thinking about how you can engage people in this technology now.

Do you notice a gender gap in either enrollment or performance in the K-12 classes? If so, what are your thoughts on how to narrow it?

In my AP class, there’s definitely a skew. But I think if you show things to kids in elementary school, before they’ve really figured out what they want to be, we’ll find a lot more people attaching to computing. I don’t think use of iPhones skews male or female, so why should thinking more deeply about that technology?

And people attach to technology in different ways. Some kids like to play with robots, some don’t; some kids like to play with graphical things, some don’t. The more varied the contexts you embed the technology in, the more likely you’ll be to not see those striations. Indeed, this is why it’s a fundamental access issue—it’s keeping the keys to the kingdom locked up that I think drives some of those gaps.

You spent two and a half years working at CMU’s Qatar campus. Qatar is highly ranked in average years of schooling, life expectancy and quality of life. But it’s also a monarchy ruled by Sharia Law. With programming, people can build their idea and share it widely with nothing more than a computer, which feels very democratic. Do you think computer science has a role to play in advancing equality in the world?

Oh yes, absolutely. It goes back to what we were just talking about: when you present these tools more widely, the equity and democratization issue comes as a matter of course.

For many women in that part of the world, being exposed to higher education and computing is a fundamental alteration of the expected career path. It’s no longer that you can only stay home and be married, you now have this other opportunity. My sense is that a lot of the Qatari females will have fundamentally different conversations with their daughters than they are having right now with their mothers.

Researching your work as an educator, it’s clear you are a deeply beloved professor who inspires students and colleagues alike. You have both a scholarship and a fellowship named after you, and at least two students have even asked you to participate in their weddings. What’s been your central philosophy as an educator?

Dave Kosbie, who’s a very good friend and colleague of mine, put it more succinctly than I think I ever could. As he tells it, the three rules are:

  1. Students come first
  2. If you want people to work hard, you have to work harder
  3. Attend to the whole student, not just their mind

Photo courtesy Aileen OwensI have a couple of my own on my website, and you can pick whichever subset of those you like.

People say ‘do what you love.’ I believe I’m one of the few that gets to do that. And if you love what you do, I think you owe it to everybody you come into contact with to be enthusiastic about it, and in some sense, to be an evangelist for it indirectly. I don’t have to tell people computer science is cool—what I should be doing is showing them it’s cool by how cool I think it is.

 

You can see Mark Stehlik’s TEDx talk, “What is your fractal dimension?,” at Qatar’s Education City, here.

Computer Science Gains Traction in Pennsylvania, So Now What?

In Pennsylvania, thanks to a law passed last summer, computer science coursework in all public and charter high schools can count toward either math or science graduation requirements.

In the future, computer science and information technology jobs are expected to grow and educators are working to prepare students to excel in these fields. But what does computer science education look like? How are teachers incorporating these new skills into existing curriculum even before high school?

Edsurge recently profiled Shanti Crawford, a teacher at P.S. 34 Oliver H. Perry elementary school in Brooklyn, NY. Crawford, who never considered herself to be a technology lover, let alone a teacher, is now referred to as the “LEGO Lady” at her school, according to the article, where she teaches science, LEGO engineering, and robotics.

When Crawford introduced programming into her classroom, write EdSurge’s Alexandra Diracles and Katarina Pasinsky, “she had an English language learner (ELL) who knew very little English. The student felt successful and included in the programming lessons because she was able to collaborate with her peers and recognize patterns in coding syntax as she would in her native language.”

In the Pittsburgh region, students at South Fayette Intermediate School in McDonald have the chance to learn in one of three STEAM labs—spaces with natural light and a rooftop garden that offer hands-on learning opportunities about science, technology, engineering, art, and math. One of the STEAM labs is a LEGO-themed robotics center where students build and design with LEGOs.

Using the LEGO Education WeDo robotics curriculum, a mathematics teacher may help students program a prototype for an environmentally responsible sprinkler system or use computer programming to make a spin-art machine as a way to teach about circumferences.

“Learning how to code is so important for kids because it gives them a digital voice,” says Shannon Landin a cofounder at Codecraft Lab, a nonprofit in Brevard County, FL, that works with public schools to run afterschool programs that teach coding for students in Grades 3–6. Her work is profiled at Digital Is. Landin says she’s a big fan of the programming language Scratch, designed by the Massachusetts Institute of Technology Media Lab’s Lifelong Kindergarten group. Scratch teaches math and computational thinking to young kids in addition to problem-solving, design, and communication skills.

Finally, over at Common Sense Media, Christine Elgersma suggests helping kids learn to code using Scratch, Mozilla Thimble, and Hopscotch. The power of these tools, she says, is that in addition to coding children are learning to be creators of media, not just consumers. This can go a long way in helping build not only their coding, but also their digital citizenship skills. Elgersma says that even if you are still learning yourself, if your students are talking about “loops, go-to commands, and branches,” it probably means they are making progress.

Teach a Kid to Code

Make room, techies. This week, kids all over the world are joining your ranks.

The occasion is Hour of Code, an international initiative in its third year. The program provides free, hour-long tutorials designed to be engaging and accessible for coding newbies “ages 4 to 104.” Throughout the week of December 7-13, schools, libraries, and informal learning spaces will hold Hour of Code activities.

To the uninitiated educator with tight resources and a lot on their plates, teaching young children to code can seem like a daunting or even silly task. In her first year as the technology integration specialist at Pittsburgh’s Keystone Oaks School District, Carol Persin assumed coding—she was familiar with HTML and Javascript—was out of reach for young students. Participating in Hour of Code last year, Persin was delighted to encounter “block-based” coding tutorials, which use visual representations of abstract concepts. This year, Keystone Oaks schools are taking part.

The nonprofit Code.org, which organizes the coding week, hopes educators will share Persin’s revelation. According to Code.org research, 67 percent of new jobs in Pennsylvania are in computing, yet just one in four schools in the state offers computer science courses. Many kids in Pittsburgh and beyond are not exposed to the tools and classes that will open up entire industries to them.

“The Hour of Code is usually our students’ first experience with a necessary skill that will be a large part their everyday adult lives and quite possibly their future careers,” said Marty Sharp, technology integration specialist at Woodland Hills School District.

“They are learning to problem-solve, to collaborate, to communicate.”

The professional tech world is notoriously homogeneous, and as early as high school, the sorting begins. In Pennsylvania in 2013, only 3.7 percent of students who took the AP Computer Science exam were black, and only 2.3 percent were Hispanic, according to Code.org. Nineteen percent of computer science college graduates in the state were female. Programs like Hour of Code aim to get as many kids as possible introduced to computer science as early as possible.

“We are lighting the fire of interest in the new literacy of learning to code and understand code,” said Megan Cicconi, who leads coding education workshops for Allegheny County public school teachers through a partnership between Code.org and the Allegheny Intermediate Unit. “This provides the foundation for the careers these students will have in the future,” she said.

Some educators participating in Hour of Code added that a student does not need to pursue a tech job for the lessons to be valuable.

“While coding is a wonderful skill for the students to have, what we are most interested in is the students’ thinking,” said Alison Francis, facilitator at the Fox Chapel Area Creativity and Literacy Program, which is participating in Hour of Code. “They are learning to problem-solve, to collaborate, to communicate, to persist, and the skills like sequencing that they are learning apply to other curricular areas as well, such as reading and math.”

Last year, Persin enjoyed watching students problem-solve, identifying issues in the code and debugging it. After all, she said, most of her students spend so much time using digital devices that it’s a thrill to watch them begin to create those products.

See participating Hour of Code sites in Pennsylvania here.

Teaching Kids to Think Like Computer Scientists, Without Using Computers

Teaching computer science is important for many reasons. Advocates say it’s a vital piece of preparing educated citizens of the 21st century and of meeting the demand for jobs in the new economy.

MIT Media Lab’s Mitch Resnick, the mastermind behind the popular kids coding language Scratch, says that coding teaches mathematical and computational thinking in addition to problem solving, design, and communication skills. And author Douglas Rushkoff, in his book “Program or Be Programmed,” argued that coding is the new literacy of the digital age. Just like we learned to write when we learned to read, he argued, humans should learn not only how to use computers but how to program them.

Folks like Resnick and Rushkoff say the coding itself and the skills one gains along the way are valuable for all citizens of future society, not only those who will become computer scientists.

These days, after all, the hardware and software are changing rapidly. Who knows what will be around when my 8-year-old enters the workforce? How should we prepare him? A group in Australia may have found one way.

Over at the Hechinger Report, Annie Murphy Paul profiled a project called Computer Science Unplugged, which uses games, puzzles, and magic tricks to teach concepts of computer science to kids as young as age 5.

“Rather than talking about chips and disks and ROM and RAM,” the organizers wrote, “we want to convey a feeling for the real building blocks of computer science: how to represent information in a computer, how to make computers do things with information, how to make them work efficiently and reliably, how to make them so that people can use them.”

For example:

“Younger children might learn about ‘finite state automata’—sequential sets of choices—by following a pirates’ map, dashing around a playground in search of the fastest route to Treasure Island. Older kids can learn how computers compress text to save storage space by taking it upon themselves to compress the text of a book.”

We’ve done similar work here in Pittsburgh with our Remake Learning Digital Corps, which brings technologists into the community to teach digital literacy skills to kids. The workshop leaders often start with games to get kids to understand computer science concepts before turning to the computers themselves. Ani Martinez, who leads the program for the Sprout Fund said that participants often play “Harold the Robot,” an activity also used by Computer Science Unplugged. In the game, students give instructions to one of their peers pretending to be a robot. They get to see how well the robot is able to follow their instructions and how their instructions are taken literally.

At Elizabeth Forward Middle School, students get to use their bodies and new technology to act out concepts of math and science and to play games at the school’s SMALLab. The Wii-like space uses a ceiling-mounted projector, motion-sensor cameras, and a computer to create a kinesthetic learning environment where kids can learn physics and learn about human computer interaction.

You may also remember the board game Robot Turtles, which made a splash on Kickstarter when it came out in 2013. The game teaches programming fundamentals to kids ages 3 to 8 without using a computer. It’s designed by a software engineer who’s a father and believes teaching his kids “to program a computer is the single greatest superpower I can give them.”

Engineers hope that these kinds of teaching methods will help overcome barriers to teaching and learning computer science: the hardware for one, but also stereotypes that computer science is, as Annie Murphy Paul wrote, boring or geeky or not for girls.

“The biggest challenges for the future,” wrote Resnick in a 2013 article at EdSurge, “are not technological but cultural and educational. Ultimately, what is needed is a shift in mindsets, so that people begin to see coding not only as a pathway to good jobs, but as a new form of expression and a new context for learning.”

Computer Science Unplugged is available for free download at csunplugged.org.

Know How to Code: An Introduction to Webmaking

Here we are, 2013, we ALL depend on technology to communicate, to bank, and none of us know how to read and write code. It’s important for these kids, right now, starting at 8 years old, to read and write code. will.i.am, Musician/The Black Eyed Peas and Entrepreneur

While 2013 doesn’t exactly look like the world that writers and directors imagined 50 years ago—teleportation devices, hover vehicles, and intergalactic travel—they did predict a society enhanced by the widespread use of computers.  The future we’re living in is one woven together by the intersecting threads of code, circuitry, media, and design.

Just a decade ago, owning a pocket-sized computer was a novel idea to the typical American family. Desktop computers were expensive and the internet was painfully slow. Now, according to a recent study by Pew Internet & American Life Project, 95% of teens (ages 12-17) use the internet and 78% have cell phones.

For years, the internet has been a mostly passive experience for students. But with more and more of our lives moving online, it’s essential that everyone, and especially today’s youth, become more active and engaged with the web. With technology made easily accessible in both in- and out-of-school environments, students can build their own web-based experiences to enhance both learning and socializing.

As younger generations grow into leaders, decision makers, and innovators they need the skills to actively participate in an increasingly internet-centric world. Our job as teachers, parents, caregivers, and mentors is to transform teens from web consumers into webmakers.

If you can program a computer, you can achieve your dreams. A computer doesn’t care about your family background, your gender, just that you know how to code. –Dick Costolo, CEO, Twitter

What exactly is webmaking? Simply put, it is using computer coding languages to create, understand, and promote content on the web. Teens can contribute to the web just by creating YouTube videos or customizing their social media profiles. However, a more in-depth understanding of coding languages like HTML5, Javascript, Ruby on Rails, and Python will allow students to become true change makers using the internet as a tool. Learning code also provides important lifelong reasoning, logic, and communication skills.

The U.S. Bureau of Labor and Statistics cites that computer science is one of the fastest growing occupations in the nation, with more than 150,000 job openings each year. According to the non-profit Code.org, there aren’t enough computer science college graduates to fill these positions in diverse industries such as health, defense, government, manufacturing, information technology, and many others. Additionally, these jobs tend to pay 75% more than the average median salary.

As with learning any language, early intervention is paramount. Students as young as six years old can begin learning how to code using an array of easy to understand, graphic programs that teach real-life programming applications. With many free and open-source methods that are geared towards students of any age and skill level, gaining a basic understanding of computer programming and coding can be as easy as visiting a website.

Every student deserves the opportunity to learn computer programming. Coding can unlock creativity and open doors for an entire generation of American students. We need more coders — not just in the tech industry, but in every industry. –Mark Pincus, CEO and Founder, Zynga

And now you can dig in to a few shining examples of the most popular free tools that students from around the world are using to sharpen their coding skills! Remake Learning is rolling out a new Resources section that will collect useful tools, activities, tutorials, and reference materials for teaching and learning digital skills. Read on to learn more about the first three tools– all focused on webmaking!

Screenshot of Mozilla Thimble web appThimble enables just about anyone to publish their own webpages. Thimble states that in just minutes, a user with no prior coding knowledge can use their browser to create a finished page and share it with the world. This program is a great entry point for someone who wants to learn the foundations of coding by actually making web pages. As the user edits the code on the left side of the interface, the right side displays what the site will look like– creating an immediate connection between the code and its output. Users can earn badges when you gain new skills or participate in other Mozilla or Digital Learning projects. Read on about Thimble.

 

Screenshot of Codecademy web app

Codeacademy brings learning to write and edit software within reach whether you are a high school student or a mid-career marketing professional. Their mission is simple–teach the world to code–and they are making a huge impact in the digital media realm. Even NYC’s Mayor Michael Bloomberg has signed up for lessons! Through a series of interactive tracks, students can become fluent in many of the major programming languages like Javascript, HTML/CSS, Python, Ruby on Rails, and APIs. Beginning with the fundamentals, Codecademy takes students through levels of learning based on what skills they’ve mastered. Read on about Codeacademy.

 

Screenshot of KidsRuby softwareKidsRuby is a free software download with embedded tutorials that teaches kids how to program using the open-source coding language Ruby. The KidsRuby site encourages kids to “hack” their homework, which may be programming a math formula, creating a diagram, or making a web page instead of writing an essay. While this software is aimed at younger children, adults may use it as a casual introduction to this widely used language. KidsRuby allows beginners to explore a very complex subject using a simple, yet effective, framework. Within an hour, a child could easily code their first design using the Ruby language. Read on about KidsRuby.

 

And you can try your hand at these and other webmaking tools at the Hive Pittsburgh #MakerParty today, Saturday, August 10, 2013 from 4:00 – 8:00pm at TechShop Pittsburgh in Bakery Square. Come out to celebrate the end of a summer of learning, making, and connecting with free food, music, and hands-on learning activities from MAKESHOP, the Labs @ CLP, assemble, and more!

Building the Workforce of the Future by Teaching Kids to Code

“Here we are, 2013,” singer-songwriter will.i.am said recently. “We all depend on technology to communicate, to bank, and none of us know how to read and write code.”

will.i.am, of Black Eyed Peas fame, is one of a group of stars and technology giants arguing for more computer programming education in US schools.

The new effort, Code.org, made a splash when it debuted last month. It’s being championed by everyone from Bill Gates to Mark Zuckerberg, to Sheryl Sandberg and Bill Clinton, who argue that computer science education is a vital piece of preparing educated citizens of the 21st century and of meeting the demand for jobs in the new economy.

“In the emerging, highly programmed landscape ahead, “ writes author Douglas Rushkoff, “you will either create the software or you will be the software. It’s really that simple: Program, or be programmed.”

In game developer Marc Prensky’s seminal piece “Programming Is the New Literacy,” he argues that as we progress through the new century, the future will look like “a real revenge of the nerds, except that the new nerds will be our programmatically literate children.” He continues:

Here’s a key question: Will the need for a separate scribe tribe of programmers continue through the twenty-first century, or will the skill set of an educated person soon include programming fluency? I think that as programming becomes increasingly easy (which it will) and as the need to show rather than explain becomes important (which it will) and as people working together want to combine the results of their efforts and ideas instantaneously (which they will), educated people will, out of necessity, become programmers. Think of it: Your phone and car already require programming skills; many houses and jobs do, too. Programming will soon be how we interact with all our objects, and I believe it will be an important component of how we interact with one another as well.

Not everyone agrees. Digital media contrarian Evgeny Morozov, author of “To Save Everything, Click Here: The Folly of Technological Solutionism,” thinks it’s absurd that we should need to know how to code. As he told Ian Tucker of the Guardian:

There are good reasons why we don’t want everyone to learn nuclear physics, medicine or how financial markets work. Our entire modern project has been about delegating power over us to skilled people who want to do the work and be rewarded accordingly. I’m all for making us aware of how various technological infrastructures work. But the idea everyone should learn how to code is as plausible as saying that everyone should learn how to plumb. To me it just makes no sense.

But advocates counter that if we don’t make more of a concerted effort to teach programming, there won’t be enough of these “new nerds” and many of our children will be left behind.

The New York Times reports that there will likely be 150,000 computing jobs opening up each year through 2020, according to the Association for Computing Machinery, a professional society for computing researchers. However, fewer than 40,000 American students received bachelor’s degrees in computer science during 2010.

The Obama administration has plans to train new science, technology, engineering, and math (STEM) teachers and in the most recent State of the Union called for retraining 2 million out-of-work Americans with skills they need for high-tech jobs.

“I also hear from many business leaders who want to hire in the United States but can’t find workers with the right skills,” Obama said. “Growing industries in science and technology have twice as many openings as we have workers who can do the job. Think about that–openings at a time when millions of Americans are looking for work. That’s inexcusable. And we know how to fix it.” Learning to code could be a first step in sparking an interest in those high-tech fields.

Code.org cites statistics showing that although computer science is among the highest paid college degrees, and computer science jobs are growing at twice the national average, 9 out of 10 schools don’t even offer computer programming classes. Maybe programming should be the new “voc tech.”

As a new Hive Learning Network we’ll be one of the groups trying to change that with programs in schools, museums, libraries, afterschool programs, and on the web designed to spark a passion for learning, beginning with kids’ interests and guided by mentors and digital technologies.

We’ll be partnering with folks at the Mozilla Foundation, who have created some powerful authoring tools and software like Popcorn, Thimble, and Hackasaurus designed to build web literacy skills, teach coding, and foster an understanding of how the building blocks of the web work. For example, Hackasaurus introduces kids to basic html tags—the most basic components of website programming—and encourages kids to mash up and change any web page like magic.

“Our message is that the web is Lego, something we can all shape around us,” Mozilla Foundation executive director Mark Surman said in a 2011 article about Hackasaurus. “With a very tiny amount of programming skills, you can change it.”

Prensky’s piece notes that kids are learning programming skills on their own time because they see it as a powerful way to express themselves and because it’s fun. A “connected learning” model, which the Hive Network uses, aims to better integrate what kids are learning in school, at home, and in community spaces.

One unique model we’re particularly proud of here in Pittsburgh is called the Mobile App Lab, an afterschool program in which high school students from around the region learn programming skills and work with local engineers to design apps for real-world clients. The program began at a local private school, Winchester Thurston, as an effort to build leadership opportunities for computer science students and has since expanded to include four additional public high schools: Pittsburgh Obama, South Fayette High School, Quaker Valley High School, and Mars Area High School.

This year the program kicked off with a tour of Google’s Pittsburgh headquarters where students got to meet and ask questions of Google engineers. During the 7-week course, students learned the programming language Processing and built mobile apps on the Android platform. As the culminating event, students got to participate in the App Jam on March 13th where they worked in teams to develop apps that would enhance visitor experiences in exhibits at the Carnegie Science Center, a local science museum. Students presented prototypes to a panel of experts.

In addition to building computer science skills, the project also aims to build the capacity of local high schools to incorporate computer science education into their regular curriculum through mentoring, toolkits, curriculum resources, and professional development. They place a big emphasis on mentoring and hope to build a peer network of local high school students interested in programming who can work as student leaders in their home schools to teach others and advocate for computer science literacy.

If all goes well, soon their communities will be crawling with these new nerds, primed for the jobs of the future and ready to teach the rest of us how the world works.

How Kids are Learning to Hack

Mozilla is creating education waves across the nation as they implement Hack Jams. GOOD Worldwide recent mentor of a Los Angeles Hack Jam, gives some background on Hack Jams.

We know that if we want kids to be more than consumers of technology, we have to give them the tools they need to build things themselves—and that means teaching them coding. But if most schools aren’t actually teaching coding to kids, how are they supposed to learn it? Enter the Hack Jam, a fun way to make digital literacy and hacking accessible, social, and fun.

Last week, GOOD Worldwide team members traveled to Los Angeles’ Wildwood School to serve as mentors and instructors at the LA Youth Hack Jam.

The public event, which was inspired by the Mozilla Summer Code Party and facilitated by the Los Angeles Makerspace Working Group, attracted over 100 kids between the ages of 5 and 18-years-old and their parents.

Depending on their ability coming in the door, participants were able to learn tech basics like how to upload a video to YouTube as well as lessons on programming languages. Yee says she “taught kids who were already getting their hands dirty with mobile apps, gaming prototypes, and gadgets.”

Wildwoods physics teacher, Ariel Levi Simons, described the Hack Jam as “a huge meet and greet for our up-and-coming nerds.” Indeed, there’s no doubt getting to work on DIY projects in a low-stakes, fun atmosphere under the tutelage of professionals in the field goes a long way toward encouraging kids to get involved.

Read the full story and catch a video glimpse of the action.