SlideShare uma empresa Scribd logo
1 de 38
Baixar para ler offline
An	
  e-­‐learning	
  pla,orm	
  for	
  Data	
  Analysis	
  	
  
based	
  on	
  R	
  
	
  
Jonathan	
  Cornelissen,	
  Dieter	
  De	
  Mesmaeker,	
  Albert	
  Jorissen,	
  Mar5jn	
  Theuwissen	
  
	
  
	
  
24/5/2013,	
  RBelgium	
  meetup	
  FEB,	
  KU	
  Leuven	
  
Welcome!
1. 	
  MoIvaIon:	
  Why	
  e-­‐learning	
  with	
  and	
  for	
  R?	
  
2. 	
  Learner	
  experience	
  	
  
3. 	
  Technical	
  overview	
  
4. 	
  Course	
  creators	
  experience	
  on	
  DataMind	
  
5. 	
  Submission	
  Correctness	
  Tests	
  (examples)	
  
6. 	
  QuesIons	
  and	
  answers?	
  
Why	
  e-­‐learning	
  with	
  and	
  for	
  R?	
  
Need	
  for	
  scalable	
  tools	
  to	
  learn	
  	
  
R	
  and	
  Data	
  Analysis…	
  
Because of exponentially growing R user base	
  
More	
  than	
  2	
  million	
  R	
  users	
  growing	
  at	
  40-­‐60%	
  yearly	
  
Source:	
  hWp://r4stats.com/arIcles/popularity/	
  and	
  hWp://prezi.com/s1qrgfm9ko4i/the-­‐r-­‐ecosystem/	
  
Keyword Competition Global2Monthly2Searches
r"tutorial 0 6600
introduction"to"r 0 1600
online"statistics"course 0.98 1600
ggplot2"tutorial 0 880
statistics"course 0.85 880
an"introduction"to"r 0.01 880
r"book 0.06 590
learning"statistics 0.38 590
r"tutorials 0 590
r"introduction 0.01 480
statistics"courses 0.84 480
statistics"introduction 0.1 480
online"statistics"courses 0.99 320
r"course 0.04 260
r"training 0.17 260
free"online"statistics"course 0.56 260
statistics"training 0.62 210
online"statistics"class 0.98 170
statistics"class"online 0.98 140
data"analysis"tutorial 0.5 110
Analysis of r-project.org Analysis of Google keywords
Compare	
  to:	
  	
  
SAS	
  tutorial:	
   	
  4400	
  
Eviews	
  tutorial:	
   	
  390	
  
Stata	
  tutorial:	
   	
  1900	
  
Matlab	
  tutorial:	
   	
  22200	
  	
  
Hadoop	
  tutorial:	
  	
  	
  12100	
  
Source:	
  Analysis	
  based	
  on	
  	
  
h?p://cran.r-­‐project.org/report_cran.html	
  
Source:	
  Analysis	
  based	
  on	
  	
  
h?p://adwords.google.com/select/keywordtoolexternal	
  
That needs to learn the basics and the specifics of R	
  
•  Number	
  of	
  downloads	
  per	
  month	
  for:	
  
•  IntroducIon	
  to	
  R	
  pdfs:	
  140.000	
  
•  Summary	
  pdfs:	
  50.000	
  
•  Some	
  of	
  the	
  “top”	
  package:	
  
(reliability/stability	
  of	
  numbers	
  below?)	
  
kernlab.pdf	

 349,780	
  
party.pdf	

 167,396	
  
igraph.pdf	

 59,969	
  
VennDiagram.pdf	

 30,889	
  
mclust.pdf	

 19,347	
  
KnitR.pdf	

 10,697	
  
twitteR.pdf	

 7,507	
  
randomForest.pdf	

 6,824	
  
Ggplot2	

 5,924	
  
raster.pdf	

 5,326	
  
Source:	
  hWp://r4stats.com/arIcles/popularity/	
  	
  
6,275	
  R	
  packages	
  at	
  all	
  major	
  repositories,	
  4,315	
  of	
  which	
  were	
  at	
  CRAN	
  
Across	
  a	
  broad	
  spectrum	
  of	
  domains:	
  Financial	
  engineering,	
  biostaSsScs,	
  data	
  mining,	
  …	
  
	
  
	
  
Because of the exponentially growing functionality	
  
Why e-learning with and for R?	
  
•  Great	
  books,	
  tutorials,…	
  on	
  R	
  	
  
•  But	
  coding	
  is	
  learned	
  by	
  doing	
  	
  
•  No	
  online	
  learning	
  interface	
  for	
  R	
  
•  DocumentaIon	
  made	
  by	
  experts	
  for	
  experts,	
  
not	
  for	
  beginners	
  or	
  intermediate	
  users	
  
Learners : 
Students, Professionals, Researchers, Employees
Why e-learning with and for R?	
  
•  Great	
  books,	
  tutorials,…	
  on	
  R	
  	
  
•  But	
  coding	
  is	
  learned	
  by	
  doing	
  	
  
•  No	
  online	
  learning	
  interface	
  for	
  R	
  
•  DocumentaIon	
  made	
  by	
  experts	
  for	
  experts,	
  
not	
  for	
  beginners	
  or	
  intermediate	
  users	
  
