a remoocableexperience: teachingcomputernetworkingto … … · my"mooc:""...

13
A ReMOOCable Experience: Teaching Computer Networking to the Masses Nick Feamster Georgia Tech CoConspirators: Vrushali Moghe (Course Designer), Muhammad Shahbaz (TA)

Upload: others

Post on 06-Aug-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: A ReMOOCableExperience: TeachingComputerNetworkingto … … · My"MOOC:"" SoJware"Defined"Networking" • Extremely"hot,"new"topic" – No"exisLng"“real"world”"courses"on"the"

A  ReMOOCable  Experience:    Teaching  Computer  Networking  to  

the  Masses  Nick  Feamster  Georgia  Tech  

Co-­‐Conspirators:  Vrushali  Moghe  (Course  Designer),    

Muhammad  Shahbaz  (TA)  

Page 2: A ReMOOCableExperience: TeachingComputerNetworkingto … … · My"MOOC:"" SoJware"Defined"Networking" • Extremely"hot,"new"topic" – No"exisLng"“real"world”"courses"on"the"

My  MOOC:    SoJware  Defined  Networking  

•  Extremely  hot,  new  topic  –  No  exisLng  “real  world”  courses  on  the  topic  (yet)  

–  A  chance  to  develop  an  archetype  course  (and  material)  that  others  might  use  in  their  own  courses  

–  I  wanted  to  be  copied.    This  seemed  like  a  good  way.  

•  BouLque  topic  means  that  there  were  no  “set  in  stone”  ways  of  teaching  the  course  –  Easier  to  think  outside  the  box,  since  there  was  no  exisLng  material  anywhere  

hUp://blog.sflow.com/2012/05/soJware-­‐defined-­‐networking.html  

Page 3: A ReMOOCableExperience: TeachingComputerNetworkingto … … · My"MOOC:"" SoJware"Defined"Networking" • Extremely"hot,"new"topic" – No"exisLng"“real"world”"courses"on"the"
Page 4: A ReMOOCableExperience: TeachingComputerNetworkingto … … · My"MOOC:"" SoJware"Defined"Networking" • Extremely"hot,"new"topic" – No"exisLng"“real"world”"courses"on"the"
Page 5: A ReMOOCableExperience: TeachingComputerNetworkingto … … · My"MOOC:"" SoJware"Defined"Networking" • Extremely"hot,"new"topic" – No"exisLng"“real"world”"courses"on"the"

What  the  Instructor  Sees  

Page 6: A ReMOOCableExperience: TeachingComputerNetworkingto … … · My"MOOC:"" SoJware"Defined"Networking" • Extremely"hot,"new"topic" – No"exisLng"“real"world”"courses"on"the"

How  Was  the  Course  Developed?  •  Course  lesson  plan,  with  learning  objecLves  •  Top  down  design:    – Figure  out  modules,  conLnue  subdividing  unLl  you  get  10-­‐minute  “lectures”  

•  Produc'on  – Lecture  Filming  and  Produc'on  – Assignments  – Syllabus  

•  OperaLon  – Forums  

Page 7: A ReMOOCableExperience: TeachingComputerNetworkingto … … · My"MOOC:"" SoJware"Defined"Networking" • Extremely"hot,"new"topic" – No"exisLng"“real"world”"courses"on"the"

Filming:  Camtasia  

•  Studio  people  will  claim  that  quality  suffers.  •  I  believe  this  is  bogus,  for  several  reasons.  –  People  can  take  their  Lme  recording,  take  breaks,  record  when  they  are  “in  the  zone”.  

–  Screen  captures  from  a  laptop  are  easy.  –  Recording  quality  from  a  good  laptop  is  quite  fine.  –  Nobody  has  ever  complained  about  the  quality  of  the  recordings.    Content  is  what  ma8ers  most.  

•  Takes  a  liUle  gebng  used  to  at  first  (looking  at  the  camera,  etc.)  

