RStudio.cloudを利用した小中学プログラミング授業の可能性

馬場美彦

16 April 2022

About Me

  • 博士(医学)、専門: 科学的介護, 地域包括ケア, まちづくり
  • 介護施設長, 杏林大学非常勤講師
  • Fink Project メンテナ
    • macOS 版 APT (主にmacOS 10.9 以降で対応)
    • R 3.1-4.1 を共存可能
  • 毎週土曜に RStudio 勉強会開催中

コメントは https://forms.gle/dkVuHoJMktkJqQ8t8

小中学校教育の動向

  • 小学校の外国語教科化
  • 小中高におけるプログラミング教育
    • 1「プログラミング的思考」を育む
    • 2 プログラムの働きとコンピュータを利用した身近な問題の解決
    • 3 各教科の学びを確実にする
  • 小中高における統計教育
  • 地理情報システム
  • ICTを活用したアクティブラーニング

新小学校学習指導要領におけるプログラミング教育

プログラミング的思考とは? 

  • 順次進行
  • 条件分岐
  • 繰り返し

異論があるかと思います > コメントへ

GIGAスクール構想の配布端末

  • Windows 10, 画面9~14 inch (11~13 が望ましい)
  • Google Chrome OS, 画面9~14 inch (11~13 が望ましい)
  • iPad, 画面 10.2~12.9 inch, Bluetooth 接続でない日本語 JIS キーボード

GIGAスクール構想の実現標準仕様書

公立小中学校に配布された端末(748万7,402台)

  • Google Chrome OS 27万8,110台
  • iPad OS 210万7,935台
  • Microsoft Windows 210万1,357台

https://reseed.resemom.jp/article/2021/03/03/1164.html

教育学の基礎

  • 子供は、タブラ・ラーサ (何も書かれていない書板) である。
    (John Locke FRS)
  • 「小児は小さな大人ではない」
    (Jean-Jacques Rousseau)
  • 母親よ、子どもの遊戯をはぐくみ、育てなさい
    (Friedrich Wilhelm August Fröbel)

ピエアジェの発達段階

  • 感覚運動期 (誕生から2歳まで)
  • 前操作期 (2歳から7歳)
  • 具体的操作期 (7歳から11歳): 「文章題の世界」と長さ・重さ・体積の概念形成
    > ビジュアル言語、ロボット
  • 形式的操作期 (11歳から): 「方程式の世界」
    > テキスト言語

発達段階とプログラミング

  • IF-THEN型の論理構成は9歳10歳まで理解できない。また、論理的思考は、11歳以降でなければ理解するのは難しい。」
  • 論理的な考え方、抽象的な能力が 限られているので、それが備わってからやるべきであ る。Scratch の主なターゲットは 8 歳以上である。」
  • フローチャートの学習は小学校 5 年生以上になってからでないと難しい。よほど優秀な 場合は小学校 4 年生でもできる場合もあるが、小学校 3 年生以下にはまず不可能である」

(2015年6月)「プログラミング人材育成の在り方に関する調査研究報告書」p. 103

年齢とプログラミング言語

  • 順次実行 (フローチャート): 小学5年から?
  • 条件分岐 (if then): 中学1年から?
  • 繰り返し (for)
年齢 プログラミング言語
3-9歳 Viscuit
9歳- Scratch 等ビジュアル言語
年齢未設定 Java, Objective-C, HTML5

プログラミング人材育成の在り方に関する調査研究報告書 pp. 43-44

学年とグラフ

  • 棒グラフ 3年生
  • 折れ線グラフ 4年生
  • 帯グラフ、円グラフ 5年生
  • ヒストグラム、正比例グラフ 6年生

* グラフコンクール * コバトンと学ぶこども統計クラブ

RとRStudio

  • 小学生であってもグラフは理解できる
  • 5-pane レイアウト + outline の強み
  • 条件分枝と繰り返しは避けることができる
  • Python も可能

5-pane レイアウト + outline

順次実行

  • 順次実行ではあるがシンプル
  • パイプは避けた方が良い
library(readxl)
dfYama <- read_excel()
library(ggplot2)
ggplot(dfYama, aes(x=やま)) +
  geom_bar()
  • RStudio では、チャンクを分けることができる

条件分枝

  • R では、条件分枝を使わなくても多くのことができる
  • ただし、評価式は必要
dfYama <- read_excel()
dfYamaSekai <- dfYama

繰り返し

一般的な言語:

for(i = 0; i < len(a); i++){
  a[i].menseki = pi * a[i].hankei ^ 2
}

R:

dfKatachi$menseki <- pi * df$hankei ^ 2

Python

RStudio の SWOT

Strengths

  • 本格的なプログラミング言語
  • Python も可能
  • RStudio.cloud を使うことで環境が統一できる

Oppotunities

  • グラフは小学1年生から使う
  • グラフコンクール

Weaknesses

  • インストール直後にトラブルが多い
  • メッセージの多くが英語のみ
  • スタイル(命名規則など)が統一されていない
  • iPad が使いづらい

Threats

  • Rを嫌いになる生徒が出る

結論

  • グラフ作成は小学生にも向いている
  • R は、条件分枝や繰り返しなど、発達の段階に達していない論理構造を避けることができる
  • RStudio は、変数やデータフレーム、グラフなどビジュアルに優れている
  • 本格的なプログラミング言語なので、将来に繋がる

コメント