Teachers :
Learners : 
•  Ofen	
  give	
  the	
  same	
  or	
  similar	
  feedback	
  to	
  
students	
  in	
  exercise	
  sessions	
  
•  Manually	
  correct	
  assignments	
  
•  StaIc	
  content	
  
•  Hard	
  to	
  get	
  feedback	
  
Students, Professionals, Researchers, Employees
Why e-learning with and for R?	
  
Data Analysis Professors, Consultants, Researchers, Book authors
InteracIve	
  training	
  
Learning	
  by	
  doing	
  
Two pillars of learning experience on DataMind	
  
In	
  a	
  compelling	
  way	
  
GamificaSon	
  
Benefits for students of learning R online
1.  Everything	
  in	
  one	
  place:	
  
Assignments,	
  sample	
  code,	
  R-­‐console,	
  …	
  	
  
	
  
2.  Lowering	
  the	
  barrier:	
  	
  
Start	
  right-­‐away	
  with	
  R,	
  no	
  installaIon,	
  version	
  problems,	
  ..	
  since	
  
R	
  	
  runs	
  in	
  the	
  background	
  on	
  our	
  servers	
  
3.  Automated	
  correcIon	
  and	
  feedback	
  through	
  Submission	
  
Correctness	
  Tests	
  (SCT)	
  
	
  
4.  More	
  fun	
  through	
  gamificaIon	
  of	
  the	
  learning	
  process	
  
LIVE	
  DEMO	
  
Surf	
  to	
  
hNp://beta.datamind.org	
  
Exercises versus Challenges
1.  Read	
  challenge	
  
2.  Type	
  code	
  to	
  solve	
  the	
  challenge	
  
3.  Get	
  result	
  on	
  certain	
  metric	
  
4.  Get	
  ranked	
  on	
  the	
  leaderboard	
  
5.  Possibility	
  to	
  improve	
  your	
  code	
  
6.  Learn	
  from	
  others’	
  soluIons	
  
1.  Read	
  exercise	
  descripIon	
  
2.  Read	
  instrucIons	
  
3.  Type	
  code	
  to	
  solve	
  the	
  Exercise	
  
4.  Get	
  personalized	
  feedback	
  on	
  
the	
  correctness	
  of	
  your	
  soluIon	
  
•  For	
  example:	
  
•  Forecast	
  R	
  usage	
  in	
  next	
  month	
  	
  
Metric	
  =	
  accuracy	
  of	
  forecast	
  
•  Find	
  most	
  efficient	
  way	
  to	
  calculate	
  
certain	
  parameter	
  of	
  a	
  model	
  
Metric	
  =	
  Sme	
  to	
  compute	
  
•  …	
  
Technical	
  overview	
  
DataMind	
  IT	
  architecture	
  
R	
  
Open-­‐source	
  
staIsIcal	
  language	
  
DataMind leverages state of the art open-source
frameworks in the cloud
•  Scaling	
  
•  Automated	
  
•  Affordable	
  
•  Scalable	
  
•  Plug	
  &	
  Play	
  
•  Easy	
  
R	
  serve	
  
Ruby	
  on	
  Rails	
  
High	
  producIvity	
  
web	
  applicaIon	
  
framework	
  
Node.js	
  
Pla,orm	
  for	
  real-­‐Ime	
  
scalable	
  network	
  
applicaIons	
  
R	
  
Open-­‐source	
  
staIsIcal	
  language	
  
DataMind leverages state of the art open-source
frameworks in the cloud
WebSockets	
  
AJAX	
  requests	
  
R	
  serve	
  
Ruby	
  on	
  Rails	
  
High	
  producIvity	
  
web	
  applicaIon	
  
framework	
  
Node.js	
  
Pla,orm	
  for	
  real-­‐Ime	
  
scalable	
  network	
  
applicaIons	
  
RESTful	
  	
  	
  API	
  
R	
  
Open-­‐source	
  
staIsIcal	
  language	
  
Angular.js	
  
MVC	
  JavaScript	
  framework	
  
for	
  single-­‐page	
  applicaIons,	
  
maintained	
  by	
  Google	
  
DataMind leverages state of the art open-source
frameworks in the cloud
Rserve: Communication with R
•  Package	
  of	
  Simon	
  Urbanek	
  
•  Manages	
  sessions	
  and	
  workspaces	
  
•  Binary	
  communicaIon	
  
•  Emulate	
  console	
  with	
  capture.output()	
  
•  Detect	
  incomplete	
  statements	
  with	
  parse()	
  
•  Catch	
  and	
  print	
  errors	
  
RAppArmor: Security
•  EvaluaIon	
  of	
  external	
  code	
  è	
  Huge	
  security	
  risk	
  
•  SoluIon:	
  
•  Limited	
  access	
  to	
  OS	
  
•  RAppArmor	
  
•  Package	
  of	
  Jeroen	
  Ooms	
  
•  R-­‐interface	
  to	
  OS	
  Security	
  
•  Limit	
  CPU,	
  Memory,	
  Spawned	
  processes	
  
Course creators experience on DataMind
Benefits for course creation
1.  Save	
  Time!	
  
1.  Automated	
  correcIon	
  of	
  student	
  exercises	
  
2.  Efficient	
  way	
  to	
  get	
  feedback	
  from	
  course	
  takers	
  
