Classroom Model with Learning Assistants
Do you have questions or comments about this model? Ask them here! (You'll first need to log in.)
WHAT IS IT?
Active Learning
The student networks model allows a user to model learning in the classroom. Specifically, this model represents the practice of active learning in the classroom. A standard working definition for active learning is "anything that involves students in doing things and thinking about the things they are doing" (Bonwell & Eison, 1991, p. 2). Holistically, active learning techniques provide greater learning advantages (especially in content knowledge, critical thinking, problem solving, communication, etc.) over traditional lecture practices. However, most faculty transitioning from lecture based courses (a format they are more familiar and comfortable) may not always observe the same student learning gains, especially in early iteration of this transition. Part of this discordance is a result of studies focusing on either traditional (lecture) instruction or reformed (active learning) instruction. Classroom environments are complex and the act of learning is being facilitated by attributes students bring with them to the classroom, classroom size, classroom culture, department/institution culture, the quality of instructional resources, instructor quality, number of contact hours, student course/workload, etc. Most studies are unable to measure or describe these variables. Without adequate characterization of these learning environments, identifying best practices (logistically, ethically, economically) for transitioning between traditional and reformed instruction techniques is difficult.
In the current context of this model, active learning also involves working with others in the classroom. This includes other students, instructors, or learning assistants (LAs). Learning assistants are undergraduate students who, having already taken the course they are embedded as well as a pedagogy course, are able to assist the instructor with active learning activities. With 1-6 additional sets of hands available in large lecture classrooms, students have a greater opportunity of interacting with instructional staff. LA roles can range from leading small group discussions, answering student questions, modeling ideal learning behavior, acting as an approachable point of contact, and holding office hours. For the purposes of this model, LAs are currently only interacting with students with questions.
Model Goals
This model will [one day] help predict how particular classroom contexts and/or classroom practices may influence learning gains. For instructors, it may help with decisions during curriculum reform. For education researchers, this model may also be able to help test mechanistic processes that underlie learning gains. These simulations can be conducted in a manner that would otherwise be logistically or unethically feasible in a classroom environment.
HOW IT WORKS
Agent Breeds
There are three main agent breeds in this model: Students, Learning Assistants, and Instructors.
Students
Students sit in red seats. Each student is also attached to three types of social networks: a geometric network, a random network, and a small world network. Using the properties of these networks (currently just the number of neighbors) each student learns under 5 different scenarios: lecture only (probability of self-learning), ER-RN (self-learning plus an increased probability based on the number learned neighbors in the random network), WS (self-learning plus neighbors in a small world network), Geom (self-learning plus neighbors in a geometric network), and Geom-LA (self-learning plus neighbors in a geometric network plus a probability of an LA reaching you and answering your question). Additionally, if students have not learned in under the Geom-LA scenario, they will raise their hand (and turn black) which will prompt an LA to move to them and answer their question.
Learning Assistants (LAs)
Learning assistants sit in green seats and can move to students who have their hand raised. LAs move directly to one of the students who has their hand raised and will "teach" students for a random (but normally distributed) period. Afterwards, students have a random (exponential) probability of learning because of this interaction. If no students have their hands raised, LAs will return to their seats.
Instructors
Instructors lecture from the blue podium. Currently they only lecture which is [currently] reflected as a student's ability to self-learn. In the future, instructors will move around the classroom in a similar manner to LAs.
Learning Proxy
For the purposes of this initial model, learning is binary. Students either know something or they don't. This is an extremely simplified and unrealistic model for classroom learning, however it is useful for alpha-testing features of the model.
Passive Learning
Students have a probability of learning on their own. A random floating point number between 0 and 1 is generated for each student. If this number is less than the self-learn probability, the student will learn.
Peer Learning
Students have a probability of learning from the students they are connected to in a given network. A random floating point number between 0 and 1 is generated for each student. If this number is less than the social-influence probability times the proportion of neighbors who have learned, the student will learn.
Learning Assistant Instruction
Students who have not learned under this scenario have a probability of raising their hand. When hands are raised, learning assistants will move to students and "teach" for a random number of ticks (between 0 and "la-ticks"). After this time, there is a probability (based on la-teach ability) that a student will learn from this interaction.
Social Networks
Lecture Only
Students in the lecutre only network do not interact with any other students. Students learn passively.
Random Network
Students are found in a Erdős–Rényi random network. In this scenario, each edge has a random probability of being present. Students learn passively and through peers.
Small World Network
Students are found in a Watts-Strogats small world network. In this scenario, there are short average path lengths and high clustering of students. Students learn passively and through peers.
Geometric Network
Students preferentially attach to all other students within a specied radius of their seat. In this scenario, there is high dependence on the classroom layout. Students learn passively and through peers.
Geometric Network with Learning Assistants
Students preferentially attach to all other students within a specied radius of their seat. In this scenario, there is high dependence on the classroom layout. Students learn passively, through peers, and through learning assistants by raising their hand.
HOW TO USE IT
1. Classroom Import and Setup
Students are able to sit in red patches. Learning assistants are able to sit in green patches. Instructors are able to lecture from blue patches. Asiles (white patches) are intended to be the only places LAs and instructors can move, however this is for later spacially realistic models.
To import a pre-made classroom, select a room type from the drop down menu and then click import classroom.
To draw a new classroom or edit a pre-made classroom, press the draw classroom button and use the drop down to select the type of patch you would like. Then simply drag/click within the world window to draw. Mistakes can be corrected by selecting a different classroom element or by using the clear classroom button to clearing the world.
2. Network Parameters
Networks are set up simulaniously and independently. For the random network, there is a slider which specifies the probability of edge presence. For the small world networkm there are sliders for the mean degree and the rewireing probability. For the geometric network, there is a slider for the radius in which students interact with their neighbors.
3. Classroom parameters
Classrooms should be created prior to creating people in order to avoid throwing intermittant errors. Students and LAs can be generated based on the number of available seats (see monitors). The sliders should automatically adjust based on the maximum number of seats available.
Addtionally, networds are generated when people are set-up.
4. Interaction Rules
This specifies how people in the classroom will interact. The "hide-social-networks" switch will allow the user to hide all of the links while running the model (this makes it easier to watch students and LAs. Currently, "LA-move" and "Instructor-move" are placeholders for future extensions which will vary the type of activities in the classroom.
The "self-learn" slider adjusts the probility that a student will learn passively. The "social-influence" slider adjusts the probility that a student will learn through peer interaction. The "la-teach-ability" slider adjusts the probility that a student will learn as a result of the student/LA interaction. The "la-tick" slider adjusts the time a LA stays with a student. This does not influence the probability an individual will learn but does [should...] influence how quickly questions (raised hands) can be addressed.
The "set/reset learning" button resets all students to false (not learned). Currently this must be pressed prior to running the first model run.
5. Run Model
To run the model, press go. The grahp will record the number of students who have learned under each scenario. The model will run until all students have learned in all 5 scenarios. After the model has stopped, learning will reset. You can either click go again right away or press the "clear-all-plots" before pressing go (the latter provides a cleared comparison within a single run).
THINGS TO NOTICE
Things to Observe
"Learning" is adapted from the simple broadcast model in the netlogo library. Although this is not a great represention of learning in the classroom, it may accurately represent the learning of a single simple concept. Observe how long it takes for all student in a classroom to learn under the 5 network scenarios.
Errors to Avoid
Student and LA sliders are set to max based on the number of colored patches in the classroom. While this works most of the time, sometimes the interface does not update and can throw an error if there are no available seats for people. This error is common when switching from large preset classrooms to small preset classrooms, so remember to double check the sliders.
Interaction rules are currently in development. "Move-la" is present to test the corresponding procedure. However, slow down the tick count to see LAs move to students who have their hands raised.
THINGS TO TRY
Slow down the tick speed to watch LAs move around the classroom. Student turn black when they have a question and raise their hand. After the LA had reached them and is done, they will put their hand down and turn white. While there is a high probibility that a student will have learned from that interaction, this does not necessarily mean that a student will and it is possible for them to raise their hands multiple times.
Try messing around with different classroom occupancy levels by adjusting the number of students. Occupancy will impact the formation of geometric networks.
Try messing around with different interaction rules. See what happens if all three are aligned at differnt values. Also see what happens if there are strong preferences for just one variable in either direction.
EXTENDING THE MODEL
Identify a more realistic proxy for learning. This should be grounded in educational theory. With a better proxy, results could be validated against distrubutions of grades or concept inventory scores. If multiple proxies were developed, these educational theories could be directly comapred aginst eachother.
Consider making additional example classrooms. What do instructors incounter and how might the layout impact learning? To save your own, simply right-click and export your view as a .png.
Consider the variation in activity types during a class period. Are instructors lecturing the entire time (probably yes)? It also isn't realistic for 100% of activities to be active learning. Play around with the activity rules of a classroom by systematically turning some on and off. Also think about how order may impact learning
Think about how these social networks might form. See the team assembly model in the social science folder of the model library for potential code ideas.
Give students additional properties that influence how they learn/interact in group activities (e.g. leader vs passive observer).
Give LAs and Instructors varying "abilities" to teach or interact with students
Develop a more spatially realistic movement procedure (i.e. only move on asile patches). Doing so would allow the user to test impacts of spatial arrangement of LAs in a classroom.
Identify redundancies in code and develop specific procedures to address them from an efficency standpoint
NETLOGO FEATURES
Files for import must be located in the same directory/folder as the model.
Make sure that the network extension is installed.
RELATED MODELS
Mouse Example - This is where the ability to draw classrooms came from
Image Import Example - This is how we are able to import premade classrooms.
CREDITS AND REFERENCES
If you mention this model or the NetLogo software in a publication, we ask that you include the citations below.
Model:
McDevitt, A.L. (2017). NetLogo Classroom Model with Learning Assistants. Department of Integrative and Systems Biology, University of Colorado Denver, Denver, CO.
Shout-out to Kevin Hoover for help with the initial network construction.
NetLogo:
Wilensky, U. (1999). NetLogo. http://ccl.northwestern.edu/netlogo/. Center for Connected Learning and Computer-Based Modeling, Northwestern University, Evanston, IL.
References:
Bonwell, C. C., & Eison, J. A. (1991). Active learning: Creating excitement in the classroom (ASHE–ERIC Higher Education Rep. No. 1). Washington, DC: The George Washington University, School of Education and Human Development.
Comments and Questions
extensions [nw] globals [] breed [Students Student] breed [LAs LA] breed [Instructors Instructor] Students-own [seated? learned-geom-la learned-geom learned-errn learned-ws learned-lect raised-hand?] LAs-own [moving? teaching? LA-teach-abiliy LA-hand-seek] Instructors-own [moving? teaching? I-teach-ability I-hand-seek] patches-own [available?] undirected-link-breed [geomets geomet] undirected-link-breed [randos rando] undirected-link-breed[socials social] to setup ;Primary setup procedure. Creates turtles and assigns them to available seats clear-turtles clear-links let student-patches patches with [pcolor = red ] let la-patches patches with [pcolor = green ] ask la-patches [set available? true] let inst-patches patches with [pcolor = blue ] ask inst-patches [set available? true ] Geom n-Students stu-radius ER-RN p-errn WS k-ws p-ws create-LAs n-learning_assistants [ setxy random-xcor random-ycor set shape "person graduate" set color blue set teaching? false set LA-hand-seek one-of Students with [raised-hand? = TRUE] ] ;Move LAs to unoccupied green patch ask LAs with [not teaching?][ move-to one-of la-patches with [available?] set available? false ] ;Prep green pataches for LA return ask la-patches [set available? true] create-Instructors 1 [ setxy random-xcor random-ycor set shape "person doctor" set color black set teaching? false ] ask Instructors with [not teaching?][ move-to one-of inst-patches with [available?] set available? false ] reset-ticks end to go ;Primary go procedure. Has students "learn" and then stops when all student networks have "learned" ;; stop the model if no one is left to learn if (not any? Students with [not (learned-geom and learned-errn and learned-ws and learned-lect and learned-geom-la)])[ reset-learning ;Move LAs to unoccupied green patch let la-patches patches with [pcolor = green ] ask LAs with [not teaching?][ to-la-patch ] stop ] ;; ask the turtles to learn or not learn randomly ask Students with [not learned-geom] [ learn-geom ] ask Students with [not learned-errn] [ learn-errn ] ask Students with [not learned-ws] [ learn-ws ] ask Students with [not learned-lect] [ learn-lect ] ask Students with [not learned-geom-la] [ learn-geom-la ] move-la tick end ;;Procedures listed alphabetically to-report classroom ;Select png file (need to be located in same directroy as model) if classroom-type = "GB_Lab" [report "24_lab.png"] if classroom-type = "30_Lecture" [report "30_lecture.png"] if classroom-type = "240_Lecture" [report "240_lecture.png"] if classroom-type = "450_Lecture" [report "450_lecture.png"] ;to add more, draw new classroom setup and right-click to export view as .png. Save in same directory as model end to ER-RN [p] ;Sets up Erdős–Rényi Random Network links ask Students [ ask other Students with [who < [who] of myself] [ if random-float 1 < p [ create-rando-with myself [set color red] ] ] ] end to Geom [N r] ;Creates students and sets up geometric network links let student-patches patches with [pcolor = red ] ask student-patches [ set available? true ] create-Students N [ setxy random-pycor random-pxcor set shape "person student" set color white set size 1 set seated? false set raised-hand? false ] ask Students with [not seated?][ move-to one-of student-patches with [available?] set available? false set seated? true ] ask Students [ create-geomets-with other Students in-radius r [set color green ] ] end to import-classroom ;Import classroom button on interface import-pcolors classroom end to learn-errn ;Specifies how students learn in a random network ;;learning based on instructor if random-float 1 < self-learn [ set learned-errn true ] ;;learning based on peer interaction let neighbors-learned link-neighbors with [learned-geom] let total-neighbors link-neighbors if count total-neighbors > 0 [ if not learned-errn and random-float 1 < ( social-influence * (count neighbors-learned / count total-neighbors))[ set learned-errn true ] ] end to learn-geom ;Specifies how students learn in a geometiric network ;;learning by self if random-float 1 < self-learn [ set learned-geom true ] ;;learning based on peer interaction let neighbors-learned link-neighbors with [learned-geom] let total-neighbors link-neighbors if count total-neighbors > 0 [ if not learned-geom and random-float 1 < ( social-influence * (count neighbors-learned / count total-neighbors))[ set learned-geom true ] ] end to learn-geom-la ;Specifies how students learn in a geometiric network ;;learning by self ;Consider turning into own procedure since a derivitive of this is used multiple times if random-float 1 < self-learn [ set learned-geom-la true ] ;;learning based on peer interaction ;Consider turning into own procedure since a derivitive of this is used multiple times let neighbors-learned link-neighbors with [learned-geom-la] let total-neighbors link-neighbors if count total-neighbors > 0 [ if not learned-geom-la and random-float 1 < ( social-influence * (count neighbors-learned / count total-neighbors))[ set learned-geom-la true ] ] end to learn-lect ;Specifies how students learn if there was just lecture and no other interactions ;;learning based on instructor if random-float 1 < self-learn [ set learned-lect true ] end to learn-ws ;Specifies how students learn in a small world network ;;learning based on instructor if random-float 1 < self-learn [ set learned-ws true ] ;;learning based on peer interaction let neighbors-learned link-neighbors with [learned-ws] let total-neighbors link-neighbors if count total-neighbors > 0 [ if not learned-ws and random-float 1 < ( social-influence * (count neighbors-learned / count total-neighbors))[ set learned-ws true ] ] end to move-la ;Prompts LAs to move around class and allows students to learn under learn-geom-la scenario ;students raise hands ask Students with [learned-geom-la = FALSE] [if random-exponential 10 < 1 [set raised-hand? true set color black]] ;Count number of students with hand raised ask LAs [ifelse count Students with [raised-hand? = TRUE] >= 1 [ ask LAs with [not teaching?][ ask patch-here [if pcolor = green [set available? TRUE]] ifelse count Students with [raised-hand? = TRUE] >= 1 [move-to one-of Students with [raised-hand? = TRUE]][to-la-patch] set teaching? TRUE ask students in-radius 1 [ set raised-hand? FALSE set color white if random-float 1 < la-teach-ability [set learned-geom-la true]]]] [to-la-patch]] ; ask Students with [patch-here [pcolor = yellow]][set raised-hand?= FALSE] tick-advance random la-tick ask LAs with [teaching?][ set teaching? FALSE ] end to-report patch-colour ;Dropdown menu for classroom elements if classroom-element = "Seat" [report red] if classroom-element = "Aisle" [report white] if classroom-element = "Podium" [report blue] if classroom-element = "LA-seat" [report green] if classroom-element = "Erase" [report black] report red end to patch-draw ;Draw classroom button on interface if mouse-down? ;; reports true or false to indicate whether mouse button is down [ ;; mouse-xcor and mouse-ycor report the position of the mouse -- ;; note that they report the precise position of the mouse, ;; so you might get a decimal number like 12.3, but "patch" ;; automatically rounds to the nearest patch ask patch mouse-xcor mouse-ycor [ set pcolor patch-colour display ] ] end to reset-learning ;Resets student-owned learning variables ask Students [ set learned-geom false set learned-errn false set learned-ws false set learned-lect false set learned-geom-la false ] ask links [ if hide-social-networks [ hide-link ] if not hide-social-networks [ show-link ] ] end to rewire [p] ;;Part of WS setup ask socials [ let rewired? false if (random-float 1) < p [ ;; "a" remains the same let Student1 end1 ;; if "a" is not connected to everybody if [ count link-neighbors ] of Student1 < (count Students - 1) [ ;; find a node distinct from node1 and not already a neighbor of node1 let Student2 one-of Students with [ (self != Student1) and (not link-neighbor? Student1) ] ;; wire the new edge ask Student1 [ create-social-with Student2 [ set rewired? true ] ] ] ] ;; remove the old edge if (rewired?) [ die ] ] end to to-la-patch ;Causes LAs to move to available LA seats let la-patches patches with [pcolor = green] move-to one-of la-patches with [available?] end to WS [k p] ;;Sets up Watts Strograth small world network links let lis (n-values (K / 2) [ [i] -> i + 1 ]) ask Students [ let w who foreach lis [ [i] -> create-social-with (Student ((w + i) mod count Students)) ] ] rewire p ask socials [set color blue] end ;ALTERNATIVE MOVEMENT PROCEDURES ;to walk-towards-hand ; face best-way-to LA-hand-seek ; fd 1 ;end ;to-report best-way-to [destination] ;; of all the visible route patches, select the ones ;; that would take me closer to my destination ; let visible-patches patches with [ pcolor = white ] in-radius 20 ; let visible-routes visible-patches with [ pcolor = white ] ; let routes-that-take-me-closer visible-routes with [ ; distance destination < [ distance destination - 1 ] of myself ; ] ; ; ifelse any? routes-that-take-me-closer [ ;; from those route patches, choose the one that is the closest to me ; report min-one-of routes-that-take-me-closer [ distance self ] ; ] [ ;; if there are no nearby routes to my destination ; report destination ; ] ;end ;LOST AND BROKEN PROCEDURES ;to la-interact ; ask LAs with [not teaching?][ ; face one-of patches with [raised-hand? = true and pcolor = red] ; fd 1 ; ] ;end ;to la-teach ; ask LAs move-to one-of Students with [raised-hand? = TRUE][tick] ;end ;to move-las ; ask Students [if random-exponential 10 < 1 [set raised-hand? true set color black]] ; ask LAs with [not teaching?][ ;face one-of patches with [pcolor = white] ; ifelse patch-here = LA-hand-seek [ ; ifelse count Students with [raised-hand? = TRUE] >= 1 [ ; set LA-hand-seek one-of patch-set Students with [raised-hand? = TRUE] ; ] ; [ ; set LA-hand-seek one-of patch-set Students with [raised-hand? = TRUE] ; ] ; ] [ ; move-to LA-hand-seek ; ] ; ] ;tick ;end ; to en ; face one-of patches with [pcolor = white] ; ifelse patch-here = LA-hand-seek [ ; ifelse count Students with [raised-hand? = TRUE] >= 1 [ ; set LA-hand-seek one-of Students with [raised-hand? = TRUE] ; ] [ ; set LA-hand-seek one-of Students with [raised-hand? = TRUE] ;; ] ; ] [ ; walk-towards-hand ; ] ; ; ;end
There is only one version of this model, created over 8 years ago by Andrew McDevitt.
Attached files
File | Type | Description | Last updated | |
---|---|---|---|---|
240_lecture.png | png | 240 person lecture room | over 8 years ago, by Andrew McDevitt | Download |
24_lab.png | png | 24 person lab room | over 8 years ago, by Andrew McDevitt | Download |
30_lecture.png | png | 30 person lecture room | over 8 years ago, by Andrew McDevitt | Download |
450_lecture.png | png | 450 person lecture room | over 8 years ago, by Andrew McDevitt | Download |
Classroom Model with Learning Assistants.png | preview | Preview for 'Classroom Model with Learning Assistants' | over 8 years ago, by Andrew McDevitt | Download |
This model does not have any ancestors.
This model does not have any descendants.