SlideShare a Scribd company logo
1 of 34
Teaching Using the Jupyter
Ecosystem
Tony Hirst
tony.hirst@open.ac.uk
blog.ouseful.info
@psychemedia / github.com/psychemedia
Learn to Code For Data
Analysis
[Michel Wermelinger]
Learn to Code for Data Analysis
• Started as a 4-week 20-30h Futurelearn MOOC
–Basic Python 3 + function definitions – loops
–R-like pandas library for data analysis
–http://tiny.cc/lcda-ol
–Jupyter notebooks with Anaconda or cocalc.com
• Problems
–learners: time; installation; navigation; feedback
–us: software, sites and data change; assessing
Learn to Code for Data Analysis
Follows First Principles of Instruction http://tiny.cc/fpoi
• Problem-driven: weekly project; clean, merge, etc.
• ‘Authentic’: real open data from WHO, WU, WB, UN
• Demonstrate:
–we do analysis and introduce concepts as needed
–we show written up analysis (reproducible research)
• Apply: students work on exercise notebook in parallel
• Integrate: do a different analysis and share (show & tell)
TM351
Data management
and analysis
[Alistair Willis]
Context
• Not a programming module
– ie. we don’t teach python programming
– understanding of python necessary to engage with scientific python libraries
• expect appropriate competence for level 3 study
• Part of data science DA strand
Content
• Data lifecycle: Acquire, prepare, analyse, present
– Python techniques for acquiring and cleaning data
– DBs for data storage
– Some machine learning and statistical analyses
– Graph plotting with Matplotlib
Tools
• Python 3 language
• Postgresql, MongoDB databases
• Pandas, matplotlib (some scikit.learn) libraries
• Accessed through Jupyter notebooks
– significant teaching materials using notebooks
– including TMA01 submission
Tool support
Tony Hirst
REQUIRED
NOT
REQUIRED
DESIRABLE
Python distribution includes
non-standard Python package,
or student can install it
themselves
Python process can call out to
third party APIs using http
Jupyter notebook customised with OU
branding
Notebook server seeded with course
notebooks
Jupyter notebook server includes “docx”
export extension and functionality
Saved kernel state
Persisted student files
TM351 VM – Some Notebook Customisations
ArchitecturalPrinciples(1)
Thebelab
Roll Your Own API
Dev8d jupyter
Dev8d jupyter
Dev8d jupyter
Dev8d jupyter
Dev8d jupyter
Dev8d jupyter
Dev8d jupyter
Dev8d jupyter
Dev8d jupyter
Dev8d jupyter
Dev8d jupyter

More Related Content

Similar to Dev8d jupyter

LAK15 panel - European Perspectives
 LAK15 panel - European Perspectives LAK15 panel - European Perspectives
LAK15 panel - European PerspectivesLACE Project
 
Profiling vs. Time vs. Content: What does Matter for Top-k Publication Recomm...
Profiling vs. Time vs. Content: What does Matter for Top-k Publication Recomm...Profiling vs. Time vs. Content: What does Matter for Top-k Publication Recomm...
Profiling vs. Time vs. Content: What does Matter for Top-k Publication Recomm...MOVING Project
 
Learn to Code for Data Analysis
Learn to Code for Data AnalysisLearn to Code for Data Analysis
Learn to Code for Data AnalysisMichel Wermelinger
 
Social Media Crawling & Mining Seminar
Social Media Crawling & Mining Seminar Social Media Crawling & Mining Seminar
Social Media Crawling & Mining Seminar Symeon Papadopoulos
 
Learning Resource Design
Learning Resource DesignLearning Resource Design
Learning Resource Designcindy underhill
 
The Economics of Data Sharing
The Economics of Data SharingThe Economics of Data Sharing
The Economics of Data SharingAnita de Waard
 
Five Thoughts on Staying Sharp and Relevant (UK)
Five Thoughts on Staying Sharp and Relevant (UK)Five Thoughts on Staying Sharp and Relevant (UK)
Five Thoughts on Staying Sharp and Relevant (UK)Scott Lowe
 
Resonance Introduction at SacPy
Resonance Introduction at SacPyResonance Introduction at SacPy
Resonance Introduction at SacPymoorepants
 
Discovery event stuart lee (the humanities researcher)
Discovery event stuart lee (the humanities researcher)Discovery event stuart lee (the humanities researcher)
Discovery event stuart lee (the humanities researcher)RDTF-Discovery
 