3.  Scalable	
  distribuIon	
  of	
  course	
  content	
  
2.  Visibility	
  for	
  your	
  package	
  /	
  courses	
  
3.  Insights	
  in	
  your	
  course	
  
4.  Per	
  student	
  tracking	
  
1.  Number	
  of	
  aWempts	
  per	
  exercise	
  
2.  Use	
  of	
  “hint”	
  and	
  “soluIon”	
  
3.  Time	
  to	
  complete	
  per	
  exercise	
  
5.  Possibility	
  to	
  use	
  courses/exercises	
  from	
  other	
  creators	
  
How to create courses
We want your feedback!
1.	
  Write	
  the	
  Assignment	
  
How to create courses
We want your feedback!
2.	
  Provide	
  instruc5ons	
  to	
  student	
  
How to create courses
We want your feedback!
3.	
  Provide	
  sample	
  code	
  to	
  help	
  
student	
  geZng	
  started	
  
How to create courses
We want your feedback!
4.	
  Pre-­‐exercise	
  code	
  is	
  run	
  in	
  the	
  
background	
  to	
  pre-­‐load	
  a	
  dataset,	
  
graphs,	
  etc.	
  
How to create courses
We want your feedback!
5.	
  Provide	
  sample	
  solu5on	
  
How to create courses
We want your feedback!
6.	
  Write	
  Submission	
  Correctness	
  
Test	
  wriNen	
  in	
  R	
  that	
  checks	
  the	
  
input	
  of	
  the	
  student	
  and	
  returns	
  
feedback	
  
Submission	
  Correctness	
  Tests	
  (examples)	
  
Submission Correctness Tests (SCT)
A	
  Submission	
  Correctness	
  Test	
  checks	
  the	
  input	
  from	
  a	
  student	
  and	
  returns	
  	
  
(i)	
  whether	
  the	
  student’s	
  input	
  was	
  correct	
  and	
  (ii)	
  feedback	
  to	
  student.	
  	
  
	
  
•  These	
  tests	
  are	
  wriWen	
  in	
  R	
  
•  Should	
  be	
  easy	
  for	
  a	
  course	
  creator	
  
-­‐>	
  	
  started	
  developing	
  an	
  R	
  package	
  DataMind	
  package	
  to	
  aid	
  course	
  
creators	
  to	
  write	
  simple	
  tests*	
  
*hWps://github.com/jonathancornelissen/DM	
  
"Mistakes	
  are	
  not	
  errors	
  but	
  parSally	
  correct	
  soluSons	
  with	
  underlying	
  logic."	
  
1.  Assignment	
  to	
  student:	
  	
  x	
  should	
  be	
  5	
  
	
  
2.  Student	
  types:	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  
x <- 4
3.  Submission	
  Correctness	
  Test:	
  
	
  
if( x == 5 ){
DM.result <- list(TRUE, “Well done, you genius!”)
}else{
DM.result <- list(FALSE, “Please assign 5 to x”)
}
4.  Output	
  to	
  student	
  
	
  
“Please assign 5 to x”	
  
Simple Submission Correctness Tests (SCT)
1.  Assignment	
  to	
  student:	
  	
  x	
  should	
  be	
  5	
  
	
  
2.  Student	
  types:	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  
x <- 5
3.  Submission	
  Correctness	
  Test:	
  
	
  
if( x == 5 ){
DM.result <- list(TRUE, “Well done, you genius!”)
}else{
DM.result <- list(FALSE, “Please assign 5 to x”)
}
4.  Output	
  to	
  student	
  
	
  
“Well done, you genius!”	
  
Simple Submission Correctness Tests (SCT)
•  Everything	
  in	
  the	
  student’s	
  workspace	
  
•  DM.user.code	
  	
  
all	
  code	
  wri?en	
  by	
  student	
  
•  DM.console.output	
  	
  
everything	
  printed	
  to	
  user	
  console	
  
•  DM.errors	
  	
  
errors	
  generated	
  when	
  running	
  students	
  code	
  
INPUT	
  
Automated exercise correction with SCT
Assignment	
  to	
  the	
  student:	
  
Print	
  a	
  matrix	
  with	
  3	
  rows	
  containing	
  the	
  
numbers	
  1	
  up	
  to	
  9	
  
	
  
If	
  Student	
  does	
  this	
  correctly	
  then:	
  
DM.console.ouput	
  contains	
  
	
  
	
  
	
  
	
  
	
  	
  	
  	
  	
  	
  	
  [,1]	
  [,2]	
  [,3]	
  
[1,]	
  	
  	
  	
  1	
  	
  	
  	
  2	
  	
  	
  	
  3	
  
[2,]	
  	
  	
  	
  4	
  	
  	
  	
  5	
  	
  	
  	
  6	
  
[3,]	
  	
  	
  	
  7	
  	
  	
  	
  8	
  	
  	
  	
  9	
  
•  Everything	
  in	
  the	
  student’s	
  workspace	
  
•  DM.user.code	
  	
  
all	
  code	
  wri?en	
  by	
  student	
  
•  DM.console.output	
  	
  
everything	
  printed	
  to	
  user	
  console	
  
•  DM.errors	
  	
  
errors	
  generated	
  when	
  running	
  students	
  code	
  
