Web技術を活用したプログラミング学習基盤の開発
クリエータ:坂口 楽(成蹊大学 理工学部 情報科学科)
担当PM:五十嵐 悠紀(明治大学 総合数理学部 先端メディアサイエンス学科 専任准教授) age
Scratchは教育用に特化
ちょっと違和感…yuki384.icon
一般的な業務に使うことはできないから「教育用」という表現なのかな。yuki384.icon
ビジュアルとテキストのプログラミングどっちにフォーカスするかの説明と、教育と実践的プログラミングの話をうまく伝えるのが難しいのかなyuki384.icon
動作プラットフォームが限られているけれど、アニメーション作品やゲーム作品などを実現できるので、インタフェースこそコードではなくブロックだけど、明確に教育用と呼ぶのは難しいと思ったyuki384.icon
たとえばProcessingで初心者向けにプログラミングの基本概念とメディアアートの表現手法を学べる授業を行う大学はあるけど、それは「教育用」と呼ぶものではない気がしますyuki384.icon
あとは公式に「教育用に開発しています」と言っているかどうかで変わるんですかね…どうなんだろうyuki384.icon
なるほど、考えたこともなかった、考えたことないが無限に広がった。akihiro-kiuchi.icon
Scratchで開発したゲームを小学生がやりすぎちゃうからScratch禁止みたいな事例の話を聞いたことがあるので、ScratchはもうSteamみたいなゲームプラットフォームレベルなんだなと驚いたことあります egct.icon
小中学生がプログラミング始めるのってクリエイティブなゲームを遊んでる感覚な気がしていて(自分もそうだった)、scratch とかはゲームとプログラミングの混ざりあった領域なんだと思うzakuro.icon
やはり実務で使えるツールキットが普及しているかみたいなとこが一般的にそこで止まっている原因かもしれない(git使えない、ビルドできないとか)ebiyuu1121.icon
逆にいえば周辺ツールが整えばScratchを業務に使える可能性もあるのかもな、と考えさせられましたebiyuu1121.icon
日本語プログラミング言語のなでしことか、Excel/Wordの操作機能がついて英語に抵抗がある人向けの仕事自動化言語としても使えるようになったりしてるnishio.icon
「教育用」という言葉のニュアンスをどう解釈するかが人によって多様ってことだなと思いますnishio.icon
「Scratchを教育用と呼ぶことに違和感がある」と感じる人もいるし、感じない人もいる
僕は「Scratchも、Processingも、Pythonも、Schemeも、全部教育用と呼んで差し支えない」という気持ち
いや待てよ「教育用に特化」といわれると「特化」の部分が気になるな…
scratch 自体は「子供向け」となっていた記憶があるので、「教育向け」というのもそこまで間違ってない気がするけど、ブロックプログラミング環境という範囲になると業務用でも存在するはずzakuro.icon
「プログラミング教育」の目的が、概念の理解や「ろんりてきしこう」の習得なのか、業務に使うためのスキルを身につけることなのか、どこにあるのかが人によって違いがちyuki384.icon
このプロジェクトはブロックプログラミングで概念が理解できても、テキストプログラミングにありがちなミスでつまづいてしまうというシーンのためのものなのかな。質疑応答でなんとなく理解yuki384.icon
この「教育用プログラミング環境」と「実践的プログラミング環境」の隔たり、ちょっとプログラミングを教えようとするとすぐぶつかる壁ebiyuu1121.icon
「すぐにプログラミングを生かしたい」というプログラミング未経験者に何を教えればいいのかわからなくなる。ebiyuu1121.icon
最近知った教育用言語に sunaba というのがありましたebiyuu1121.icon
昔 SmallBasic というのがあって(今もあるのかな)、私はそれでプログラミング始めたけど、あれはいい環境だった(標準機能で亀が歩いてかわいい)zakuro.icon
しっかりいろいろ作り込まれてるなあjarakawa.icon
UIが整ってますねshimojima_ginshi.icon
ロボット先生だshudo.icon
機能もUIも実用的ですごいyuki384.icon
Jupyter Notebook対応というのは、Jupyterからインポートできるということなのかな(ちょっと理解し損ねた)ebiyuu1121.icon
Notebook の作り方のところで、インポートできる、って話がありました。shudo.icon
使ってもらうハードルを下げるの、大事yuki384.icon
一定時間操作がなかったら、つまづきと判断shudo.icon
これは何人くらいで使うことを想定しているんだろう?yuki384.icon
→ローカルで動くのでサーバ負荷とかもなく、何百人でも、との回答
日本語エラー文、とてもえらいebiyuu1121.icon
ふりがなプログラミング的UIになると英語のエラー文も読もうというモチベになるのかもebiyuu1121.icon
普通に自分も欲しいshimojima_ginshi.iconatuyoti.icon
環境構築が楽というwebのメリットを活かしつつ、スタンドアロンで動かすことでネットワーク等の問題点も解決していてとてもいいebiyuu1121.icon
オフラインでもつまづき検知とかまでできるんだろうかshimojima_ginshi.icon
2022年度から、高校での情報Iの扱いは「必履修」ってのになるらしいです。受講は必要だけど、評価は必要ではないという。shudo.icon
本来は個々で見るのがいいんだろうけど、全体でも確認できるのは忙しい先生にとっては嬉しいんだろうなぁebiyuu1121.icon
限られたリソースで適切に個々をサポートするためにも、全体の把握ができるのが嬉しいのかもしれない?yuki384.icon
たしかに、全体を見てあるパターンでつまずいてる人が多ければ、それぞれの人にサポートするより「はい、こういうエラーの人は聞いてね!」って全体に話す方が低コストなときありそうnishio.icon
ログを見て先生が自発的にアドバイスするだけじゃなくて、生徒からの質問を受けてからログを見れる見られるのが便利でもあるのか。なるほど。ebiyuu1121.icon
「見れる」×「見られる」○yasutaka.sakayori.icon
import文を書いたら裏でインストールするってのはどういうことだろう、何をインストールするべきか確定しないと思うが「いくつかの有名なものに関してはimport文とインストールするパッケージの対応づけをしてある」ということなのかなnishio.icon
大学生以上というより中高生向けなのかな?
環境としてしっかりしてるから自由度は少ないとも言えるけど、逆に初学者にとっては自由度の高さはマイナスに働くかもしれないからいいと思う。教育って難しい・・・y0yff.icon
つまづき検知、エラー検知があるってことはリアルタイムでの学習、同期的な学習を想定しているのかな?
それだと対面授業で効果を発揮しそうy0yff.icon
坂口くんの問題意識はどこから生まれたんだろう・・・
情報法制2000個問題への問題意識から来たのか、それとも学習基盤開発の意欲から来たのかy0yff.icon
プログラミング教育における目的って、楽しさ・効率性・挫折しないこと・(プログラミング的な)思考力・コンピュータの理解・(離散)数学力・・などなどどれに設定するかで、どういう開発環境とか教育内容が要求されてるか変わる気がする。ので発表で言ってたかもですがこのプロジェクトのより細かな教育の目的が気になりました egct.icon
近いことを質問してみました。字面からすぐにわかりそうなことの先に、どういう支援ができるか?は、実地に適用してみて綿密に観察して考えてくのかな、と。shudo.icon
↑確かに!何をよしとするかでターゲット層が分かれそう
効率性は絶対、中級者だと思う笑y0yff.icon
エラー指摘とかってある程度応用効くんだろうか。そうだったら例えば「自由課題」みたいなものにも使えると便利だなあと。ebiyuu1121.icon
Scrapboxからも質問を拾っていただけるのか。ebiyuu1121.icon
progateとかと違い、パターン内でないエラーにもちゃんと対応できる
↑これ、これだけで普通にすごいと思ったんだけどそんなことないんだろうかshimojima_ginshi.icon
大学の学部1年生向けにプログラミングを含む講義(コンピュータサイエンス)を担当してきました。受講生が70人くらいいると、自分 + TA 2人でも、つまづいている人達を網羅するのは難しいです。オンラインだと取り組んでいる様子を覗き見ることも困難なので、なおさらです。坂口さんの成果物のように、つまづきを自動検出してくれたり、さらには集計してくれたりするのは、とても有用だと思います。shudo.icon