<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>self-determined-learning | Thought splinters</title>
    <link>https://notes.peter-baumgartner.net/tag/self-determined-learning/</link>
      <atom:link href="https://notes.peter-baumgartner.net/tag/self-determined-learning/index.xml" rel="self" type="application/rss+xml" />
    <description>self-determined-learning</description>
    <generator>Wowchemy (https://wowchemy.com)</generator><language>en-us</language><copyright>CC BY-SA 4.0</copyright><lastBuildDate>Sun, 01 Aug 2021 00:00:00 +0000</lastBuildDate>
    <image>
      <url>https://notes.peter-baumgartner.net/media/icon_huab1e86cf5cbc1139acf672dc60b9d7d0_5213_512x512_fill_lanczos_center_2.png</url>
      <title>self-determined-learning</title>
      <link>https://notes.peter-baumgartner.net/tag/self-determined-learning/</link>
    </image>
    
    <item>
      <title>Using GitHub as a Mentoring Tool</title>
      <link>https://notes.peter-baumgartner.net/2021/08/01/using-github-as-a-mentoring-tool/</link>
      <pubDate>Sun, 01 Aug 2021 00:00:00 +0000</pubDate>
      <guid>https://notes.peter-baumgartner.net/2021/08/01/using-github-as-a-mentoring-tool/</guid>
      <description>&lt;script src=&#34;https://notes.peter-baumgartner.net/2021/08/01/using-github-as-a-mentoring-tool/index.en_files/kePrint/kePrint.js&#34;&gt;&lt;/script&gt;
&lt;link href=&#34;https://notes.peter-baumgartner.net/2021/08/01/using-github-as-a-mentoring-tool/index.en_files/lightable/lightable.css&#34; rel=&#34;stylesheet&#34; /&gt;



&lt;h2 id=&#34;beginner-intermediate-and-expert-level&#34;&gt;Beginner, Intermediate, and Expert Level&lt;a href=&#34;#beginner-intermediate-and-expert-level&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
&lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
&lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
&lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;For several years I am interested to learn &lt;a href=&#34;https://www.r-project.org/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;R&lt;/a&gt;, the free software environment for statistical computing and graphics. After&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;reading several books,&lt;/li&gt;
&lt;li&gt;finished some (paid) introductory (MOOC) courses successfully with Coursera&lt;/li&gt;
&lt;li&gt;and especially some smaller (paid) projects&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I would say that I am now (stuck?) on an intermediate skill level. I believe that this is the most challenging step in progressing to an expert for a self-determined learner. There are always so many different avenues to follow up. This is especially true with R and its&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ever increasing amount of new R packages (To date: 20010 (&lt;a href=&#34;https://mran.revolutionanalytics.com/packages&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;MRAN&lt;/a&gt;) resp. 17954 (&lt;a href=&#34;https://cran.r-project.org/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;CRAN&lt;/a&gt;), 3452 (&lt;a href=&#34;https://bioconductor.org/packages/release/BiocViews.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Bioconductor&lt;/a&gt;).&lt;/li&gt;
&lt;li&gt;hundreds of books (see: the &lt;a href=&#34;https://www.r-project.org/doc/bib/R-jabref.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;searchable list on r-project.org&lt;/a&gt;, a &lt;a href=&#34;https://github.com/RomanTsegelskyi/rbooks&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;curated list on GitHub&lt;/a&gt; by Roman Tselgelskyi, but also my &lt;a href=&#34;https://wakelet.com/wake/d9cea021-06a5-406b-9b12-e7efd97ad144&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Wakelet on free R Books&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;an unknown number of (free) online tutorials (see the &lt;a href=&#34;https://pairach.com/2012/06/17/r_tutorials_non-uni/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;general list&lt;/a&gt; and &lt;a href=&#34;https://pairach.com/2012/06/17/r_tutorials_non-uni/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;university listed&lt;/a&gt; free R tutorials by Pairach Piboonrungroj and my &lt;a href=&#34;https://wakelet.com/wake/83de9b9e-63d6-46a2-a30e-3f4bec621ce2&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Wakelet on learn R programming&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Comparing my skill level with the three learner paths suggested by RStudio Education, I could affirm my personal assessment. From the six tasks proposals on the intermediate path&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;grab some &lt;a href=&#34;https://www.rstudio.com/resources/cheatsheets/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;R cheat sheets&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;learn to get help (see, for instance, my activities on &lt;a href=&#34;https://stackoverflow.com/users/7322615/petzi&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;StackOverflow&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;improve your visualizations&lt;/li&gt;
&lt;li&gt;develop interactive applications with &lt;a href=&#34;https://www.htmlwidgets.org/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;htmlwidgets&lt;/a&gt; and &lt;a href=&#34;https://shiny.rstudio.com/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Shiny&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;simplify your model explorations with &lt;a href=&#34;https://www.tidymodels.org/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;tidymodels&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;explore other specialized packages&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I have some skills with the first three, and I also experimented already with Shiny. I even had worked on some steps at the expert levels by writing an R package: (&lt;a href=&#34;https://github.com/petzi53/bib2academic&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;bib2academic&lt;/a&gt; got 16 stars, but I did not manage to submit it to &lt;a href=&#34;https://cran.r-project.org/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;CRAN&lt;/a&gt;. It is now obsolete as a similar function was integrated into the Academic Hugo website (now &lt;a href=&#34;https://wowchemy.com/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Wowchemy&lt;/a&gt; website builder).&lt;/p&gt;



&lt;h2 id=&#34;project-for-motivation-necessary&#34;&gt;Project for Motivation Necessary&lt;a href=&#34;#project-for-motivation-necessary&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
&lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
&lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
&lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;But to continue this path, I would need some strong motivation. I tried, for instance, to read the (not yet finished) book &lt;a href=&#34;https://mastering-shiny.org/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Mastering Shiny&lt;/a&gt;. As with all books and papers by Hadley Wickham, it is well written and exciting. But to learn continuously, I would need a practical project where I get not only real-world challenges but also a strong personal motivation to complete the product. In finishing the project/product, I would have to learn to overcome several real-world challenges where I would need to look for help and consult/experiment with several new functions or packages.&lt;/p&gt;
&lt;p&gt;But this strategy has two advantages:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;It is very laborious as the specific questions are not (yet) clear enough. Fora like &lt;a href=&#34;https://stackoverflow.com/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;StackOverflow&lt;/a&gt; are not suitable as the problem space is not delimited, a concrete coding question with a &lt;a href=&#34;https://community.rstudio.com/t/faq-whats-a-reproducible-example-reprex-and-how-do-i-create-one/5219&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;REPREX&lt;/a&gt; (REPRoducible EXamples) is not available.&lt;/li&gt;
&lt;li&gt;It is error-prone and not efficient. Am I posing the right question? Do I look at the right places? It is not guaranteed that one finds the optimal solution. This is particularly awkward if the answer in the R community is very well known.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id=&#34;looking-for-a-human-mentor&#34;&gt;Looking for a Human Mentor&lt;a href=&#34;#looking-for-a-human-mentor&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
&lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
&lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
&lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;I believe with a mentor, one could overcome these insecurities fast. The mentor — an experienced user — could ask questions to narrow the search space and point out helpful hints about what and where to look. Wikipedia, for instance, has established a similar program for their user community called Adopt-a-user.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The Adopt-a-user program is designed to help new and inexperienced users by pairing them with more experienced Wikipedians. These editors (referred to as adopters or mentors) will “adopt” newer users, guiding them along the way as they learn about Wikipedia and its various aspects. (&lt;a href=&#34;https://en.wikipedia.org/wiki/Wikipedia:Adopt-a-user&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Wikipedia&lt;/a&gt;)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;In Wikipedia, the intention is to help &lt;em&gt;novice&lt;/em&gt; contributors get orientation and some guided practice with the very complex rule set for writing or changing Wikipedia entries. My thought is to find a mentor to advance at the intermediate level. I think there is plenty of material for the R beginners freely available. But more important: You will learn R from scratch as an individual and do not need to worry at the beginning stage about an already developed complex rule which you have to observe and follow.&lt;/p&gt;
&lt;p&gt;As far as I know, there is no mentor program for R users. The next best alternative is a more open and friendly community. An excellent example, in my opinion, would be the &lt;a href=&#34;https://community.rstudio.com/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;RStudio Community&lt;/a&gt;. But even there, you should have a concrete question to ask.&lt;/p&gt;



&lt;h2 id=&#34;github-as-a-mentoring-tool&#34;&gt;GitHub as a Mentoring Tool&lt;a href=&#34;#github-as-a-mentoring-tool&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
&lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
&lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
&lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;



&lt;h3 id=&#34;an-instructive-example&#34;&gt;An instructive example&lt;a href=&#34;#an-instructive-example&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
&lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
&lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
&lt;/svg&gt;&lt;/a&gt;
&lt;/h3&gt;
&lt;p&gt;I recently found out that GitHub could be used as an educational tool. I will you give an example which was very exciting for me:&lt;/p&gt;
&lt;p&gt;Often I was confronted with the problem of how to calculate and format nicely a contingency table in R. The free web material on the web on this question is abound (e.g., &lt;a href=&#34;https://www.datacamp.com/community/tutorials/contingency-tables-r&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Datacamp&lt;/a&gt;, &lt;a href=&#34;https://www.datasciencecentral.com/profiles/blogs/contingency-tables-in-r&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Data Science Central&lt;/a&gt;, &lt;a href=&#34;https://www.r-bloggers.com/2020/12/contingency-tables-in-r/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;R-Bloggers&lt;/a&gt;, &lt;a href=&#34;https://techvidvan.com/tutorials/r-contingency-tables/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;TechVidvan&lt;/a&gt;, &lt;a href=&#34;https://www.statology.org/contingency-table-in-r/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Statology&lt;/a&gt;, …). But many examples still teach the Base R commands. They do not mention new procedures with the &lt;a href=&#34;https://towardsdatascience.com/what-is-tidy-data-d58bb9ad2458&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;tidydata approach&lt;/a&gt; and related packages like &lt;a href=&#34;https://tidyr.tidyverse.org/articles/tidy-data.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;tidyr&lt;/a&gt;. And they do not worry about outputting the table in a publishing-ready format.&lt;/p&gt;
&lt;p&gt;There are many contingency tables published in the recently finished books &lt;a href=&#34;https://openintro-ims.netlify.app/index.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Introduction to Modern Statistics&lt;/a&gt;.&lt;/p&gt;
&lt;table style=&#34;width: 75%; margin-left: auto; margin-right: auto;&#34; class=&#34;table table-striped table-condensed&#34;&gt;
&lt;caption&gt;
Table 1: Descriptive statistics for the stent study.
&lt;/caption&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&#34;empty-cells: hide;border-bottom:hidden;&#34; colspan=&#34;1&#34;&gt;
&lt;/th&gt;
&lt;th style=&#34;border-bottom:hidden;padding-bottom:0; padding-left:3px;padding-right:3px;text-align: center; border-bottom: 2px solid&#34; colspan=&#34;2&#34;&gt;
&lt;div style=&#34;border-bottom: 1px solid #ddd; padding-bottom: 5px; &#34;&gt;
&lt;p&gt;30 days&lt;/p&gt;
&lt;/div&gt;
&lt;/th&gt;
&lt;th style=&#34;border-bottom:hidden;padding-bottom:0; padding-left:3px;padding-right:3px;text-align: center; border-bottom: 2px solid&#34; colspan=&#34;2&#34;&gt;
&lt;div style=&#34;border-bottom: 1px solid #ddd; padding-bottom: 5px; &#34;&gt;
&lt;p&gt;365 days&lt;/p&gt;
&lt;/div&gt;
&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th style=&#34;text-align:left;&#34;&gt;
Group
&lt;/th&gt;
&lt;th style=&#34;text-align:right;&#34;&gt;
Stroke
&lt;/th&gt;
&lt;th style=&#34;text-align:right;&#34;&gt;
No event
&lt;/th&gt;
&lt;th style=&#34;text-align:right;&#34;&gt;
Stroke
&lt;/th&gt;
&lt;th style=&#34;text-align:right;&#34;&gt;
No event
&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&#34;text-align:left;border-top: 2px solid&#34;&gt;
Control
&lt;/td&gt;
&lt;td style=&#34;text-align:right;border-top: 2px solid&#34;&gt;
13
&lt;/td&gt;
&lt;td style=&#34;text-align:right;border-top: 2px solid&#34;&gt;
214
&lt;/td&gt;
&lt;td style=&#34;text-align:right;border-top: 2px solid&#34;&gt;
28
&lt;/td&gt;
&lt;td style=&#34;text-align:right;border-top: 2px solid&#34;&gt;
199
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&#34;text-align:left;&#34;&gt;
Treatment
&lt;/td&gt;
&lt;td style=&#34;text-align:right;&#34;&gt;
33
&lt;/td&gt;
&lt;td style=&#34;text-align:right;&#34;&gt;
191
&lt;/td&gt;
&lt;td style=&#34;text-align:right;&#34;&gt;
45
&lt;/td&gt;
&lt;td style=&#34;text-align:right;&#34;&gt;
179
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&#34;text-align:left;border-top: 2px solid&#34;&gt;
Total
&lt;/td&gt;
&lt;td style=&#34;text-align:right;border-top: 2px solid&#34;&gt;
46
&lt;/td&gt;
&lt;td style=&#34;text-align:right;border-top: 2px solid&#34;&gt;
405
&lt;/td&gt;
&lt;td style=&#34;text-align:right;border-top: 2px solid&#34;&gt;
73
&lt;/td&gt;
&lt;td style=&#34;text-align:right;border-top: 2px solid&#34;&gt;
378
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;I could look up the &lt;a href=&#34;https://github.com/openintrostat/ims/edit/master/01-data-hello.Rmd&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;source code from lines 85-101 via GitHub&lt;/a&gt; and learn how to produce the above table. (In the following code chunk, I have focussed on the table appearance and left out different previous data transformations to prepare the two data sets &lt;a href=&#34;http://openintrostat.github.io/openintro/reference/stent30.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;&lt;code&gt;stent30&lt;/code&gt;&lt;/a&gt; and &lt;a href=&#34;http://openintrostat.github.io/openintro/reference/stent365.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;&lt;code&gt;stent365&lt;/code&gt;&lt;/a&gt;. Furthermore, the code differs somewhat from the original due to some CSS styles of this website.).&lt;/p&gt;
&lt;pre&gt;&lt;code class=&#34;language-markdown&#34;&gt;```{r stent-study}
suppressMessages(library(janitor))
suppressMessages(library(kableExtra))
suppressMessages(library(openintro))
suppressMessages(library(tidyverse))

stent %&amp;gt;%
  mutate(group = str_to_title(group)) %&amp;gt;%
  pivot_longer(cols = c(`30 days`, `365 days`), 
               names_to = &amp;quot;stage&amp;quot;, 
               values_to = &amp;quot;outcome&amp;quot;) %&amp;gt;%
  count(group, stage, outcome) %&amp;gt;%
  pivot_wider(names_from = c(stage, outcome), values_from = n) %&amp;gt;%
  adorn_totals(where = &amp;quot;row&amp;quot;) %&amp;gt;%
  kbl(linesep = &amp;quot;&amp;quot;, booktabs = TRUE, caption = &amp;quot;Descriptive statistics for the stent study.&amp;quot;,
      col.names = c(&amp;quot;Group&amp;quot;, &amp;quot;Stroke&amp;quot;, &amp;quot;No event&amp;quot;, &amp;quot;Stroke&amp;quot;, &amp;quot;No event&amp;quot;),
      table.attr = &amp;quot;style=&#39;width: 75%;&#39;&amp;quot;) %&amp;gt;%
  add_header_above(c(&amp;quot; &amp;quot; = 1, &amp;quot;30 days&amp;quot; = 2, &amp;quot;365 days&amp;quot; = 2), extra_css = &amp;quot;border-bottom: 2px solid&amp;quot;) %&amp;gt;%
  row_spec(1, extra_css = &amp;quot;border-top: 2px solid&amp;quot;) %&amp;gt;%
  row_spec(3, extra_css = &amp;quot;border-top: 2px solid&amp;quot;) %&amp;gt;%
  kable_styling(bootstrap_options = c(&amp;quot;striped&amp;quot;, &amp;quot;condensed&amp;quot;), 
                latex_options = c(&amp;quot;striped&amp;quot;, &amp;quot;hold_position&amp;quot;),
                full_width = T, position = &#39;center&#39;)
```
&lt;/code&gt;&lt;/pre&gt;



&lt;h3 id=&#34;lesson-learned&#34;&gt;Lesson learned&lt;a href=&#34;#lesson-learned&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
&lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
&lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
&lt;/svg&gt;&lt;/a&gt;
&lt;/h3&gt;
&lt;p&gt;Looking into the source code at GitHub, I learned several issues:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;I experimented already with the &lt;code&gt;janitor&lt;/code&gt; package, and I am happy to get the confirmation that it is a widely used package to “provide quick counts of variable combinations (i.e., frequency tables and crosstabs)” and to “format [nicely] the tabulation results.” (From the Janitor package description.)&lt;/li&gt;
&lt;li&gt;I also did know about the &lt;code&gt;kableExtra&lt;/code&gt; package and had the &lt;code&gt;kable_styling&lt;/code&gt; function already used several times.&lt;/li&gt;
&lt;li&gt;The other &lt;code&gt;kableExtra&lt;/code&gt; functions (&lt;code&gt;add_header_above()&lt;/code&gt;, &lt;code&gt;row_spec()&lt;/code&gt;, &lt;code&gt;kbl()&lt;/code&gt;) I had not used before. Especially &lt;code&gt;add_header_above()&lt;/code&gt; has an important role for special headings in contingency tables.&lt;/li&gt;
&lt;li&gt;The parameter &lt;code&gt;extra_css&lt;/code&gt; was entirely new for me. I have never heard about it and didn’t even know that it exists.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For me, this learning experience was very instructive! I admit that this example could have been asked via a friendly forum: For instance: “How could I produce a contingency table formatted professionally for print by using the tidyverse approach?” Additionally, one would have to provide some code to show where one stands and what approach one is using.&lt;/p&gt;



&lt;h3 id=&#34;looking-experts-over-their-shoulders&#34;&gt;Looking Experts over their Shoulders&lt;a href=&#34;#looking-experts-over-their-shoulders&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
&lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
&lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
&lt;/svg&gt;&lt;/a&gt;
&lt;/h3&gt;
&lt;p&gt;But this was just one example where I knew about the problem and had already tried several approaches to find a solution. But what about code patterns I didn’t even know and could therefore not ask the right question?&lt;/p&gt;
&lt;p&gt;Finding a GitHub project with code snippets one needs urgently is just the beginning. There is a big chance that the same repository (aka ‘repo’) hides more code snippets to learn from. And maybe the person behind this one GitHub repos maintains other repositories that are also very interesting?&lt;/p&gt;
&lt;p&gt;In my case, it turned out that &lt;a href=&#34;https://github.com/mine-cetinkaya-rundel&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Mine Çetakaya-Rundel&lt;/a&gt;, one of the authors and the person responsible for the repository management, has educational approaches that are similar to mine. But she is way off more skilled in R and statistics. I am especially interested in her usage of the &lt;code&gt;learnr&lt;/code&gt; package for interactive tutorials and have watched a series of three videos on &lt;a href=&#34;https://mine-cetinkaya-rundel.github.io/teach-r-online/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Teaching Statistics and Data Science Online&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;In a certain sense, she functions as a mentor for me — even if she doesn’t know about it 🥸. Meanwhile, we had some exchanges on GitHub issues as I am interested in learning how to use the &lt;code&gt;learnr&lt;/code&gt; package for introductions into statistics via R-Tutorials. Regularly if I find a problem as a user reading and following the tutorial exercises, I try to fix the code in my fork and send the &lt;a href=&#34;https://github.com/OpenIntroStat/ims-tutorials/pulls?q=is%3Apr&amp;#43;author%3A%40me&amp;#43;&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;solutions as pull requests (PR)&lt;/a&gt; to Mine. Besides learning to use GitHub in a collaborative setting, I have already profited in many ways. I learned about packages I have never heard of (see, for example, the &lt;a href=&#34;https://github.com/OpenIntroStat/ims/blob/master/_common.R&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;list of packages used for the book&lt;/a&gt;) and saw code snippets that transformed data in a much more elegant way as I used to do.&lt;/p&gt;



&lt;h2 id=&#34;summary&#34;&gt;Summary&lt;a href=&#34;#summary&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
&lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
&lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
&lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;To inspect code on GitHub is a suitable strategy for intermediate (programming) learners. I illustrated it with an R example, but I think you could generalize it as a learning strategy. I recommend the following steps:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Note names and/or repositories you learned from successful internet recherche&lt;/strong&gt;. By searching answers or asking questions via StackOverflow, you will encounter the same names, blog addresses, Twitter messages, repos again and again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Look around if these person/websites generally work on problems you are interested in&lt;/strong&gt;. Look into the profile and follow the activities of these persons on their blog, Twitter, YouTube, GitHub … accounts.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Decide on a person and select a specific project&lt;/strong&gt;. I recommend focusing not only on a particular person but also on picking one project to concentrate on. Ideally, it is a current project the person is still interested in and produces code you want to learn and use for your own work later on.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Think about a possibility to get involved in the project&lt;/strong&gt;. The idea is to give the person and the community something back for its/their mentoring function and commit yourself to relevant real-world problems. The possibilities depend on your skills and interests. It may be advertising the project, writing a favorable review, fixing typos, commenting via the issue part of the repo, recommending code changes via PRs, or financially supporting the author(s) and/or the ongoing project.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Finally, I would like to add also a warning: “Following” a person should not develop to stalking. It is essential not to be intrusive or pushy. You will see already after a short time if the person values your contribution(s), e.g., by answering friendly or thoughtfully, accepting your PRs, etc. If you get the impression that your engagement is disruptive, then stop it immediately. Either look at the code silently without interaction or try to find another “mentor” or project to get involved.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Data Science Education with coursera</title>
      <link>https://notes.peter-baumgartner.net/2019/06/18/data-science-education-with-coursera/</link>
      <pubDate>Tue, 18 Jun 2019 00:00:00 +0000</pubDate>
      <guid>https://notes.peter-baumgartner.net/2019/06/18/data-science-education-with-coursera/</guid>
      <description>&lt;p&gt;Beginning in December 2016, I initiated a new personal enterprise: Learning the statistical programming language R to acquire competencies of a data scientist. With “learning enterprise,” I do not mean to get just interested in a new subject, to read from time to time a relevant book and to look into some web-based tutorials. No, with “enterprise” I mean a much more significant undertaking, namely to focus and concentrate several months on a systematic study for a new set of qualifications.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;images/Coursera-Certificate-Toolbox-min.png&#34; alt=&#34;Coursera Certificate for Peter Baumgartner for the course on Data Science Toolboxes.&#34;&gt;&lt;/p&gt;
&lt;p&gt;I started with a nine-part (June 2019: now ten-part) &lt;a href=&#34;https://www.coursera.org/specializations/jhu-data-science&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;course specialization to data science&lt;/a&gt;, taught by three professors of &lt;a href=&#34;https://www.jhu.edu/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;John Hopkins University&lt;/a&gt; (&lt;a href=&#34;https://www.coursera.org/instructor/~694443&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Jeff Leek&lt;/a&gt;, &lt;a href=&#34;https://www.coursera.org/instructor/rdpeng&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Roger D. Peng&lt;/a&gt;, and &lt;a href=&#34;https://www.coursera.org/instructor/~688901&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Brian Caffo&lt;/a&gt;) and offered via the MOOC&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;-platform &lt;a href=&#34;https://www.coursera.org/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Coursera.&lt;/a&gt;&lt;/p&gt;



&lt;h2 id=&#34;one-sided-course-philosophy&#34;&gt;One-Sided Course Philosophy&lt;a href=&#34;#one-sided-course-philosophy&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
&lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
&lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
&lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;But after I have finished successfully two courses with certificates, I turned impatient with the teaching style and course philosophy. My dissatisfaction did not so much arise by these three professors but had more abstract reasons: The course has as target audience people who need certified knowledge to get into (a better) job position. People like me (experienced adult learner, who are already permanently employed and have no intention to change the job) who want to learn specific skills for their working needs, are not well supported. I do not need to provide evidence of some acquired general qualifications as most of the course participants do. I was instead looking for some Personal Knowledge [@polanyi_personal_1974-2], which I could combine with my life and working experiences. After a long time again in the learner role, I found it very strange that I had to spend much &lt;em&gt;learning time on material arranged by other people&lt;/em&gt; which I didn’t need and had, on the other hand, to learn some stuff superficially or to skip altogether, which is essential for my use cases.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;images/Coursera-Certificate-R-Programming-min.png&#34; alt=&#34;Coursera Certificate for Peter Baumgartner for the course on R Programming.&#34;&gt;&lt;/p&gt;
&lt;p&gt;To exemplify the problem in more detail: In the third course on Getting and Cleaning Data we had to learn different ways to get data into the R environment: To download it with URLs, to scrap it from web pages, to load it from Excel sheets, to collect it via an API. But – for instance – we didn’t learn how to get data from an SQL database. I appreciate that all these different methods are conceivably relevant, and as a becoming data scientist, one should know how to apply them all. I also understand that it is impossible to learn all the different use cases in every detail. But I disagree that the best teaching method is an exemplary journey through some of these potentially essential methods!&lt;/p&gt;
&lt;p&gt;A teaching strategy which would have better suited me and other &lt;a href=&#34;https://www.schoology.com/blog/heutagogy-explained-self-determined-learning-education&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;self-determinded learners&lt;/a&gt; would have been a systematic and complete list of all approaches with their pointers to the relevant R packages and supplemented with some prototypical program snippets to get started. After a &lt;em&gt;systematic overview and instructional material of all techniques&lt;/em&gt;, one should have the opportunity to choose those two or three methods which cover those skills which are essential for the particular learner. In practical assignments, self-determined learners learner should have the chance to be trained and to practice precisely only those procedures they are interested in.&lt;/p&gt;
&lt;img src=&#34;images/cover-make-it-stick-min.jpg&#34; alt=&#34;Book cover of &amp;apos;Make It Stick&amp;apos;&#34; class=&#34;floatleft&#34;/&gt;
&lt;p&gt;Another example that coursera is not interested in the self-determined learner is their change in the billing strategy: Coursera made a switch to a subscription model for the Data Science Specialization. Instead, to bill per course, you have now to pay a monthly fee, which is counteracting self-learning and autodidacticism. To economize and save money for the course, one has to study fast and without looking for additional material, exercises, or implementations for his/her use cases. Consequences are a rigid study behavior where students follow the course design uncritically and without generating and posing questions. From an educational point of view, such a course of studies contradicts the psychological research on learning thoroughly [@ambrose_how_2010; @brown_make_2014].&lt;/p&gt;



&lt;h2 id=&#34;how-to-support-the-self-determined-learner&#34;&gt;How to support the self-determined learner?&lt;a href=&#34;#how-to-support-the-self-determined-learner&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
&lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
&lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
&lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;img src=&#34;images/cover-how-learning-works-min.jpg&#34; alt=&#34;Book Cover of &amp;apos;How Learning Works&amp;apos;&#34; class=&#34;floatright&#34;/&gt;
&lt;p&gt;Consequently, I stopped my course attendance and started to look for tutorials, courses, and other learning material that are more to the point for my needs. I have to confess that I didn’t know how exciting but also how difficult this self-paced and self-determined learning approach was, respectively is. Between us educators, we are talking routinely about self-determined learning [@deci_handbook_2008; @deci_overview_2012-1; @deci_self-determination_2008-2], but often it is just a plea without detailed tips on how to achieve it.&lt;/p&gt;
&lt;p&gt;When we are preparing material for learners, we are restricted by the learning time of our students (measured in credit points) and have therefore to select from the available resources. This strategy poses a problem for the self-determined learner as we as teacher decide which material is essential to learn and which not. Even if we are experienced teacher on the subject material in question and know therefore which skills are generally more in demand in real-life applications, we will always be wrong whenever some of our students have different needs or requirements.&lt;/p&gt;
&lt;p&gt;For the design of online courses, there is an easy solution. Even if every curriculum has a reference point for the average amount of learning hours a student should need to cover a specific subject, there is no restriction on quantity for uploaded material. When we quantify the necessary learning hours of each different subject branch we are going to provide, then we can leave the choices to the students. The only requirement they would have to satisfy is a certain amount of learning hours. Students have to choose from a list of options in such a way that they fulfill this requirement by the curriculum.&lt;/p&gt;
&lt;p&gt;To provide a course design where all students have to learn the same material generates an anachronistic situation: We are living in times of opulence where for almost all products, many variants for individual choices are available. But not so in the educational sector where with cohort learning still the industrial mass production model is prevalent. It is time to change this now — and with online courses, we have already the appropriate learning environment for individualization ready at hand.&lt;/p&gt;



&lt;h2 id=&#34;résumé&#34;&gt;Résumé&lt;a href=&#34;#r%c3%a9sum%c3%a9&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
&lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
&lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
&lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;Online courses should not only address learner looking for (non-)formal education and validated certificates but should also support the self-determined learner with its particular learning goals. Yes, my recommended educational strategy in the case mentioned above is a laboriously and hard-working solution in two aspects:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;You need to work out all different learning paths with their answers, examples, exercises, and tests.&lt;/li&gt;
&lt;li&gt;You need to provide an introductory section with a basic explanation of each branch so that students can make an informed decision.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I agree that these two requirements for the self-determined learner are additional work. But for MOOCs with their vast numbers of learners from different backgrounds, an individualized educational design would be valuable and economically feasible. Another advantage of the suggested instructional method to teach all approaches for a specific subject (e.g., ‘How to get data into the R environment?’) is that every one of these different procedures to choose from can be explained in exhaustive detail. As the various branches of the learning material separated in different self-contained modules, it is easy to add new methods or correct out-dated ones. With the proper design approach, each of these modules is an autonomous learning object that can be used in other (learning) contexts as well.&lt;/p&gt;



&lt;h2 id=&#34;references&#34;&gt;References&lt;a href=&#34;#references&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
&lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
&lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
&lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;section class=&#34;footnotes&#34; role=&#34;doc-endnotes&#34;&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id=&#34;fn:1&#34; role=&#34;doc-endnote&#34;&gt;
&lt;p&gt;Massive Open Online Course &lt;a href=&#34;#fnref:1&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;
</description>
    </item>
    
  </channel>
</rss>