INPUT	
  
Automated exercise correction with SCT
Submission	
  Correctness	
  Test	
  wriNen	
  by	
  course	
  
creator	
  (poten5ally	
  using	
  DM	
  package)	
  
Assignment	
  to	
  the	
  student:	
  
Print	
  a	
  matrix	
  with	
  3	
  rows	
  containing	
  the	
  
numbers	
  1	
  up	
  to	
  9	
  
	
  
If	
  Student	
  does	
  this	
  correctly	
  then:	
  
DM.console.ouput	
  contains	
  
	
  
	
  
	
  
	
  
	
  	
  	
  	
  	
  	
  	
  [,1]	
  [,2]	
  [,3]	
  
[1,]	
  	
  	
  	
  1	
  	
  	
  	
  2	
  	
  	
  	
  3	
  
[2,]	
  	
  	
  	
  4	
  	
  	
  	
  5	
  	
  	
  	
  6	
  
[3,]	
  	
  	
  	
  7	
  	
  	
  	
  8	
  	
  	
  	
  9	
  
DM.result <-
DM.outputContains("matrix(1:9,
byrow=TRUE, nrow=3)”)
•  Everything	
  in	
  the	
  student’s	
  workspace	
  
•  DM.user.code	
  	
  
all	
  code	
  wri?en	
  by	
  student	
  
•  DM.console.output	
  	
  
everything	
  printed	
  to	
  user	
  console	
  
•  DM.errors	
  	
  
errors	
  generated	
  when	
  running	
  students	
  code	
  
INPUT	
  
Automated exercise correction with SCT
Submission	
  Correctness	
  Test	
  wriNen	
  by	
  course	
  
creator	
  (poten5ally	
  using	
  DM	
  package)	
  
	
  
	
  
	
  
	
  
•  Assigned	
  to	
  variable	
  DM.result	
  
•  List	
  with	
  two	
  elements	
  
1.  TRUE	
  /	
  FALSE	
  
2.  Message	
  to	
  provide	
  to	
  student	
  with	
  
feedback	
  
OUTPUT	
  
Assignment	
  to	
  the	
  student:	
  
Print	
  a	
  matrix	
  with	
  3	
  rows	
  containing	
  the	
  
numbers	
  1	
  up	
  to	
  9	
  
	
  
If	
  Student	
  does	
  this	
  correctly	
  then:	
  
DM.console.ouput	
  contains	
  
	
  
	
  
	
  
	
  
	
  	
  	
  	
  	
  	
  	
  [,1]	
  [,2]	
  [,3]	
  
[1,]	
  	
  	
  	
  1	
  	
  	
  	
  2	
  	
  	
  	
  3	
  
[2,]	
  	
  	
  	
  4	
  	
  	
  	
  5	
  	
  	
  	
  6	
  
[3,]	
  	
  	
  	
  7	
  	
  	
  	
  8	
  	
  	
  	
  9	
  
DM.result <-
DM.outputContains("matrix(1:9,
byrow=TRUE, nrow=3)”)
DM.	
  result	
  is	
  shown	
  to	
  student	
  
SCT enable wide variety of options
•  Has	
  the	
  student	
  esImated	
  a	
  certain	
  model	
  correctly?	
  
•  Generated	
  a	
  transformed	
  Ime	
  series	
  that	
  fulfills	
  certain	
  
condiIons?	
  
•  Generated	
  a	
  certain	
  type	
  of	
  graph	
  ?	
  
•  Forecasted	
  a	
  metric	
  of	
  interest	
  within	
  certain	
  bounds?	
  
•  …	
  
Albert Jorissen
Martijn Theuwissen
Dieter De Mesmaeker
Jonathan Cornelissen
Want to help us to build a community !
for learning and teaching R online?

Contact us!!
Jonathan@datamind.org
Dieter@datamind.org
Albert@datamind.org
Martijn@datamind.org
Q&A	
  QuesIons	
  and	
  Answers	
  
Filled out by 286 Academics,	
  professionals	
  and	
  students	
  from	
  around	
  the	
  globe.
Majority	
  of	
  respondents	
  interested	
  in	
  
free	
  interacIve	
  courses
Most	
  package	
  authors	
  willing	
  to	
  create	
  	
  
free	
  interacIve	
  tutorials
Full	
  data	
  set	
  of	
  the	
  survey	
  and	
  discussion	
  of	
  results	
  at	
  www.datamind.org/survey	
  
Survey on R and education to verify interest
of community	
  

Mais conteúdo relacionado

Mais procurados

ICSE2013
ICSE2013ICSE2013
ICSE2013swy351
 
Understanding Log Lines using Development Knowledge
Understanding Log Lines using Development KnowledgeUnderstanding Log Lines using Development Knowledge
Understanding Log Lines using Development KnowledgeSAIL_QU
 
Finding Help with Programming Errors: An Exploratory Study of Novice Software...
Finding Help with Programming Errors: An Exploratory Study of Novice Software...Finding Help with Programming Errors: An Exploratory Study of Novice Software...
Finding Help with Programming Errors: An Exploratory Study of Novice Software...Preetha Chatterjee
 
Extracting Archival-Quality Information from Software-Related Chats
Extracting Archival-Quality Information from Software-Related ChatsExtracting Archival-Quality Information from Software-Related Chats
Extracting Archival-Quality Information from Software-Related ChatsPreetha Chatterjee
 

