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

Learn to Code for Data Analysis

Jan 22, 2018

Download

Software

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
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