Patricia Flower
Education Studies 297, UCSD
June 7, 2011
Powered by
NetLogo
View/download model file:
FlowerTeacherKnowledgeModel.nlogo
Clearly teaching at any level of education is a highly complex activity that draws on many forms of knowledge. An often applied model in studies of teacher practice is Shulman's model of Teacher Knowledge (Shulman, 1987). Three of the seven components in Shulman's model are featured in the NetLogo model I designed: Content Knowledge, General Pedagogical Knowledge, and Pedagogical Content Knowledge.
Definitions:
Content Knowledge (CK): an in depth understanding of one's particular subject matter/discipline
General Pedagogical Knowledge (GPK): ability to organize and manage a classroom, which includes choosing the teaching strategies, assignments, and assessments that best meet the needs of students
Pedagogical Content Knowledge (PCK): ability to reflect on subject matter in order to determine ways to adapt, repackage, and tailor it to the needs of learners. This epistemological construct is a blend of both content knowledge and general pedagogical knowledge. Repackaged ideas include analogies, metaphors, stories, or any number of other representations.
To determine which model would best facilitate the depiction of the mediating effects of the three components on one another, I searched the NetLogo model library with little luck. Eventually, I chose a simple interaction applet involving the three concepts CK, GPK, and PCK. It illustrates the actions the three components of Teacher Knowledge on each another. Node C represents the concept of Pedagogical Content Knowledge which is influenced by General Pedagogical Knowledge, Node A, and Content Knowledge, Node B. GPK is represented by the teacher turtle and Content Knowledge is represented by a book turtle. Node C, the plant turtle, represents the concept of Pedagogical Content Knowledge. The choice of this turtle may not be as obvious as those that represent CK and GPK. The decision to use the plant is related to Shulman's (2004) reference to PCK as being a pedagogy of substance rooted in content knowledge, yet at the same time is connected with student's lives and cultures. Therefore, just as PCK is represented by the use of metaphors and analogies, I chose the metaphor of the tree.
Based on the information provided above, there are the actions or impacts of both CK (B) and GPK (A) on PCK (C). This requires a single arrow leading from A to C and another single arrow leading from B to C. However, both GPK and PCK distribute Content Knowledge. This requires an arrow between A and B. In addition, a second arrow leading from C to B is needed to depict the action of the distribution of Content Knowledge by Pedagogical Content Knowledge.
The model has three sliders that define the global variables of gpk, ck, and pck. Making adjustments by increasing or decreasing the slider levels allows the user to gauge the action of one variable on another. For example, to determine the action of increased ck on pck press setup. Set the pck slider at minimum and the ck slider at 50. Press go and increase the level of ck. As the slider is moved to the right the activity levels of both components of teacher knowledge increase. This is not surprising for the more understanding (both in depth and in breadth knowledge) an instructor has of her/his discipline the more likely they will be able to develop and use teaching strategies (the use of metaphors and analogies) that will lead to the adaptation of content to the diverse background of students. There is a similiar action of gpk on pck.
Initially, with the increase of gpk or ck one sees an increase in pck. However over time, the variables reach a plateau after which the activity levels remain unchanged. If this period of stasis is followed by an increase in, for example,gpk (the teacher begins to use a new instructional strategy) a similiar increase in pck occurs. Moreover, an increase in gpk leads to an increase in the distribution of content. For example, if an instructor uses a greater variety of teaching strategies to meet the needs of diverse learners content is more greatly distributed. Similiarly, if the ck level is set at any level and the pck is increased a higher activity level of ck follows. This illustrates the idea that the greater an instructor's pck the greater the distribution of content.
As a result of this assignment I was able to develop a model that graphically depicts the mediation that occurs between three components of Shulman's model of teacher knowledge. In doing so I gained a appreciation for computer programming. A possible expansion of my model would be to include a fourth component: knowledge of educational context. This component, which includes a teacher's understanding of the characteristics of the student populations with which they work, as well as the community as a whole. This knowledge of characters such as age, developmental stage, language, culture, social class, and gender as well as ability, aptitude, and motivation would most probably mediate gpk and pck. In turn, these two components would influence the distribution of content knowledge. The inclusion of a fourth variable will necessitate the adoption of a simple interaction applet involving four components.
Shulman, L. S. (1987). Knowledge and teaching: Foundations of the new reform. Harvard
educational review, 57, 1-22.
Shulman, L. S. (2004). Teaching as community property: Essays on higher education.
San Francisco: Jossey-Bass.
;; A study of excitation and inhibition among nodes: three-concepts.nlogo ;; Jim Levin ;; Education Studies; University of California, San Diego ;; July 2010 ;; Nodes, excitation links and inhibition links between nodes, and node labels are all different breeds of turtles. ;; The activity level of each node is shown by its size and by its color shade. breed [ nodes ] nodes-own [ activity-level newactivity-level labelnode labeloffset external-activity-level ] breed [ excites ] ;; excitation link from one node to another excites-own [ a b ] breed [ inhibits ] ;; inhibition link from one node to another inhibits-own [ a b ] breed [ nodelabels ] ;; text label for a node nodelabels-own [offset] globals [ drawer attenuation node_a node_b node_c node_d node_e ex_a ex_b ex_c ex_d ] to startup ;; do when first loading model setup end ;; startup to setup ;; build the specified network clear-all setup-globals setup-patches setup-nodes setup-graph end ;; setup to setup-globals ;; set global variables set attenuation 0.67 set-default-shape nodes "circle" set-default-shape excites "excite" ;; a line with an arrow point at one end, created with the shape editor set-default-shape inhibits "inhibit" ;; a line with a perpendicular short line at one end, ditto end ;; setup-globals to setup-patches ask patches [set pcolor white] ;; make the background white end ;; setup-patches to-report create-a-node [ node-label xpos ypos x-label-offset y-label-offset external-activity ] let ms 0 create-nodelabels 1 [ ;; first create the text label set color white set label-color black setxy (xpos + x-label-offset) (ypos + y-label-offset) set label node-label ] create-nodes 1 [ ;; now create the node set color orange set label-color black setxy xpos ypos set size 2 set external-activity-level external-activity set ms self ] report ms end ;; create-a-node to setup-nodes ; create-turtles 1 [ set color black set drawer self ] ;; a turtle to draw with set node_a (create-a-node "" -5 -5 0 -2.3 0) ;; A ask node_a [set shape "person"] ask node_a [set color 45] ask node_a [set size 5] set node_b (create-a-node "" 5 -5 0 -2.3 0) ;; B ask node_b [set shape "book"] ask node_b [set color 85] ask node_b [set size 5] set node_c (create-a-node "" 0 5 0 -2.3 0) ;; C ask node_c [set shape "plant"] ask node_c [set color 64] ask node_c [set size 5] set ex_a (create-a-node "level of GPK" -5 -9 2 -1.25 0) ;; ex_a set ex_b (create-a-node "level of CK" 5 -9 2 -1.25 0) ;; ex_a set ex_c (create-a-node "level of PCK" 0 10 2 -1.25 0) ;; ex_a end ;; setup-nodes to update-externals ;; set the activity-level of the external sources from the sliders ask ex_a [ set newactivity-level GPK ] ask ex_b [ set newactivity-level CK] ask ex_c [ set newactivity-level PCK] end ;; update-externals to setup-graph ;; this sets up the links between the nodes ;; create the external links ask ex_a [connect-excite node_a] ask ex_b [connect-excite node_b] ask ex_c [connect-excite node_c] ;; internal links, which are determined by the interface pull-down controls ask node_a [if A-B = "excite" [connect-excite node_b] if A-B = "inhibit" [connect-inhibit node_b]] ask node_a [if A-C = "excite" [connect-excite node_c] if A-C = "inhibit" [connect-inhibit node_c]] ask node_b [if B-A = "excite" [connect-excite node_a] if B-A = "inhibit" [connect-inhibit node_a]] ask node_b [if B-C = "excite" [connect-excite node_c] if B-C = "inhibit" [connect-inhibit node_c]] ask node_c [if C-A = "excite" [connect-excite node_a] if C-A = "inhibit" [connect-inhibit node_a]] ask node_c [if C-B = "excite" [connect-excite node_b] if C-B = "inhibit" [connect-inhibit node_b]] end ;; setup-graph to go ;; The run procedure which makes the model progress one cycle no-display step ;; this is where all the interaction between nodes occurs display end ;; go to step ;; update activity levels for the excite links and the inhibit links update-externals ;; this allows the user to change the external activity-levels while the model is running ask excites [increment-activity-level] ;; distribute the impact of the "excite" links ask inhibits [decrement-activity-level] ;; distribute the impact of the "inhibit" links update-activity-levels ;; update all the activity levels after all the impacts have been made do-plot ;; plot the results end ;; step to update-activity-levels ask nodes [update-activity-level] ;; change activity levels to reflect the impact of all inputs this cycle ;; reset newactivity-level to wxternal-activity-level and update display of activity level for each node end ;; update-activity-levels to update-activity-level set activity-level max list 0 (min list 100 ([newactivity-level] of self)) ;; keep activity-level between 0 and 100 set newactivity-level external-activity-level ;; reset newactivity-level to the level set by external factors for next cycle set label "" ;;set color 29 - (activity-level / 25) ;; set each node to a color to indicate its activity-level (29 is light orange; larger activity-level is darker) ;;set size ( activity-level / 35 ) + 1 end ;; update-activity-level to increment-activity-level ;; increment the new activity level of b by (attenuation * activity-level of a) let impact 0 ask a [set impact (attenuation * activity-level)] ask b [set newactivity-level ([newactivity-level] of self + impact)] ;; add the impact end ;; increment-activity-level to decrement-activity-level ;; decrement the new activity level of b by (attenuation * activity-level of a) let impact 0 ask a [set impact (attenuation * activity-level)] ask b [set newactivity-level ([newactivity-level] of self - impact)] ;; subtract the impact end ;; decrement-activity-level to do-plot let al 0 set-current-plot "Activity level changes over time" set-current-plot-pen "GPK" ask node_a [set al [activity-level] of self] plot al set-current-plot-pen "CK" ask node_b [set al [activity-level] of self] plot al set-current-plot-pen "PCK" ask node_c [set al [activity-level] of self] plot al end ;; do-plot to connect-excite [other-node] ;; create an "excite" link between self and other hatch 1 [ set breed excites set a myself set b other-node set color green set label "" adjust-link ] end ;; connect-excite to connect-inhibit [other-node] ;; create an "inhibit" link between self and other hatch 1 [ set breed inhibits set a myself set b other-node set color red set label "" adjust-link ] end ;; connect-inhibit to adjust-link ;; move this link between a & b nodes to reflect any movement of either of the nodes setxy [xcor] of a [ycor] of a set size distance-nowrap b set heading towards-nowrap b jump size / 2 right 90 jump .25 left 90 ;; move sideways to avoid overlap end ;; adjust-link to-report closest-xy [x y agent-set] ;; Return closest agent to x, y report min-one-of agent-set [distancexy-nowrap x y] end ;; closest-xy