« Are The Girls in Your Class Being Bullied? | Main | What Are You Doing for Hour of Code? »

Confessions of an Elementary Computer Science Teacher

After teaching computer science and technology for over 13 years and not even reaching my forties, I started wondering how my teaching methods and style have changed throughout the years. I have written many anecdotal notes regarding my experiences and adventures in computer science teaching, hoping to use them one day and this seemed like a good opportunity to share some of those thoughts.

I've made many changes over the years, not only in how I teach, but also in what I teach. Because both computer science subject matter and technology change almost every day, keeping up to date on both is a major challenge for Computer Science teachers. In addition, the rate at which my students grasp the information I am providing is also increasing. The combination of these factors can sometimes feel overwhelming.

Although the standards for K-12 computer science have remained relatively constant over the years (allowing for revisions to keep up to date), the data required to address these standards has changed enormously. When I first started teaching, the hardware used to teach computer science was very limited. My school would basically use very basic Windows-based personal computers. Any programming language that I wanted to use had to be compatible with Windows (web-based programming was not even a dream yet). Because the programming languages we used were not kid friendly, we never considered teaching computer science to students not yet in high school. As a result, our elementary students learned only basic applications and touch-typing. With the growing availability of more varied hardware and programming language tools for education has now opened the doors for computer science courses in elementary school.

Now, students are able to learn coding even with a tablet or mobile device. This means that the level of knowledge that I must now possess and master as a computer science teacher, has been raised tremendously. I have to know what is out there and constantly be prepared to answer any inquiries that my students may have, even if it means that sometimes I have to tell my students that I must do some additional research before I can give them an accurate response. There is a greater responsibility to stay relevant, informed, and up to date and to filter what is potentially beneficial for kids of all ages.

There can be no doubt that this rapid rate of change is impacting what happens in my elementary classroom every day. My curriculum now includes topics such as computational thinking, robotics, video game design, coding and app building. Yes, it is stressful teaching in a field that is constantly changing, but it is also exciting and rewarding. I thought that being a CS teacher in the year 2000 was exciting because I was teaching my students the information for the "future". Now, 13 years later I still believe that been a computer science teacher is the most exciting job there is because I am truly preparing my students for the future.

It is cool and challenging to have this great responsibility of navigating with my students through the uncharted waters of continuous change.

Michelle Lagos
International Representative
CSTA Board of Directors


I really appreciate all that you say, as I too have been teaching Computer Science and Computer Applications to high school, middle school, and now also K-6 for about 16 years. I teach at 2 different schools, and although we don't have iPads or tablets,and are still Windows-based, there is still A LOT to choose from. That means there is A LOT to stay up to date on. I currently use Alice as the introductory language, and have used Scratch in the past. I'd really be interested in hearing what you've found to be the best / easiest to teach language out there.

Post a comment

(If you haven't left a comment here before, you may need to be approved by the site owner before your comment will appear. Until then, it won't appear on the entry. Thanks for waiting.)