Constructivism in CS Education

Constructivism:

A theory of education holding that knowledge and understanding develop best when actively created (rather than passively received) by the student through processes designed to help students make connections and create effective mental models

The Educational Paradigm

An ontology, or theory/model of existence/reality 

An epistemology, or theory of both individual and shared human knowledge

A methodology for acquiring and validating knowledge

A pedagogy, or theory of teaching

...and others add a fifth component: a theory of evaluation

per Ernest, 1995, an educational paradigm includes: 

The Constructivist Dilemma in CSE (via M. Ben-Ari, 2001)

The problem, in short:

  • CS involves engagement with many artifacts previously created by others; to understand and effectively use these artifacts, we must understand the cognitive structures underpinning those tools--i.e., the models their inventors had in mind when they created them.

  • CS educators' failure to emphasize the importance of recognizing and understanding these models will limit many CS students' ability to use the artifacts, evaluate them, and, later, to develop their own.

Classical 

  • Ontological reality exists

  • Truth exists

  • The mind is a clean slate to be filled with logic and knowledge 

  • Passive learning methods

Constructivist

  • Ontological reality is unattainable so irrelevant to learning

  • All knowledge evolves and is potentially fallible; absolute truth is unattainable

  • Knowledge is acquired recursively: sensory data + existing knowledge + reflection = cognitive structures (models) 

  • Emphasis on active learning methods; does not completely reject classical methods

Performance vs. understanding

"The pupil’s fundamental problems with such ideas as negative or complex numbers tend to be overlooked by the teacher mainly because the latter’s own implicit beliefs make him or her oblivious to the possibility of somebody having a different ontological stance....Another circumstance that helps in concealing ontological difficulties is the fact that a student may become quite skillful in manipulating concepts even without reifying them..." (Sfard, 1994)

Argument 1:

Many students fail to understand essential CS concepts because the mental models of computers and programming they developed through previous cognitive processes and life experience are flawed.

Argument 2:

We must understand students' flawed mental models before we can help them develop effective ones.

What makes a learning activity "constructivist"?

Type of activity/engagment?

Design principles?

Goals and objectives?

Examples?

 

Application of Constructivism in CSE: Ben-Ari proposes that...

  • construction of CS concepts is too haphazard, leading to flawed self-created mental models
  • autodidacts tend to create mental models that are incompatible with academic CS
  • GUIs do not serve as useful representations of CS concepts and can even interfere with construction of mental models
  • some students benefit from more reflective/social learning styles and are not well served by typical modes of learning CS/programming