Mais procurados (7)

ICSE2013
ICSE2013ICSE2013
ICSE2013
 
Illustrated Code (ASE 2021)
Illustrated Code (ASE 2021)Illustrated Code (ASE 2021)
Illustrated Code (ASE 2021)
 
Understanding Log Lines using Development Knowledge
Understanding Log Lines using Development KnowledgeUnderstanding Log Lines using Development Knowledge
Understanding Log Lines using Development Knowledge
 
Raising the Bar
Raising the BarRaising the Bar
Raising the Bar
 
Finding Help with Programming Errors: An Exploratory Study of Novice Software...
Finding Help with Programming Errors: An Exploratory Study of Novice Software...Finding Help with Programming Errors: An Exploratory Study of Novice Software...
Finding Help with Programming Errors: An Exploratory Study of Novice Software...
 
2014 toronto-torbug
2014 toronto-torbug2014 toronto-torbug
2014 toronto-torbug
 
Extracting Archival-Quality Information from Software-Related Chats
Extracting Archival-Quality Information from Software-Related ChatsExtracting Archival-Quality Information from Software-Related Chats
Extracting Archival-Quality Information from Software-Related Chats
 

Semelhante a DataMind: An e-learning platform for Data Analysis based on R. RBelgium meetup talk.

DataMind interactive learning: Dublin R User Group: September 2013
DataMind interactive learning: Dublin R User Group: September 2013DataMind interactive learning: Dublin R User Group: September 2013
DataMind interactive learning: Dublin R User Group: September 2013DataMind-slides
 
Software Analytics - Achievements and Challenges
Software Analytics - Achievements and ChallengesSoftware Analytics - Achievements and Challenges
Software Analytics - Achievements and ChallengesTao Xie
 
00 Fundamentals of csharp course introduction
00 Fundamentals of csharp course introduction00 Fundamentals of csharp course introduction
00 Fundamentals of csharp course introductionmaznabili
 
CIS 339 Entire Course NEW
CIS 339 Entire Course NEWCIS 339 Entire Course NEW
CIS 339 Entire Course NEWshyamuopuop
 
fINAL Lesson_1_Course_Introduction_v1.pptx
fINAL Lesson_1_Course_Introduction_v1.pptxfINAL Lesson_1_Course_Introduction_v1.pptx
fINAL Lesson_1_Course_Introduction_v1.pptxdataKarthik
 
Techmindz: Custom Corporate Learning Platform Services in Kochi
Techmindz: Custom Corporate Learning Platform Services in KochiTechmindz: Custom Corporate Learning Platform Services in Kochi
Techmindz: Custom Corporate Learning Platform Services in KochiTechmindz Kochi
 
Proof of Concept for Learning Analytics Interoperability
Proof of Concept for Learning Analytics InteroperabilityProof of Concept for Learning Analytics Interoperability
Proof of Concept for Learning Analytics InteroperabilityOpen Cyber University of Korea
 
Purdue-Data-Engineering (1).pdf
Purdue-Data-Engineering (1).pdfPurdue-Data-Engineering (1).pdf
Purdue-Data-Engineering (1).pdfSantoshMuduli1
 
The Semantic Knowledge Graph
The Semantic Knowledge GraphThe Semantic Knowledge Graph
The Semantic Knowledge GraphTrey Grainger
 
Cis 339 complete class i labs cis339
Cis 339 complete class i labs cis339Cis 339 complete class i labs cis339
Cis 339 complete class i labs cis339arnitaetsitty
 
Cis 339 complete class i labs cis339
Cis 339 complete class i labs cis339Cis 339 complete class i labs cis339
Cis 339 complete class i labs cis339arnitaetsitty
 
Software Analytics: Data Analytics for Software Engineering and Security
Software Analytics: Data Analytics for Software Engineering and SecuritySoftware Analytics: Data Analytics for Software Engineering and Security
Software Analytics: Data Analytics for Software Engineering and SecurityTao Xie
 
Software system design sample
Software system design sampleSoftware system design sample
Software system design sampleNorman K Ma
 

Semelhante a DataMind: An e-learning platform for Data Analysis based on R. RBelgium meetup talk. (20)

DataMind interactive learning: Dublin R User Group: September 2013
DataMind interactive learning: Dublin R User Group: September 2013DataMind interactive learning: Dublin R User Group: September 2013
DataMind interactive learning: Dublin R User Group: September 2013
 
Software Analytics - Achievements and Challenges
Software Analytics - Achievements and ChallengesSoftware Analytics - Achievements and Challenges
Software Analytics - Achievements and Challenges
 
01.intro
01.intro01.intro
01.intro
 
00 Fundamentals of csharp course introduction
00 Fundamentals of csharp course introduction00 Fundamentals of csharp course introduction
00 Fundamentals of csharp course introduction
 
LSESU a Taste of R Language Workshop
LSESU a Taste of R Language WorkshopLSESU a Taste of R Language Workshop
LSESU a Taste of R Language Workshop
 
Resume_Apoorva
Resume_ApoorvaResume_Apoorva
Resume_Apoorva
 
