一覧へ | 単元設計

道具 5 Streamlit で Web アプリを作る | 単元設計

Python を数十行書いて、入力すると結果が返るページを作り、人に使ってもらえるようにする 6 回です。回のファイル名は lessons/w-01〜w-06。

この単元の位置

HTML も CSS も JavaScript も出てきません。Python が少し書ければ、その日のうちに人が触れるものになるという道を通します。

この単元の値打ちは最後の 1 回にあります。自分の端末で動かしているうちは、自分しか使えません。第6回で公開して、他の人の端末から開けるようにするところまで行きます。探究 第12回 形にして、使ってもらうの社会実装は、ここで作ったものが受け皿になります。

本質的な問い

自分が分かったことを、他の人が自分で触れる形にできるか。

単元の目標(3観点)

観点目標
知識・技能入力の部品を置き、表を読み込み、図を出すアプリを作れる。公開に必要なファイルを用意できる
思考・判断・表現相手が何を入れて何が返るかを先に決め、それに合う部品を選べる。公開前に確かめるべきことを判断できる
主体的に学習に取り組む態度自分で触るだけで終わらせず、人に触ってもらって直そうとしている

評価課題(単元末)

「自分の調べたことを、人が触れるアプリにして公開する」(第6回)

観点BAC の生徒への手立て
知識・技能入力と出力がそろい、動く。公開して URL が開けるまちがった入力でも止まらないよう手当てしている第2回の 5 行のアプリに戻し、1 か所だけ変えさせる
思考・判断・表現何を入れると何が返るかを一文で書けている相手を決め、その人が最初の 10 秒で分かる説明を置いている「使う人は誰か」を先に決めさせる
態度一度は人に触ってもらっている触ってもらって直した所と理由を書いている隣の人に 1 分だけ触らせる

各回

回題書くものここでできるようになること
1アプリの実行と編集st.title st.write動かすまでの手順。app.py を保存して開く。書き換えると画面が変わる
2入力の部品st.slider st.selectbox st.text_input st.checkbox相手に入れてもらい、入った値で結果を変える。入力 → 処理 → 出力が 1 画面に載る
3表の読み込みst.file_uploader pandas st.dataframeCSV を受け取り、中身を見せる。列を選ばせる
4グラフの表示st.bar_chart st.line_chart st.metric選んだ列を図にする。どの図が合うかを決める
5状態の保持と画面の構成st.session_state st.sidebar st.tabs押した回数を覚える。設定を横に寄せる。長くなったら分ける
6公開と試用requirements.txtGitHub に置いて公開する。URL を人に渡す。公開前に確かめる

各回は 10分版・20分版・50分版の 3 つの進め方を持ちます。第1回だけは環境の用意があるので、20分版から始めます。

教室での動かし方(学校の環境に合わせる)

どれか一つが使えれば進められます。学校の実態に合わせて選びます。

やり方向く場面気をつけること
端末に Python を入れて動かす各自の端末に入れられるpip install streamlit が通るか、事前に 1 台で確かめる
クラウドの実行環境で動かす端末に入れられない学校の規定と、アカウントの扱いを先に確認する
教師の 1 台で投影し、設計だけ各自が書く環境が整わない第1〜5回は紙で設計できる。第6回だけ実機を使う

環境が整わなくても、第1〜5回は「何を入れると何が返るか」の設計として進められます。 教師用メモに、その場合の進め方を書いています。

公開する前に、必ず確かめる

第6回の中心です。3 つとも生徒に声に出させます。

  1. 個人が分かるデータを一緒に置いていないか。GitHub に CSV を入れると、誰でも見られます
  2. 相手が最初の 10 秒で何をすればよいか分かるか。説明を 1 行、上に置く
  3. まちがった入力でも止まらないか。空欄、0、とても大きい数を入れてみる

公開したものは、やめ方も決めます。誰が、いつ、どうやって止めるかまで書いておきます。探究 第12回の引き渡しメモと同じ考えです。

情報の授業とのつながり

思い出すこと戻る回生徒が聞いた言葉
目的から手順へ情報Ⅰ (3) 第11回目的・手順・プログラムの順で作った
プログラムの評価と改善情報Ⅰ (3) 第12回プログラムの評価と改善
頼む側と返す側情報Ⅰ (4) 第3回サーバとクライアント
入口と出口の約束情報Ⅱ (4) 第11回入口と出口は約束、中身は自由
わざとおかしな入力を情報Ⅱ (4) 第13回想定外の入力でも止まらないか
図の選び方情報Ⅰ (4) 第9回この問いに合うグラフはどれか

詳しいコードは 情報学探究マニュアル 第9節 にあります。

どの段階で使うか

設計指針(第2版)との対応

他校でそのまま使える形にする

学校固有の呼び名や校内の道具名は書きません。動かし方を 3 通り用意し、環境が整わない場合の進め方も各回に書きます。コードはすべて枚の中に載せ、外のページを見に行かなくても進められます。

出典