Computational Thinking and Acting: Future Technologies for Future Generations
Computational Thinking and Acting: Future Technologies for Future GenerationsComputational Thinking and Acting: Future Technologies for Future Generations
Computational Thinking and Acting: Future Technologies for Future GenerationsJan Pawlowski
 
Digging into assessment data: Tips, tricks, and tools of the trade.
Digging into assessment data: Tips, tricks, and tools of the trade.Digging into assessment data: Tips, tricks, and tools of the trade.
Digging into assessment data: Tips, tricks, and tools of the trade.Lynn Connaway
 
Wollongong 090408232854-phpapp01
Wollongong 090408232854-phpapp01Wollongong 090408232854-phpapp01
Wollongong 090408232854-phpapp01Neo Ntlhokoa
 
A Case Study Of An Open Online Course
A Case Study Of An Open Online CourseA Case Study Of An Open Online Course
A Case Study Of An Open Online CourseSuzan Koseoglu
 
Research groups and teaching experiences at Computer Science Faculty (UNED)
Research groups and teaching experiences at Computer Science Faculty (UNED)Research groups and teaching experiences at Computer Science Faculty (UNED)
Research groups and teaching experiences at Computer Science Faculty (UNED)Miguel R. Artacho
 
Improving Integrity, Transparency, and Reproducibility Through Connection of ...
Improving Integrity, Transparency, and Reproducibility Through Connection of ...Improving Integrity, Transparency, and Reproducibility Through Connection of ...
Improving Integrity, Transparency, and Reproducibility Through Connection of ...Andrew Sallans
 
Learning Analytics – Opportunities for ISO/IEC JTC 1/SC36 standardisation
Learning Analytics – Opportunities for ISO/IEC JTC 1/SC36 standardisationLearning Analytics – Opportunities for ISO/IEC JTC 1/SC36 standardisation
Learning Analytics – Opportunities for ISO/IEC JTC 1/SC36 standardisationTore Hoel
 
Community and Code: Lessons from NESCent Hackathons
Community and Code: Lessons from NESCent HackathonsCommunity and Code: Lessons from NESCent Hackathons
Community and Code: Lessons from NESCent HackathonsArlin Stoltzfus
 

Similar to Dev8d jupyter (20)

LAK15 panel - European Perspectives
 LAK15 panel - European Perspectives LAK15 panel - European Perspectives
LAK15 panel - European Perspectives
 
Data-X-v3.1
Data-X-v3.1Data-X-v3.1
Data-X-v3.1
 
Profiling vs. Time vs. Content: What does Matter for Top-k Publication Recomm...
Profiling vs. Time vs. Content: What does Matter for Top-k Publication Recomm...Profiling vs. Time vs. Content: What does Matter for Top-k Publication Recomm...
Profiling vs. Time vs. Content: What does Matter for Top-k Publication Recomm...
 
Learn to Code for Data Analysis
Learn to Code for Data AnalysisLearn to Code for Data Analysis
Learn to Code for Data Analysis
 
Social Media Crawling & Mining Seminar
Social Media Crawling & Mining Seminar Social Media Crawling & Mining Seminar
Social Media Crawling & Mining Seminar
 
Learning Resource Design
Learning Resource DesignLearning Resource Design
Learning Resource Design
 
The Economics of Data Sharing
The Economics of Data SharingThe Economics of Data Sharing
The Economics of Data Sharing
 
Five Thoughts on Staying Sharp and Relevant (UK)
Five Thoughts on Staying Sharp and Relevant (UK)Five Thoughts on Staying Sharp and Relevant (UK)
Five Thoughts on Staying Sharp and Relevant (UK)
 
Resonance Introduction at SacPy
Resonance Introduction at SacPyResonance Introduction at SacPy
Resonance Introduction at SacPy
 
Discovery event stuart lee (the humanities researcher)
Discovery event stuart lee (the humanities researcher)Discovery event stuart lee (the humanities researcher)
Discovery event stuart lee (the humanities researcher)
 
Computational Thinking and Acting: Future Technologies for Future Generations
Computational Thinking and Acting: Future Technologies for Future GenerationsComputational Thinking and Acting: Future Technologies for Future Generations
Computational Thinking and Acting: Future Technologies for Future Generations
 
Digging into assessment data: Tips, tricks, and tools of the trade.
Digging into assessment data: Tips, tricks, and tools of the trade.Digging into assessment data: Tips, tricks, and tools of the trade.
Digging into assessment data: Tips, tricks, and tools of the trade.
 
