acm-header
Sign In

Communications of the ACM

BLOG@CACM


bg-corner

The Pros and Cons of Online Lab Classes for Computer Science - 2020 Pandemic Edition
From BLOG@CACM

The Pros and Cons of Online Lab Classes for Computer Science - 2020 Pandemic Edition

Contrary to expectations, online lab classes during our current pandemic may actually have some benefits over their in-person counterparts.

Learning Programming at Scale
From BLOG@CACM

Learning Programming at Scale

I summarize my first three years of research as an assistant professor on studying and building tools to support people who are learning computer programming.

Older Adults Learning Computer Programming: Motivations, Frustrations, and Design Opportunities
From BLOG@CACM

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

I summarize the first known research study of older adults (aged 60 and over) learning computer programming.

Python Is Now the Most Popular Introductory Teaching Language at Top ­U.S. ­Universities
From BLOG@CACM

Python Is Now the Most Popular Introductory Teaching Language at Top ­U.S. ­Universities

Eight of the top 10 CS departments in the U.S., and ~70% of the top 40, teach Python in introductory courses.

Small-Group Code Reviews For Education
From BLOG@CACM

Small-Group Code Reviews For Education

Real-time, small-group code reviews are great learning opportunities for students.

The Benefits of Working on Research As An ­Undergraduate Student
From BLOG@CACM

The Benefits of Working on Research As An ­Undergraduate Student

This article presents three practical benefits of working on research as an undergraduate student.

Hour of Code: Observations from a Middle School Classroom
From BLOG@CACM

Hour of Code: Observations from a Middle School Classroom

I volunteered at a middle school for the Hour of Code and helped students learn basic programming. Here are some observations that are relevant to CS education.

Why Scientists and Engineers Must Learn Programming
From BLOG@CACM

Why Scientists and Engineers Must Learn Programming

Scientists and engineers who program can work 10 to 100 times faster and come up with more creative solutions than those who don't.

Education Removes Fear: Some Examples From CS Courses
From BLOG@CACM

Education Removes Fear: Some Examples From CS Courses

One purpose of education is to remove fear; I present some examples from CS courses.

Teaching Real-World Programming
From BLOG@CACM

Teaching Real-World Programming

In this post, I describe a ubiquitous style of programming that, to my knowledge, has never been formally taught in the classroom.

Teaching Programming To A Highly Motivated Beginner
From BLOG@CACM

Teaching Programming To A Highly Motivated Beginner

I recount what I learned from spending nine months teaching computer programming to a person with no prior programming experience.

The Ph.D. Grind: Lead From Below
From BLOG@CACM

The Ph.D. Grind: Lead From Below

A common question faced by young professionals is, "How can I implement my own creative initiatives when I am at the very bottom of an established hierarchy?"

The Ph.D. Grind: Main Grinds and Side Grinds
From BLOG@CACM

The Ph.D. Grind: Main Grinds and Side Grinds

In this first CACM blog post, I introduce myself and make the case for why side projects can benefit both Ph.D. students and their professors.
Sign In for Full Access
» Forgot Password? » Create an ACM Web Account