Sign In

Communications of the ACM

BLOG@CACM



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.

Data Science Workflow: Overview and Challenges
From BLOG@CACM

Data Science Workflow: Overview and Challenges

I provide an overview of the data science workflow and highlight some challenges that data scientists face in their work.

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.

Coping With Linux Distro Fragmentation (Visualized in One Giant Diagram)
From BLOG@CACM

Coping With Linux Distro Fragmentation (Visualized in One Giant Diagram)

I describe software incompatibility problems caused by fragmentation in Linux-based operating systems and present one potential solution.

Two Examples of HCI Research
From BLOG@CACM

Two Examples of HCI Research

What does HCI (Human-Computer Interaction) research involve? In this post, I present two examples of modern HCI research.

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
Read CACM in a free mobile app!
Access the latest issue, plus archived issues and more
ACM Logo
  • ACM CACM apps available for iPad, iPhone and iPod Touch, and Android platforms
  • ACM Digital Library apps available for iOS, Android, and Windows devices
  • Download an app and sign in to it with your ACM Web Account
Find the app for your mobile device
ACM DL Logo