Constructivism is a learning theory that posits students actively construct knowledge rather than passively receive it. While influential in science and mathematics education, it has not been widely applied in computer science education (CSE). This paper explores how constructivism can provide a theoretical basis for discussing and evaluating issues in CSE.
Constructivism emphasizes that students build knowledge through experience and interaction, leading to idiosyncratic understanding. Unlike traditional methods, constructivist teaching encourages active learning, where students construct knowledge with guidance and feedback. However, this approach requires teachers to understand each student's existing cognitive structures, making it more complex than traditional teaching.
In CSE, students often struggle with abstract concepts like variables and programming models. Constructivism suggests that these difficulties arise because students lack effective models of computers. Research shows that students' misconceptions are not errors but logical constructions based on their existing knowledge. Constructivist approaches emphasize the importance of teaching models explicitly, such as through epistemic games or model computers, to help students build viable knowledge structures.
Constructivism also addresses the challenges of teaching programming, where students may rely on trial-and-error methods, leading to frustration. It advocates for group work and social interaction to support learning, as these activities facilitate the construction of knowledge. Additionally, constructivism highlights the importance of addressing misconceptions and providing explicit instruction on models, rather than relying on behaviorist methods.
The paper also discusses the role of bricolage, or using available resources to create knowledge, in CSE. While this approach can be useful for beginners, it may not be sufficient for professional programming, which requires abstract thinking and planning. Constructivism supports diverse learning styles, including concrete thinking, but emphasizes the need for structured instruction to develop effective models.
In conclusion, constructivism offers a valuable framework for understanding and improving CSE education. It encourages active learning, addresses misconceptions, and emphasizes the importance of teaching models explicitly. By applying constructivist principles, educators can better support students in constructing knowledge and overcoming challenges in computer science.Constructivism is a learning theory that posits students actively construct knowledge rather than passively receive it. While influential in science and mathematics education, it has not been widely applied in computer science education (CSE). This paper explores how constructivism can provide a theoretical basis for discussing and evaluating issues in CSE.
Constructivism emphasizes that students build knowledge through experience and interaction, leading to idiosyncratic understanding. Unlike traditional methods, constructivist teaching encourages active learning, where students construct knowledge with guidance and feedback. However, this approach requires teachers to understand each student's existing cognitive structures, making it more complex than traditional teaching.
In CSE, students often struggle with abstract concepts like variables and programming models. Constructivism suggests that these difficulties arise because students lack effective models of computers. Research shows that students' misconceptions are not errors but logical constructions based on their existing knowledge. Constructivist approaches emphasize the importance of teaching models explicitly, such as through epistemic games or model computers, to help students build viable knowledge structures.
Constructivism also addresses the challenges of teaching programming, where students may rely on trial-and-error methods, leading to frustration. It advocates for group work and social interaction to support learning, as these activities facilitate the construction of knowledge. Additionally, constructivism highlights the importance of addressing misconceptions and providing explicit instruction on models, rather than relying on behaviorist methods.
The paper also discusses the role of bricolage, or using available resources to create knowledge, in CSE. While this approach can be useful for beginners, it may not be sufficient for professional programming, which requires abstract thinking and planning. Constructivism supports diverse learning styles, including concrete thinking, but emphasizes the need for structured instruction to develop effective models.
In conclusion, constructivism offers a valuable framework for understanding and improving CSE education. It encourages active learning, addresses misconceptions, and emphasizes the importance of teaching models explicitly. By applying constructivist principles, educators can better support students in constructing knowledge and overcoming challenges in computer science.