Welcome to my Curriculum Project Performance in EDTC!
My Curriculum Project is about teaching Computer Science Principles to K-12 students. Computational Thinking is one of the skills that students are expected to achieve by the mean of learning Computer Science concepts. This site shows you my studies on teaching Computer Science concepts through various kinds of hardware and software learning technologies in an informal learning setting, Newark Free Library. I hope these technologies will promote students' computational thinking skills while students are learning computer science concepts. You can watch YouTube videos about Computational Thinking to get more information about it.
Computational Thinking in K-12
In 21st century, learners need to achieve digital skills that help them effectively function in the society. Computational thinking is such a fundamental skill that not only computer scientists but also everyone should attain. In other words, everyone should learn how to think as a computer scientist (Wing, 2006). Wing (2006)’s statement that computational thinking should be added to every child’s analytical ability such as reading, writing, and arithmetic has resonated with educators’, computer science teachers’ and computer scientists’ huge embrace to research. Having inspired from Wing’s 2006 article, researchers studied on the definition of computational thinking. Although Wing (2006) gave the fundamental features of computational thinking, definition of computational thinking had taken some time for researchers to agree on it. According to Wing (2006), “computational thinking involves solving problems, designing systems, and understanding human behavior, by drawing on the concepts fundamental to computer science” (p. 33). Recently, by the virtue of collaboration of The International Society for technology in Education (ISTE) and the Computer Science Teachers Association (CSTA) with educators, an operational definition for computational thinking has been developed. Barr, Harrison and Conery (2011) also state the operational definition of computational thinking in this way:
Computational thinking (CT) is a problem-solving process that includes (but is not limited to) the following characteristics:
· Formulating problems in a way that enables us to use a computer and other tools to help solve them.
· Logically organizing and analyzing data
· Representing data through abstractions such as models and simulations
· Automating solutions through algorithmic thinking (a series of ordered steps)
· Identifying, analyzing, and implementing possible solutions with the goal of achieving the most efficient and effective combination of steps and resources
· Generalizing and transferring this problem solving process to a wide variety of problems
These skills are supported and enhanced by a number of dispositions or attitudes that are essential dimensions of CT. These dispositions or attitudes include:
· Confidence in dealing with complexity
· Persistence in working with difficult problems
· Tolerance for ambiguity
· The ability to deal with open ended problems
· The ability to communicate and work with others to achieve a common goal or solution.
Beside to this definition, the Royal Society (2012) also suggested a definition that is “Computational thinking is the process of recognizing aspects of computation in the world that surrounds us, and applying tools and techniques from Computer Science to understand and reason about both natural and artificial systems and processes” (p. 29).
Those two definitions show us that computational thinking is related to the way of thinking rather than thinking like computers. This thinking can be promoted even without computers. Activities that “introduce computing concepts without computers” (Grover & Pea, 2013, p.40) are called as CS Unplugged activities. “Generally, the unplugged activities involve problem solving to achieve a goal, and in the process dealing with fundamental concepts from Computer Science.” (Bell, Alexander, Freeman, & Grimley, 2008, p.128). Through these activities, computer science principles and computing concepts can easily be integrated into K-12 curriculum by either as a separate course or by connecting with other subject areas.
Students should be introduced to computer science subjects earlier in order for them to attain CT skills earlier. To achieve this goal, most of the developed countries have launched to integrate Computer Science Principles course into their curriculum (Grover & Pea, 2013). Although there are many questions on the ways of integration, it is certain that K-12 classrooms should implement computer science activities to boost students’ CT skills.
Scratch visual programming language is counted as one of the tools that can foster students’ CT skills (Grover & Pea, 2013). It has been developed by MIT Media Lab to encourage young students to think creatively and systematically, helping children develop CT. Through Scratch, students can easily design their own interactive games, stories and animations as well as program a variety of robots. Learners do not need to know syntax of coding while programming, which directs students to think as a computer scientist, not to memorize rote coding. Codes have been designed as blocks snapping each other as puzzle pieces.
In the Newark Free Library, I taught some computer science principles during the semester of 2016 Fall. To do that, I needed to learn programming in Scratch by connecting with computer science principles. Therefore, I researched on various kinds of lesson plans demonstrating the relation between computer science concepts and Scratch activities. I leaded four lessons out of eleven. Overall, I think that implementation of an activity or lesson plan can be harder than we think. Implementation of a lesson plan requires good classroom management skills.
Teaching Scratch lessons in the Newark Free Library was an invaluable experience for me since I have learned from my mistakes by implementing, my teammates as well as students. The most important thing that I have learned is to prepare a strong and complete lesson plan. Without it, lessons can fail. Furthermore, I have interacted with various learning technologies such as Fincbot, Makey Makey and 3D Printer to teach them to students. I saw student excitement when they are programming Finchbots and Makey Makey. I am not sure about if I can have this opportunity in the future.
In addition to lesson planning, students’ prior experience with Scratch played an important role in lessons’ flow. Since the Newark Free Library offers Scratch Club as drop-ins, there is always a possibility that new kids can attend to the club. This can produce some challenges to adjust the lesson for new kids as well as to keep attention of kids who have a lot experience with programming in the Scratch. To solve this problem, library can offer beginner classes for new students.
References
Barr, D., Harrison, J., & Conery, L. (2011). Computational thinking: A digital age skill for
everyone. Learning & Leading with Technology, 38(6), 20-23.
Bell, T., Alexander, J., Freeman, I., & Grimley, M. (2008). Computer science without
computers: New outreach methods from old tricks. In Proceedings of the 21st Annual Conference of the National Advisory Committee on Computing Qualifications (NACCQ08), Auckland, New Zealand. Retrieved from http://www.cs.bris.ac.uk/~jason/pdf/NACCQ08.pdf
Grover, S., & Pea, R. (2013). Computational thinking in K–12 a review of the state of the field.
Educational Researcher, 42 (1), 38–43
Royal Society. (2012). Shut down or restart: The way forward for computing in UK schools.
Retrieved from: https://royalsociety.org/topics-policy/projects/computing-in-schools/report/
Wing, J. (2006). Computational thinking. Communications of the ACM, 49(3), 33–36.