Wollongong 090408232854-phpapp01
Wollongong 090408232854-phpapp01Wollongong 090408232854-phpapp01
Wollongong 090408232854-phpapp01
 
A Case Study Of An Open Online Course
A Case Study Of An Open Online CourseA Case Study Of An Open Online Course
A Case Study Of An Open Online Course
 
Research groups and teaching experiences at Computer Science Faculty (UNED)
Research groups and teaching experiences at Computer Science Faculty (UNED)Research groups and teaching experiences at Computer Science Faculty (UNED)
Research groups and teaching experiences at Computer Science Faculty (UNED)
 
Science communication-graduate
Science communication-graduateScience communication-graduate
Science communication-graduate
 
Improving Integrity, Transparency, and Reproducibility Through Connection of ...
Improving Integrity, Transparency, and Reproducibility Through Connection of ...Improving Integrity, Transparency, and Reproducibility Through Connection of ...
Improving Integrity, Transparency, and Reproducibility Through Connection of ...
 
Iczm project blended_education 13.09.2016
Iczm project blended_education 13.09.2016Iczm project blended_education 13.09.2016
Iczm project blended_education 13.09.2016
 
Learning Analytics – Opportunities for ISO/IEC JTC 1/SC36 standardisation
Learning Analytics – Opportunities for ISO/IEC JTC 1/SC36 standardisationLearning Analytics – Opportunities for ISO/IEC JTC 1/SC36 standardisation
Learning Analytics – Opportunities for ISO/IEC JTC 1/SC36 standardisation
 
Community and Code: Lessons from NESCent Hackathons
Community and Code: Lessons from NESCent HackathonsCommunity and Code: Lessons from NESCent Hackathons
Community and Code: Lessons from NESCent Hackathons
 

More from Tony Hirst

15 in 20 research fiesta
15 in 20 research fiesta15 in 20 research fiesta
15 in 20 research fiestaTony Hirst
 
Jupyternotebooks ou.pptx
Jupyternotebooks ou.pptxJupyternotebooks ou.pptx
Jupyternotebooks ou.pptxTony Hirst
 
Virtual computing.pptx
Virtual computing.pptxVirtual computing.pptx
Virtual computing.pptxTony Hirst
 
ouseful-parlihacks
ouseful-parlihacksouseful-parlihacks
ouseful-parlihacksTony Hirst
 
Gors appropriate
Gors appropriateGors appropriate
Gors appropriateTony Hirst
 
Gors appropriate
Gors appropriateGors appropriate
Gors appropriateTony Hirst
 
Robotlab jupyter
Robotlab   jupyterRobotlab   jupyter
Robotlab jupyterTony Hirst
 
Fco open data in half day th-v2
Fco open data in half day  th-v2Fco open data in half day  th-v2
Fco open data in half day th-v2Tony Hirst
 
Notes on the Future - ILI2015 Workshop
Notes on the Future - ILI2015 WorkshopNotes on the Future - ILI2015 Workshop
Notes on the Future - ILI2015 WorkshopTony Hirst
 
Community Journalism Conf - hyperlocal data wire
Community Journalism Conf - hyperlocal data wireCommunity Journalism Conf - hyperlocal data wire
Community Journalism Conf - hyperlocal data wireTony Hirst
 
Residential school 2015_robotics_interest
Residential school 2015_robotics_interestResidential school 2015_robotics_interest
Residential school 2015_robotics_interestTony Hirst
 
Data Mining - Separating Fact From Fiction - NetIKX
Data Mining - Separating Fact From Fiction - NetIKXData Mining - Separating Fact From Fiction - NetIKX
Data Mining - Separating Fact From Fiction - NetIKXTony Hirst
 
A Quick Tour of OpenRefine
A Quick Tour of OpenRefineA Quick Tour of OpenRefine
A Quick Tour of OpenRefineTony Hirst
 
Conversations with data
Conversations with dataConversations with data
Conversations with dataTony Hirst
 
Data reuse OU workshop bingo
Data reuse OU workshop bingoData reuse OU workshop bingo
Data reuse OU workshop bingoTony Hirst
 
Inspiring content - You Don't Need Big Data to Tell Good Data Stories
Inspiring content - You Don't Need Big Data to Tell Good Data Stories Inspiring content - You Don't Need Big Data to Tell Good Data Stories
Inspiring content - You Don't Need Big Data to Tell Good Data Stories Tony Hirst
 