•  You  have  to  do  your  own  ediLng.  

Page 8: A ReMOOCableExperience: TeachingComputerNetworkingto … … · My"MOOC:"" SoJware"Defined"Networking" • Extremely"hot,"new"topic" – No"exisLng"“real"world”"courses"on"the"

Lectures:  On  Screen  DemonstraLons  

•  Camtasia:  on-­‐screen  demonstraLon  simple  •  Walkthrough  on  slides  +  on-­‐screen  demo  

Page 9: A ReMOOCableExperience: TeachingComputerNetworkingto … … · My"MOOC:"" SoJware"Defined"Networking" • Extremely"hot,"new"topic" – No"exisLng"“real"world”"courses"on"the"

Examples  of  Things  Shown  in  DemonstraLon  

•  Mininet  and  VM  setup  •  Mininet  API  •  Simple  Pox  applicaLon  •  PyreLc  applicaLons  •  KineLc  examples  and  applicaLons  

Page 10: A ReMOOCableExperience: TeachingComputerNetworkingto … … · My"MOOC:"" SoJware"Defined"Networking" • Extremely"hot,"new"topic" – No"exisLng"“real"world”"courses"on"the"

Assignments:  Mininet  

•  7  full  assignments,  almost  all  in  Mininet  – Mininet  Python  API  – Simple  controller  applicaLons  (firewall,  switch)  – VirtualizaLon  (simple  slicing  in  Pox)  – Programming  abstracLons  (PyreLc)  – VerificaLon  (KineLc)  – Use  cases  (SDX)  

•  Grading  is  automated  

Page 11: A ReMOOCableExperience: TeachingComputerNetworkingto … … · My"MOOC:"" SoJware"Defined"Networking" • Extremely"hot,"new"topic" – No"exisLng"“real"world”"courses"on"the"

Why  Assignments  Can  Scale  •  First  of  all,  you  do  your  best  to  work  

out  the  bugs,  mostly  out  of  fear  J  –  We  aUempted  everything  that  

we  assigned,  someLmes  on  mulLple  plajorms  

•  More  importantly:  Self-­‐selec'on!  –  Everyone  doing  the  assignments  

wants  to  be  there  –  This  makes  a  huge  difference  –  People  not  only  fix  issues  

themselves,  they  rewrite  documenta'on  

•  Caveat:  Course  difficulLes  vs.  plajorm  difficulLes  are  currently  hard  to  tease  apart.    Some  of  this  is  “user  error”.  

A  student’s  blog  post  describing  part  of  the  assignment  setup  in  detail…  

Page 12: A ReMOOCableExperience: TeachingComputerNetworkingto … … · My"MOOC:"" SoJware"Defined"Networking" • Extremely"hot,"new"topic" – No"exisLng"“real"world”"courses"on"the"

Some  Surprises  

•  The  plajorm  is  “bare  bones”  – Wiki-­‐style  ediLng  is  not  full-­‐featured  (e.g.,  no  double-­‐indented  lists)  

–  Regular  expression  matching  does  not  work  well  –  Responses  almost  always  are  “DIY”  – UI  is  horrible…  perhaps  a  good  HCI  project?  J  

•  Copyright  consideraLons  appear  to  be  different  from  normal  classroom  use  (“fair  use”  may  not  apply)  –  People  are  making  this  up  as  they  go  along  

Page 13: A ReMOOCableExperience: TeachingComputerNetworkingto … … · My"MOOC:"" SoJware"Defined"Networking" • Extremely"hot,"new"topic" – No"exisLng"“real"world”"courses"on"the"

Conclusions  

•  Mininet  can  scale  to  very  large  classes  •  Auto-­‐grading  is  criLcal  at  scale  •  Some  issues  (performance  of  end  hosts),  but  overall  works  preUy  well  

•  Most  issues  arise  when  people  do  not  use  the  course  VM  

•  On-­‐screen  demonstraLons  are  useful  and  highly  watched