Literacy for the 21st Century Student: Foundational Computer Languages and Programming in Middle School Curriculum
September 27, 2016 by
Computer literacy is becoming an expectation and a necessity, a critical skill for engaging with and contributing to the world in the 21st Century. In our middle school, all students will become more familiar and experienced with the foundations of computer programming through required and elective courses. Our courses in computer languages and programming will be designed to not only bolster the passions of students with an interest in this field, but to ignite the curiosity of all of our students. We believe that regardless of students’ current inclinations and future career paths, it is important that all our students are conversant in the subject area. We believe that participation in foundational computer programming classes may also inspire interest in a student who previously assumed that computer science was “just not for them.” We will design courses to teach the basics of programming and develop the thinking skills that support computer literacy, empowering and encouraging all our students to explore this field and expand their view of their own capacity.
In addition to providing the groundwork for fields our students may enter in the future, research tells us that computer programming experience fosters the growth and intellectual skills of all students. Developing digital literacy allows students to hone cognitive and communication skills that help them see, interpret, and engage thoughtfully with their world. These skills include…
- Critical Thinking and Analysis: Computer programming classes train the mind to think critically and expansively, fostering logical reasoning and problem-solving skills that will serve our students well in any endeavor they pursue.
- Attention to Detail and Accuracy: Learning to write a program will necessitate that students follow specific steps, consider each detail, and check the data input carefully.
- Persistence: In the field of computer science, there is a sense of experimentation and a commitment to trial and error. There is a great deal of research that emphasizes the value of grappling with setbacks and problems as a way to develop persistence and resilience. Our students will need to consider how to tweak or revise their strategies and embrace early missteps and confusion as natural and expected steps on the road to progress and learning.
- Collaboration: In today’s workforce, much that is accomplished in the field of programming is created by teams working together. Computer programming necessitates problem solving and designing that is best accomplished by teams of thinkers and innovators.
- Decision making: as students design programs, they may need to decide on the language to use, the purpose of the program, and the steps to employ. As they make choices, they will learn to appreciate the consequences of their decision making and develop strategic thinking skills.
- Flexible Thinking: Just as students will need to make decisions and execute a plan, computer programming also encourages flexible thinking: the ability to generate ideas and build on them, innovate and make adjustments, see the ways in which others adapt our ideas and perhaps transform them, and respond to the needs and visions of team members.
I recommend the article by Jason T. Bedell, “The Value of Programming for Students,” published in the ASCD Express, for a thoughtful discussion of the benefits of teaching computer programming in the middle school years.