Classroom Model with Learning Assistants

Classroom Model with Learning Assistants preview image

1 collaborator

Default-person Andrew McDevitt (Author)

Tags

education 

"Instructors can model their classroom environments"

Tagged by Andrew McDevitt over 7 years ago

students 

"Students learn in the context of a classroom"

Tagged by Andrew McDevitt over 7 years ago

Visible to everyone | Changeable by everyone
Model was written in NetLogo 6.0 • Viewed 702 times • Downloaded 37 times • Run 0 times
Download the 'Classroom Model with Learning Assistants' modelDownload this modelEmbed this model

Do you have questions or comments about this model? Ask them here! (You'll first need to log in.)


Info tab cannot be displayed because of an encoding error

Comments and Questions

Please start the discussion about this model! (You'll first need to log in.)

Click to Run Model

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 7 years ago by Andrew McDevitt.

Attached files

File Type Description Last updated
240_lecture.png png 240 person lecture room over 7 years ago, by Andrew McDevitt Download
24_lab.png png 24 person lab room over 7 years ago, by Andrew McDevitt Download
30_lecture.png png 30 person lecture room over 7 years ago, by Andrew McDevitt Download
450_lecture.png png 450 person lecture room over 7 years ago, by Andrew McDevitt Download
Classroom Model with Learning Assistants.png preview Preview for 'Classroom Model with Learning Assistants' over 7 years ago, by Andrew McDevitt Download

This model does not have any ancestors.

This model does not have any descendants.