CIS 339 Entire Course NEW
CIS 339 Entire Course NEWCIS 339 Entire Course NEW
CIS 339 Entire Course NEW
 
fINAL Lesson_1_Course_Introduction_v1.pptx
fINAL Lesson_1_Course_Introduction_v1.pptxfINAL Lesson_1_Course_Introduction_v1.pptx
fINAL Lesson_1_Course_Introduction_v1.pptx
 
Techmindz: Custom Corporate Learning Platform Services in Kochi
Techmindz: Custom Corporate Learning Platform Services in KochiTechmindz: Custom Corporate Learning Platform Services in Kochi
Techmindz: Custom Corporate Learning Platform Services in Kochi
 
CYBRScore Course Catalog
CYBRScore Course CatalogCYBRScore Course Catalog
CYBRScore Course Catalog
 
Proof of Concept for Learning Analytics Interoperability
Proof of Concept for Learning Analytics InteroperabilityProof of Concept for Learning Analytics Interoperability
Proof of Concept for Learning Analytics Interoperability
 
Purdue-Data-Engineering (1).pdf
Purdue-Data-Engineering (1).pdfPurdue-Data-Engineering (1).pdf
Purdue-Data-Engineering (1).pdf
 
Nagacv
NagacvNagacv
Nagacv
 
R tutorial
R tutorialR tutorial
R tutorial
 
Nagacv
NagacvNagacv
Nagacv
 
The Semantic Knowledge Graph
The Semantic Knowledge GraphThe Semantic Knowledge Graph
The Semantic Knowledge Graph
 
Cis 339 complete class i labs cis339
Cis 339 complete class i labs cis339Cis 339 complete class i labs cis339
Cis 339 complete class i labs cis339
 
Cis 339 complete class i labs cis339
Cis 339 complete class i labs cis339Cis 339 complete class i labs cis339
Cis 339 complete class i labs cis339
 
Software Analytics: Data Analytics for Software Engineering and Security
Software Analytics: Data Analytics for Software Engineering and SecuritySoftware Analytics: Data Analytics for Software Engineering and Security
Software Analytics: Data Analytics for Software Engineering and Security
 
Software system design sample
Software system design sampleSoftware system design sample
Software system design sample
 

Último

04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 

Último (20)

04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 

