







While none of us were paying attention, Scratch has transformed from a programming language for kids to a massive online community of self-guided, student-pr...
Motivating Adult Learners by Introducing Programming Concepts with Scratch
Novice programmers usually fail to combine abstract concepts and knowledge into program design, even though they know the syntax and semantics of individual statement. Adult novice programmers with little computer background knowledge might face more ...

Teach Yourself Programming in Ten Years
The conclusion is that either people are in a big rush to learn about programming, or that programming is somehow fabulously easier to learn than anything else. Felleisen et al. give a nod to this trend in their book How to Design Programs, when they say "Bad programming is easy. Idiots can learn it in 21 days, even if they are dummies." The Abtruse Goose comic also had their take.
Learnable Programming
Here's a trick question: How do we get people to understand programming?
Learning to code is overrated: An accomplished programmer would rather his kids learn to read and reason
Mayor de Blasio is winning widespread praise for his recent promise that, within 10 years, all of New York City’s public schoolchildren will take computer science classes. But as a career programmer who founded two successful software…

Computational Thinking for All Students
Posted by Maggie Johnson, Director of Education and University Relations, Google(Crossposted on the Google for Education Blog, and the the Huffingt...

Callysto: Bringing Jupyter and Computational Thinking to the K-12 Curriculum
Cybera and the Pacific Institute for Mathematical Sciences are participating in the new national CanCode program, to develop coding and digital skills from kindergarten to grade 12. With the launch of the Callysto project, we are creating tools and frameworks that help teachers bring computational thinking into their math, science, social sciences, and humanities courses - giving students the analytical skills needed to comprehend the digital world. Leveraging the Jupyter 'All-in-One' Science Platform to put friendly yet powerful compute tools in classroom settings, we are creating showcase modules and workshop training for K-12 teachers to incorporate data and computing into the broad curriculum. At this presentation, you will learn about how Callysto will: Bring computational thinking to classrooms through K-12 teacher training Create opportunities to participate in free workshop training sessions and content creation Help K-12 teachers gain public recognition for participating in this educational training project Note: This presentation is related to our 2017 BCNET presentation on "Bringing The Thunder: Deploying Jupyter Notebooks For Research, Education, And Innovation." View Slidedeck
Why should children program - a review of Seymor Paperts Mindstorms
This is an essay about what it means to teach a kid to program, using Seymor Paperts groundbreaking book Mindstorms as a reference.
Its Time for a New Programming Language
Today, when compared to any other point in programming history, we find ourselves spoiled for choice when it comes to programming…

Making your open source project newcomer-friendly
One reason I really like open source is that it offers a lot of great opportunities for newish programmers to get some hands-on experience with real world problems. There’s only so much one can learn …

Why I'm enjoying learning Rust as a Java programmer
It's been a long time since I properly learned a new language—computer or human. Maybe 25 years.

Bringing Computational Thinking to non-STEM Undergraduates through an Integrated Notebook Application
Computational thinking courses are no longer exclusive to engineering and computer science students in higher education but have become a requirement in other fields, as well as for students in secondary, primary, and even early childhood education. Computational notebooks, such as Jupyter, are popular solutions to develop the programming skills typically introduced in these courses. However, these solutions often require technical infrastructure and lack support for rich educational experiences that integrate discussion, active feedback, and learning analytics. In this paper, we introduce a web application designed to address these challenges. We present blended learning scenarios supported by this application and evaluate them in an eight-week computational thinking course comprising 67 students pursuing a Bachelor in Business and Economics. We include in our results the impact of the disruption caused by the COVID-19 pandemic, which forced a move from blended to online distance learning for the second half of our evaluation.
Hedy - Textual programming made easy
Many schools and teachers around the world want to teach their students programming. Initially this is often done with playful tools, ranging from the Bee-Bot robot to Scratch Junior or Scratch. After using such tools, kids often want to move to more powerful, textual programming languages, like Python.
Thinking with Sand: A Talk Series Exploring New Software Tools for Creative Exploration and Augmented Thinking At the MIT Media Lab
Why Computing Students Should Contribute to Open Source Software Projects
Learning to program is—for many practical, historical, as well as some vacuous reasons—a rite of passage in probably all computer science, informatics, software engineering, and computer engineering courses. For many decades, this skill would reliably set computing graduates apart from their peers in other disciplines. In this Viewpoint, I argue that in the 21st century programming proficiency on its own is neither representative of the skills that the marketplace requires from computing graduates, nor does it offer the strong vocational qualifications it once did. Accordingly, I propose that computing students should be encouraged to contribute code to open source software projects through their curricular activities. I have been practicing and honing this approach for more than 15 years in a software engineering course where open source contributions are an assessed compulsory requirement.2 Based on this experience, I explain why the ability to make such contributions is the modern generalization of coding skills acquisition, outline what students can learn from such activities, describe how an open source contribution exercise is embedded in the course, and conclude with practices that have underpinned the assignment's success.

The Missing Discipline in Computer Science
On Teaching Computer Scientists to Ask “Why”