Lincoln jun14datajournalism
Lincoln jun14datajournalismLincoln jun14datajournalism
Lincoln jun14datajournalismTony Hirst
 
Lincoln Journalism Research Day - Data Journalism
Lincoln Journalism Research Day - Data JournalismLincoln Journalism Research Day - Data Journalism
Lincoln Journalism Research Day - Data JournalismTony Hirst
 

More from Tony Hirst (20)

15 in 20 research fiesta
15 in 20 research fiesta15 in 20 research fiesta
15 in 20 research fiesta
 
Ili 16 robot
Ili 16 robotIli 16 robot
Ili 16 robot
 
Jupyternotebooks ou.pptx
Jupyternotebooks ou.pptxJupyternotebooks ou.pptx
Jupyternotebooks ou.pptx
 
Virtual computing.pptx
Virtual computing.pptxVirtual computing.pptx
Virtual computing.pptx
 
ouseful-parlihacks
ouseful-parlihacksouseful-parlihacks
ouseful-parlihacks
 
Gors appropriate
Gors appropriateGors appropriate
Gors appropriate
 
Gors appropriate
Gors appropriateGors appropriate
Gors appropriate
 
Robotlab jupyter
Robotlab   jupyterRobotlab   jupyter
Robotlab jupyter
 
Fco open data in half day th-v2
Fco open data in half day  th-v2Fco open data in half day  th-v2
Fco open data in half day th-v2
 
Notes on the Future - ILI2015 Workshop
Notes on the Future - ILI2015 WorkshopNotes on the Future - ILI2015 Workshop
Notes on the Future - ILI2015 Workshop
 
Community Journalism Conf - hyperlocal data wire
Community Journalism Conf - hyperlocal data wireCommunity Journalism Conf - hyperlocal data wire
Community Journalism Conf - hyperlocal data wire
 
Residential school 2015_robotics_interest
Residential school 2015_robotics_interestResidential school 2015_robotics_interest
Residential school 2015_robotics_interest
 
Data Mining - Separating Fact From Fiction - NetIKX
Data Mining - Separating Fact From Fiction - NetIKXData Mining - Separating Fact From Fiction - NetIKX
Data Mining - Separating Fact From Fiction - NetIKX
 
Week4
Week4Week4
Week4
 
A Quick Tour of OpenRefine
A Quick Tour of OpenRefineA Quick Tour of OpenRefine
A Quick Tour of OpenRefine
 
Conversations with data
Conversations with dataConversations with data
Conversations with data
 
Data reuse OU workshop bingo
Data reuse OU workshop bingoData reuse OU workshop bingo
Data reuse OU workshop bingo
 
Inspiring content - You Don't Need Big Data to Tell Good Data Stories
Inspiring content - You Don't Need Big Data to Tell Good Data Stories Inspiring content - You Don't Need Big Data to Tell Good Data Stories
Inspiring content - You Don't Need Big Data to Tell Good Data Stories
 
Lincoln jun14datajournalism
Lincoln jun14datajournalismLincoln jun14datajournalism
Lincoln jun14datajournalism
 
Lincoln Journalism Research Day - Data Journalism
Lincoln Journalism Research Day - Data JournalismLincoln Journalism Research Day - Data Journalism
Lincoln Journalism Research Day - Data Journalism
 

Recently uploaded

ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4MiaBumagat1
 
Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Celine George
 
Choosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for ParentsChoosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for Parentsnavabharathschool99
 
ENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choomENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choomnelietumpap1
 
Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Jisc
 
What is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPWhat is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPCeline George
 
Roles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in PharmacovigilanceRoles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in PharmacovigilanceSamikshaHamane
 
Science 7 Quarter 4 Module 2: Natural Resources.pptx
Science 7 Quarter 4 Module 2: Natural Resources.pptxScience 7 Quarter 4 Module 2: Natural Resources.pptx
Science 7 Quarter 4 Module 2: Natural Resources.pptxMaryGraceBautista27
 
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)lakshayb543
 
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...Postal Advocate Inc.
 
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYKayeClaireEstoconing
 
Karra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxKarra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxAshokKarra1
 
Grade 9 Q4-MELC1-Active and Passive Voice.pptx
Grade 9 Q4-MELC1-Active and Passive Voice.pptxGrade 9 Q4-MELC1-Active and Passive Voice.pptx
Grade 9 Q4-MELC1-Active and Passive Voice.pptxChelloAnnAsuncion2
 
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxiammrhaywood
 
DATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersDATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersSabitha Banu
 
ACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdfACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdfSpandanaRallapalli
 
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...JhezDiaz1
 
Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Mark Reed
 

Recently uploaded (20)

ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4
 
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptxLEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
 
Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17
 
Choosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for ParentsChoosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for Parents
 
ENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choomENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choom
 
Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...
 
What is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPWhat is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERP
 
Roles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in PharmacovigilanceRoles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in Pharmacovigilance
 
Science 7 Quarter 4 Module 2: Natural Resources.pptx
Science 7 Quarter 4 Module 2: Natural Resources.pptxScience 7 Quarter 4 Module 2: Natural Resources.pptx
Science 7 Quarter 4 Module 2: Natural Resources.pptx
 
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
 
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
 
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
 
Karra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxKarra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptx
 
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptxYOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
 
Grade 9 Q4-MELC1-Active and Passive Voice.pptx
Grade 9 Q4-MELC1-Active and Passive Voice.pptxGrade 9 Q4-MELC1-Active and Passive Voice.pptx
Grade 9 Q4-MELC1-Active and Passive Voice.pptx
 
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
 
DATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersDATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginners
 
ACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdfACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdf
 
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
 
Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)
 

Dev8d jupyter

  • 1. Teaching Using the Jupyter Ecosystem Tony Hirst tony.hirst@open.ac.uk blog.ouseful.info @psychemedia / github.com/psychemedia
  • 2. Learn to Code For Data Analysis [Michel Wermelinger]
  • 3. Learn to Code for Data Analysis • Started as a 4-week 20-30h Futurelearn MOOC –Basic Python 3 + function definitions – loops –R-like pandas library for data analysis –http://tiny.cc/lcda-ol –Jupyter notebooks with Anaconda or cocalc.com • Problems –learners: time; installation; navigation; feedback –us: software, sites and data change; assessing
  • 4. Learn to Code for Data Analysis Follows First Principles of Instruction http://tiny.cc/fpoi • Problem-driven: weekly project; clean, merge, etc. • ‘Authentic’: real open data from WHO, WU, WB, UN • Demonstrate: –we do analysis and introduce concepts as needed –we show written up analysis (reproducible research) • Apply: students work on exercise notebook in parallel • Integrate: do a different analysis and share (show & tell)
  • 5.
  • 7. Context • Not a programming module – ie. we don’t teach python programming – understanding of python necessary to engage with scientific python libraries • expect appropriate competence for level 3 study • Part of data science DA strand
  • 8. Content • Data lifecycle: Acquire, prepare, analyse, present – Python techniques for acquiring and cleaning data – DBs for data storage – Some machine learning and statistical analyses – Graph plotting with Matplotlib
  • 9. Tools • Python 3 language • Postgresql, MongoDB databases • Pandas, matplotlib (some scikit.learn) libraries • Accessed through Jupyter notebooks – significant teaching materials using notebooks – including TMA01 submission
  • 10.
  • 12. REQUIRED NOT REQUIRED DESIRABLE Python distribution includes non-standard Python package, or student can install it themselves Python process can call out to third party APIs using http Jupyter notebook customised with OU branding Notebook server seeded with course notebooks Jupyter notebook server includes “docx” export extension and functionality Saved kernel state Persisted student files
  • 13. TM351 VM – Some Notebook Customisations
  • 14.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.

Editor's Notes

  1. Have to understand given library and implement function Have to include tests in screenshot
  2. The TM351 Jupyter notebook server includes several customisations, including: OU branding of notebooks; Custom exports: Microsoft Word .docx, ODSzip (a zip file containing the original notebook and the HTML rendering of it)
  3. The notebook source file (suffix .ipynb) is a JSON text file. It can be rendered to an HTML document using the `nbviewer` application. The notebook file can also be used interactively, as a GUI to a backend computational process that can execute and evaluate elements identified as “code” in the notebook, and return the results of code execution for display in the notebook. -- { ipynb[label=".ipynb\n(JSON text file)"]; nbviewer[label="nbviewer",color='yellow']; ipynb -> nbviewer; group { shape=line; html1[label="HTML",color='lightgreen']; nbviewer -> html1; } nbserver[label="nbserver",color='yellow']; ipynb -> nbserver; group { shape=line; py[label="Python process", color='lightblue']; dots[shape = "dots"]; html2[label="HTML",color='lightgreen']; nbserver -> dots, py, html2; nbserver -> dots[style='none']; } }