DataMind: An e-learning platform for Data Analysis based on R. RBelgium meetup talk.

  • 1. An  e-­‐learning  pla,orm  for  Data  Analysis     based  on  R     Jonathan  Cornelissen,  Dieter  De  Mesmaeker,  Albert  Jorissen,  Mar5jn  Theuwissen       24/5/2013,  RBelgium  meetup  FEB,  KU  Leuven   Welcome!
  • 2. 1.   MoIvaIon:  Why  e-­‐learning  with  and  for  R?   2.   Learner  experience     3.   Technical  overview   4.   Course  creators  experience  on  DataMind   5.   Submission  Correctness  Tests  (examples)   6.   QuesIons  and  answers?  
  • 3. Why  e-­‐learning  with  and  for  R?   Need  for  scalable  tools  to  learn     R  and  Data  Analysis…  
  • 4. Because of exponentially growing R user base   More  than  2  million  R  users  growing  at  40-­‐60%  yearly   Source:  hWp://r4stats.com/arIcles/popularity/  and  hWp://prezi.com/s1qrgfm9ko4i/the-­‐r-­‐ecosystem/  
  • 5. Keyword Competition Global2Monthly2Searches r"tutorial 0 6600 introduction"to"r 0 1600 online"statistics"course 0.98 1600 ggplot2"tutorial 0 880 statistics"course 0.85 880 an"introduction"to"r 0.01 880 r"book 0.06 590 learning"statistics 0.38 590 r"tutorials 0 590 r"introduction 0.01 480 statistics"courses 0.84 480 statistics"introduction 0.1 480 online"statistics"courses 0.99 320 r"course 0.04 260 r"training 0.17 260 free"online"statistics"course 0.56 260 statistics"training 0.62 210 online"statistics"class 0.98 170 statistics"class"online 0.98 140 data"analysis"tutorial 0.5 110 Analysis of r-project.org Analysis of Google keywords Compare  to:     SAS  tutorial:    4400   Eviews  tutorial:    390   Stata  tutorial:    1900   Matlab  tutorial:    22200     Hadoop  tutorial:      12100   Source:  Analysis  based  on     h?p://cran.r-­‐project.org/report_cran.html   Source:  Analysis  based  on     h?p://adwords.google.com/select/keywordtoolexternal   That needs to learn the basics and the specifics of R   •  Number  of  downloads  per  month  for:   •  IntroducIon  to  R  pdfs:  140.000   •  Summary  pdfs:  50.000   •  Some  of  the  “top”  package:   (reliability/stability  of  numbers  below?)   kernlab.pdf 349,780   party.pdf 167,396   igraph.pdf 59,969   VennDiagram.pdf 30,889   mclust.pdf 19,347   KnitR.pdf 10,697   twitteR.pdf 7,507   randomForest.pdf 6,824   Ggplot2 5,924   raster.pdf 5,326  
  • 6. Source:  hWp://r4stats.com/arIcles/popularity/     6,275  R  packages  at  all  major  repositories,  4,315  of  which  were  at  CRAN   Across  a  broad  spectrum  of  domains:  Financial  engineering,  biostaSsScs,  data  mining,  …       Because of the exponentially growing functionality  
  • 7. Why e-learning with and for R?  
  • 8. •  Great  books,  tutorials,…  on  R     •  But  coding  is  learned  by  doing     •  No  online  learning  interface  for  R   •  DocumentaIon  made  by  experts  for  experts,   not  for  beginners  or  intermediate  users   Learners : Students, Professionals, Researchers, Employees Why e-learning with and for R?  
  • 9. •  Great  books,  tutorials,…  on  R     •  But  coding  is  learned  by  doing     •  No  online  learning  interface  for  R   •  DocumentaIon  made  by  experts  for  experts,   not  for  beginners  or  intermediate  users   Teachers : Learners : •  Ofen  give  the  same  or  similar  feedback  to   students  in  exercise  sessions   •  Manually  correct  assignments   •  StaIc  content   •  Hard  to  get  feedback   Students, Professionals, Researchers, Employees Why e-learning with and for R?   Data Analysis Professors, Consultants, Researchers, Book authors
  • 10. InteracIve  training   Learning  by  doing   Two pillars of learning experience on DataMind   In  a  compelling  way   GamificaSon  
  • 11. Benefits for students of learning R online 1.  Everything  in  one  place:   Assignments,  sample  code,  R-­‐console,  …       2.  Lowering  the  barrier:     Start  right-­‐away  with  R,  no  installaIon,  version  problems,  ..  since   R    runs  in  the  background  on  our  servers   3.  Automated  correcIon  and  feedback  through  Submission   Correctness  Tests  (SCT)     4.  More  fun  through  gamificaIon  of  the  learning  process  
  • 12. LIVE  DEMO   Surf  to   hNp://beta.datamind.org  
  • 13. Exercises versus Challenges 1.  Read  challenge   2.  Type  code  to  solve  the  challenge   3.  Get  result  on  certain  metric   4.  Get  ranked  on  the  leaderboard   5.  Possibility  to  improve  your  code   6.  Learn  from  others’  soluIons   1.  Read  exercise  descripIon   2.  Read  instrucIons   3.  Type  code  to  solve  the  Exercise   4.  Get  personalized  feedback  on   the  correctness  of  your  soluIon   •  For  example:   •  Forecast  R  usage  in  next  month     Metric  =  accuracy  of  forecast   •  Find  most  efficient  way  to  calculate   certain  parameter  of  a  model   Metric  =  Sme  to  compute   •  …  
  • 14. Technical  overview   DataMind  IT  architecture  
  • 15. R   Open-­‐source   staIsIcal  language   DataMind leverages state of the art open-source frameworks in the cloud •  Scaling   •  Automated   •  Affordable  
  • 16. •  Scalable   •  Plug  &  Play   •  Easy   R  serve   Ruby  on  Rails   High  producIvity   web  applicaIon   framework   Node.js   Pla,orm  for  real-­‐Ime   scalable  network   applicaIons   R   Open-­‐source   staIsIcal  language   DataMind leverages state of the art open-source frameworks in the cloud
  • 17. WebSockets   AJAX  requests   R  serve   Ruby  on  Rails   High  producIvity   web  applicaIon   framework   Node.js   Pla,orm  for  real-­‐Ime   scalable  network   applicaIons   RESTful      API   R   Open-­‐source   staIsIcal  language   Angular.js   MVC  JavaScript  framework   for  single-­‐page  applicaIons,   maintained  by  Google   DataMind leverages state of the art open-source frameworks in the cloud
  • 18. Rserve: Communication with R •  Package  of  Simon  Urbanek   •  Manages  sessions  and  workspaces   •  Binary  communicaIon   •  Emulate  console  with  capture.output()   •  Detect  incomplete  statements  with  parse()   •  Catch  and  print  errors  
  • 19. RAppArmor: Security •  EvaluaIon  of  external  code  è  Huge  security  risk   •  SoluIon:   •  Limited  access  to  OS   •  RAppArmor   •  Package  of  Jeroen  Ooms   •  R-­‐interface  to  OS  Security   •  Limit  CPU,  Memory,  Spawned  processes  
  • 21. Benefits for course creation 1.  Save  Time!   1.  Automated  correcIon  of  student  exercises   2.  Efficient  way  to  get  feedback  from  course  takers   3.  Scalable  distribuIon  of  course  content   2.  Visibility  for  your  package  /  courses   3.  Insights  in  your  course   4.  Per  student  tracking   1.  Number  of  aWempts  per  exercise   2.  Use  of  “hint”  and  “soluIon”   3.  Time  to  complete  per  exercise   5.  Possibility  to  use  courses/exercises  from  other  creators  
  • 22. How to create courses We want your feedback! 1.  Write  the  Assignment  
  • 23. How to create courses We want your feedback! 2.  Provide  instruc5ons  to  student  
  • 24. How to create courses We want your feedback! 3.  Provide  sample  code  to  help   student  geZng  started  
  • 25. How to create courses We want your feedback! 4.  Pre-­‐exercise  code  is  run  in  the   background  to  pre-­‐load  a  dataset,   graphs,  etc.  
  • 26. How to create courses We want your feedback! 5.  Provide  sample  solu5on  
  • 27. How to create courses We want your feedback! 6.  Write  Submission  Correctness   Test  wriNen  in  R  that  checks  the   input  of  the  student  and  returns   feedback  
  • 29. Submission Correctness Tests (SCT) A  Submission  Correctness  Test  checks  the  input  from  a  student  and  returns     (i)  whether  the  student’s  input  was  correct  and  (ii)  feedback  to  student.       •  These  tests  are  wriWen  in  R   •  Should  be  easy  for  a  course  creator   -­‐>    started  developing  an  R  package  DataMind  package  to  aid  course   creators  to  write  simple  tests*   *hWps://github.com/jonathancornelissen/DM   "Mistakes  are  not  errors  but  parSally  correct  soluSons  with  underlying  logic."  
  • 30. 1.  Assignment  to  student:    x  should  be  5     2.  Student  types:                                       x <- 4 3.  Submission  Correctness  Test:     if( x == 5 ){ DM.result <- list(TRUE, “Well done, you genius!”) }else{ DM.result <- list(FALSE, “Please assign 5 to x”) } 4.  Output  to  student     “Please assign 5 to x”   Simple Submission Correctness Tests (SCT)
  • 31. 1.  Assignment  to  student:    x  should  be  5     2.  Student  types:                                       x <- 5 3.  Submission  Correctness  Test:     if( x == 5 ){ DM.result <- list(TRUE, “Well done, you genius!”) }else{ DM.result <- list(FALSE, “Please assign 5 to x”) } 4.  Output  to  student     “Well done, you genius!”   Simple Submission Correctness Tests (SCT)
  • 32. •  Everything  in  the  student’s  workspace   •  DM.user.code     all  code  wri?en  by  student   •  DM.console.output     everything  printed  to  user  console   •  DM.errors     errors  generated  when  running  students  code   INPUT   Automated exercise correction with SCT Assignment  to  the  student:   Print  a  matrix  with  3  rows  containing  the   numbers  1  up  to  9     If  Student  does  this  correctly  then:   DM.console.ouput  contains                        [,1]  [,2]  [,3]   [1,]        1        2        3   [2,]        4        5        6   [3,]        7        8        9  
  • 33. •  Everything  in  the  student’s  workspace   •  DM.user.code     all  code  wri?en  by  student   •  DM.console.output     everything  printed  to  user  console   •  DM.errors     errors  generated  when  running  students  code   INPUT   Automated exercise correction with SCT Submission  Correctness  Test  wriNen  by  course   creator  (poten5ally  using  DM  package)   Assignment  to  the  student:   Print  a  matrix  with  3  rows  containing  the   numbers  1  up  to  9     If  Student  does  this  correctly  then:   DM.console.ouput  contains                        [,1]  [,2]  [,3]   [1,]        1        2        3   [2,]        4        5        6   [3,]        7        8        9   DM.result <- DM.outputContains("matrix(1:9, byrow=TRUE, nrow=3)”)
  • 34. •  Everything  in  the  student’s  workspace   •  DM.user.code     all  code  wri?en  by  student   •  DM.console.output     everything  printed  to  user  console   •  DM.errors     errors  generated  when  running  students  code   INPUT   Automated exercise correction with SCT Submission  Correctness  Test  wriNen  by  course   creator  (poten5ally  using  DM  package)           •  Assigned  to  variable  DM.result   •  List  with  two  elements   1.  TRUE  /  FALSE   2.  Message  to  provide  to  student  with   feedback   OUTPUT   Assignment  to  the  student:   Print  a  matrix  with  3  rows  containing  the   numbers  1  up  to  9     If  Student  does  this  correctly  then:   DM.console.ouput  contains                        [,1]  [,2]  [,3]   [1,]        1        2        3   [2,]        4        5        6   [3,]        7        8        9   DM.result <- DM.outputContains("matrix(1:9, byrow=TRUE, nrow=3)”) DM.  result  is  shown  to  student  
  • 35. SCT enable wide variety of options •  Has  the  student  esImated  a  certain  model  correctly?   •  Generated  a  transformed  Ime  series  that  fulfills  certain   condiIons?   •  Generated  a  certain  type  of  graph  ?   •  Forecasted  a  metric  of  interest  within  certain  bounds?   •  …  
  • 36. Albert Jorissen Martijn Theuwissen Dieter De Mesmaeker Jonathan Cornelissen Want to help us to build a community ! for learning and teaching R online?
 Contact us!! Jonathan@datamind.org Dieter@datamind.org Albert@datamind.org Martijn@datamind.org
  • 37. Q&A  QuesIons  and  Answers  
  • 38. Filled out by 286 Academics,  professionals  and  students  from  around  the  globe. Majority  of  respondents  interested  in   free  interacIve  courses Most  package  authors  willing  to  create     free  interacIve  tutorials Full  data  set  of  the  survey  and  discussion  of  results  at  www.datamind.org/survey   Survey on R and education to verify interest of community  

Notas do Editor

  1. University project, early stage, in heavy development, we are looking forward to your feedback....
  2. Bij punt 2: - Wijdoen promo + wijradengoeie lessen aanaan course takersBij punt 3: - What type of users?
  3. Bijpunt 2: - Wijdoen promo + wijradengoeie lessen aanaan course takersBijpunt 3: - What type of users?