learn to code for data analysis

17
Learn to Code for Data Analysis Michel Wermelinger, Tony Hirst, Rob Griffiths School of CompuBng & CommunicaBons The Open University

Upload: michel-wermelinger

Post on 22-Jan-2018

32 views

Category:

Software


4 download

TRANSCRIPT

Page 1: Learn to Code for Data Analysis

LearntoCodeforDataAnalysis

MichelWermelinger,TonyHirst,RobGriffiths

SchoolofCompuBng&CommunicaBonsTheOpenUniversity

Page 2: Learn to Code for Data Analysis

Course

•  FreeintroducBontocodinganddataanalysis– Codingforreproducibleresearch

•  FuturelearnMOOC:hIp://Bny.cc/lcda– 5+h/week,4weeks,inMay+Octeachyear

•  AlsoonOpenLearn:hIp://Bny.cc/lcda-ol– 24/7butnodiscussionforums,nosupport– usedbySpaceScienceMScmodule– materialsavailableunderCC-BY-NC-SAlicense

•  40minsessionbasedonweek1forYear10

Page 3: Learn to Code for Data Analysis

Learning

•  Mostlytext+somevideos•  InternaBonalopendata:WHO,WU,WB,UN.•  Weeklyproject:– StartwithresearchquesBons– Weanswerthem,introducingnecessaryconcepts–  Interleavereadinganddoingexercises– Endwithdataanalysisreport

•  Showandtell:sharereportonownregion

Page 4: Learn to Code for Data Analysis

FirstPrinciplesofInstrucBonProblem-centred:BasetheteachingandlearningoninteresBngandprogressivelymorecomplexreal-worldproblems.1.   Ac0va0on:HelpthelearnersacBvatepastexperience,informaBonor

mentalmodelsthatcanbeusedtoorganisethenewknowledge.2.   Demonstra0on:Showthelearnersthenewknowledge,e.g.through

workedexamples,preferablywithmulBpleviewpoints.3.   Applica0on:Givelearnersasequenceofvariedproblemsforthemto

applythenewknowledge.Providefeedbackanddiminishingguidance,e.g.onhowtocorrectmistakes.

4.   Integra0on:Encouragelearnerstodiscuss,reflecton,andpubliclydemonstratetheirnewknowledgeorskill,tointegrateitintotheirlives.

Moredetails:hIp://Bny.cc/fpoi

Page 5: Learn to Code for Data Analysis
Page 6: Learn to Code for Data Analysis

Technology

•  Python:easytolearn,usedinSTEMFaculty•  Pandas:R-likedataanalysislibrary•  Jupyternotebooksforexercisesandreports•  hIp://anaconda.com:computerapp–  freeforWindows,Mac,Linux

•  hIp://cocalc.com:freewebservice–  featurestodistribute,collect,gradeassignments

Page 7: Learn to Code for Data Analysis

Jupyternotebooks

•  texteditor/formaIer+codeeditor/interpreter–  freeprofessionalbuteasy-to-usesoaware–  datascienBstsuseforreproducibleresearch– weuseinunder-andpost-graduatecourses

•  text,code,andoutputs(tables,charts,...)–  handoutswithexamplesandexercises–  projectreports–  textinMarkdown,codeinPython,bothwidelyused

•  codeonelineataBme,withimmediatefeedback

Page 8: Learn to Code for Data Analysis

Jupyternotebooks

•  createandeditnotebooksinbrowser– studentscanaddownnotesandfixtyposquickly

•  publishread-onlyversion,e.g.Y10notebook– exporttoHTMLorPDFandsharefile– single-clickpublishinCoCalc – putnotebookfileonline,pasteURLinhIp://nbviewer.jupyter.org

– publishonGitHub(withversioncontrolforfree!)

Page 9: Learn to Code for Data Analysis
Page 10: Learn to Code for Data Analysis
Page 11: Learn to Code for Data Analysis

Problems

•  Keepingupwithsoawareandsitechanges•  Providealldataofflinebecause:– Online(historic)datachanges(teachingpoint!)– FreeCoCalcaccountdoesn’tallowAPIcalls

•  Fileencodingissues•  [](){}anditscombinaBonscanbeconfusing•  Notebooksrequirediscipline•  ConvincingtheExcelfans

Page 12: Learn to Code for Data Analysis

Soaware&studypoll

•  Atendofweek1,<8%responserate•  73%Windows7/8/10,17%Mac,8%Linux•  75%Anaconda,24%CoCalc– higherCocalc%forpre-Windows10

•  Exercises:71%same,9%differentcomputers•  Reading/coding:62%same,10%different•  Study:48%regular,44%sporadicsessions

Page 13: Learn to Code for Data Analysis

StatsFromFutureLearn

•  Enrolments(learnerID,dateBme,compleBondate,quitdate)

•  StepAcBvity(learnerID,step,firstvisit,completed)

•  Comments(learnerID,dateBme,step)•  Quiz(learnerID,dateBme,quesBonnumber,learnerresponse,T/F)

Page 14: Learn to Code for Data Analysis

MedianMinutesperStep

Page 15: Learn to Code for Data Analysis

Areanyques,onspar,cularlyproblema,c?

QuesBonDiagnosBcs

Page 16: Learn to Code for Data Analysis

StudyPaIernsStudentelapsedvisitBme:

-“hares”and“tortoises”

StudentstudysessionBme:-medianstudysessionBme?-howmanystudysessions?

Page 17: Learn to Code for Data Analysis

Conclusions

•  FreecourseforCPDandre-purposing•  Bewaredata+soawareissues– Updatestodata,websitesandsoaware–  ITliteracy:filehandling,swinstallaBon– Codingissues:syntax,notebookusage

•  FollowFirstPrinciplesofInstrucBon•  Problem-drivendataanalysisisengaging–  It’sinterdisciplinary,global,local,personal