▼ご挨拶
本企画 (CAMPFIREにおけるプロジェクトではなく、活動として行なうもの) は、アンプラグド・プログラミング・パーティ@大月の主催によるものです。活動は、原則として各月の第一土曜日に、山梨県大月市市立図書館会議室にて行なっています
本企画では、手続き型、関数型、論理型、およびオブジェクト指向 (クラス・ベース、およびプロトタイプ・ベース) のプログラミング言語を使用してきた経験から、手続き型に限らない、プログラミングについての基礎的な部分の理解を小学生や中学生、そして保護者や教員に向けての講習を行ない、またその結果を教材・指導用教材・資料としてまとめたいと思います。
ここで言う「基礎的な部分」とは、おおむね次のようなものです:
- 「手順 (≒ Logic)」
- 「制御構造 (≒ Control)」
- 「データ構造 (=Data Structure)」
課題・問題に対してこれらを考えることを、まとめてデザインあるいは分析と呼びます。この考えかたを知っていれば、プログラムを書き始める前に問題をよく分析でき、問題についての理解も、またプログラミングについての理解もより深いものになるでしょう。
本クラウド・ファンディングが成立した場合、本企画の実施期間は、ご支援がこちらに届くのに先行して2019年2月から、2019年1月までを予定しています。
なお、ご支援の受付期間内に、内容についてのなんらかのご質問がある場合、活動報告へのコメントとしていただければと思います。
随時、あるいは個別に回答させていただきます。
▼この企画で実現したいこと
本企画では、実際に小学生や中学生、そして保護者と教員に向けた講習を行ない、そのフィードバックを反映した教材・指導用教材・資料(各回の講習後のミーティングの内容など)の作成を目指します。なお、リターンとしての指導用の教材は、教材、資料のいずれにも含まれます。
本企画に先行するものとしては、特定の言語を題材にした初級あるいは入門のための書籍がある。前半は物語形式で、ところどころ知っているに人はクスリと笑えるネタが挟まっています。後半がプログラミングの入門という内容で、解説と課題があります。
ですが、それらの解説や課題は児童を意識したものではあっても、その構成は、プログラミングの入門についての他の書籍とおおむね似たものになっています。
ただし、あまり具体的な内容ではないとも言えるかと思います。
対して、コンピュータを使わず、それ以前の考え方を学び、実践することを題材とした書籍もある10個ほどの具体的かつ体験的な課題が収められています。目的は児童・生徒のためのコンピュータ・サイエンスについての教育ですが、対象はむしろ教員であり、指導の際のネタ本という側面が強い書籍です。また、それぞれの課題の背景には、コンピュータ・サイエンスの比較的高度な内容が存在している点も特徴でしょう。
本企画では、パズルやゲーム−−特に目的とルールが明確なパズルやゲーム−−を複数用い、アンプラグドな環境において、その解き方にいくつかの考え方があることを−−そしてそのためには、いくつかのデータの表わし方があることを−−、講習への参加者自身が楽しんで、体験的に、そして発見的に理解できる講習および教材の作成を目指します。
付け加えるなら、コンピュータやプログラミング、アルゴリズムの考え方を、入門あるいは初級の児童などを対象にした内容を実現したいと考えています。
複数のパズルやゲームを用いるのは、小学生が「繰り返すこと」、「飽きないようにすること」とともに、教材で扱かう情報工学における課題の「抜けや落ち」を回避するためでもあります。
教材に反映するパズルやゲームは、本企画で実施する講習を通して決めていきたいと考えています。
本企画が実行できた場合、第二版、第三版へと、成果をフィードバックしていく予定です。
第二版、第三版においては、タブレットやPCを用いたプラグドな環境も検討していきたいと考えています。
現在、一先ず第三版までを想定しています。
また、第二版、第三版と、教材および資料の配布数も増やしていきたいと考えています。
その場合、ご支援の単価 (?) は下げていきたいと考えています。
▼教材の想定している概要:
●はじめに:
教本の概要や、教材の考え方を紹介する。ただし、以下のものは案です。
●第一章: プログラムに触れてみよう(仮題)
トランプあるいは自作カードを用い、数当てゲームを試してみる。
ここでは具体的な話には入らず、低学年児童 (あるいは児童・生徒) が
「何かをした」ということで〆める。
●第二章: プログラムってなんだろう?
プログラムとはなんなのか、どういうものなのかの定義の概略をいくつか紹介する
●第三章: 数当てゲーム
第一章の数当てゲームを再び題材にして、
どうやったかを書き出し、自分自身で何回か試してみる。
また、自分が書き出したやりかたを、他の人に試してもらう。
うまくいく時、うまくいかない時を確認し、書き出したやりかたを修正し、
いつもうまくいくやり方を見付ける。
また、自分が考えたやりかたと、他の人のやりかたとの違いを理解する。
ここで、木構造を紹介する。
手続き型以外の考え方を紹介する。
●第四章: 並ベ換えてみよう(仮題)
ソートを題材にし、第一章、第三章の数当てゲームと同様に、
問題を解いてみる。
また、ここでは、配列、および木構造を紹介する。
●第五章: 迷路を解いてみよう(仮題)
迷路を題材にし、第三章などと同様に、問題を解いてみる。
また、ここでは、配列、および木構造、グラフを紹介する。
●第六章: パズルを解いてみよう(仮題)
パズルを題材にしたもので第三章と同様のことがらを試す。
●第七章: シミュレーション (仮題)
コンピュータによるシミュレーション、数値計算について学ぶ。以下など
(上図: アンプラグド・プログラミング・パーティ@大月著作物より)
●第八章: 計算の原理
チューリング・マシン
λ計算
(上図: アンプラグド・プログラミング・パーティ@大月著作物より)
●第九章: 動くものには状態がある(仮題)
webページやリモコンなどを題材に、ここではオートマトンを紹介する。
●おわりに
第一章から第九章までの内容をまとめる。
現状想定している内容は上記のとおりですが、より楽しく学べるように、またより深い理解が可能となるように、講習をとおして課題やその詳細は詰めていきたいと考えています。そのため、内容は大きく変更される可能性があります。
▼資金の使い道
52,000円: 会場費 (計10回を予定)。
50,000円: 講習の広告費など。
50,000円: 小道具の準備費:
トランプ、パズル、ゲームなど。いずれも教材用:
1,000円 x 10個 (講習の参加人数) x
5種類 (講習に用いるパズルやゲームの種類)。
5種類のパズルやゲームから3個を目途に、教材に反映するものを選びます。
90,000円: 小道具制作費:
小道具の利便性のための加工、
講習で用いるデモや説明用の小道具の制作、
その他の独自の小道具の制作など。
外注の検討を含む。
50,000円: 参考資料購入費。
648,000円: 協力者の人件費:
開場設営・受付の手伝い、講習のアシスタント、
事前ミーティング、事後ミーティング:
1,700円/時 x 8時間 x 3人 x 10回 = 408,000円。
講習の記録の整理および分析の手伝い: 110,000円:
次の講習に向けての、教材と資料の下読みを含む。
教材や資料に使うイラストの購入や外注の検討を含む。
教材と資料の作成の手伝い: 110,000円:
教材と資料の下読みを含む。
教材や資料に使うイラストの購入や外注の検討を含む。
960,000円: 当人の人件費:
80,000円 x 12ヶ月: 960,000円。
300,000円: 教材作成用PC購入費
700,000円: 資料制作用PC周辺機器、バックアップ機器、雑費および予備費。
実際の金額は、上記金額からCAMPFIREの諸手数料 (17%) を引いた、つまり0.83をかけた値になります。
▼リターンについて
本企画実施期間:2019年2月~2019年1月
本クラウド・ファンディングが成立した場合、本企画の実施期間は、ご支援がこちらに届くのに先行して、上記のように2019年2月当初から2020年1月を予定しています。
また、以下に示す教材、資料、ご質問への回答、ワークショップなどは、いずれもご支援いただいた方へのリターンです。リターンとしての教材については、2019年2月中に、用意している題材のリストをお送りします。また、2019年7月中を目途に、教材の草稿の第一版をお送りします。また、2020年1月中を目処に、教材の草稿の第二版をお送りします。
本企画では、リターンとしての教材や資料は電子媒体のみを想定しています。
これは、印刷にかかる費用を削減するためです。
ただし、クリエイティブ・コモンズの「表示 - 非営利 - 改変禁止 4.0 国際」による制限、加えてクリエイティブ・コモンズの範疇からは外れますが、独自に「メールやクラウドを含むネットへのアップロードの禁止」という条件をつけさせていただきますので、遵守いただけるようお願いいたします。
この「メールやクラウドを含むネットへのアップロードの禁止」は、支援していただいた方が教材や資料を所有するという権利を確保するためのものです。
なお、プリント・アウトや紙媒体のコピーを支援していただいた方がそれ以外の方に配布することは禁止しません。プリント・アウトや紙媒体のコピーの配布は、職場などの範囲において必要かもしれないと考えての対応です。
本企画の実施期間中は、CAMPFIRE、あるいは他のサイトにて適宜進捗などの報告を行ないます。本企画実施期間中においても、それらを参照の上、ご質問をいただければ、随時あるいは個別に回答したいと考えています。
本企画の期間中、あるいは終了後において、ワークショップ、ミーティング、会議などにお呼びいただいた場合、内容に関しての講演を承ります (交通費などの実費は別途とさせていただきます)。
講演の時期は、2019年 5月、8月、11月、2020年 2月を基本とします。また、本企画終了後の講演の時期は、2020年 5月を基本とします。これらの時期に及びいただければ、進捗あるいは総括の講演をいたします。
その際の具体的な日時などは、ご相談の上で決めさせていただきます。
▼最後に
需要があるのか、また短期間なので不安ですが、よろしければご支援をお願いいたします。
▼リターン
●2,900,000円 【出版社さま向け】
ご支援いただけた場合、本教材および本指導用教材の第一版第一刷の出版権者とさせていただきます。
その際、本教材および本指導用教材の内容についてはご支援いただいた出版社様と打ち合わせ、またご助言、ご助力をいただき、より出版に適した内容とし、確実に出版できることを目指します。
あるいは、教材、指導用教材を、出版社様による企画の「原作」ないし「原案」としての採用も、当方では検討の範囲に入っています。
これらの契約に関しては、お互いに納得がいく形で行えるよう、充分な打ち合わせを行ないたいと思います。
●200,000円 【企業・団体様向け】(個人からのご支援も可能です)
児童・生徒教材、指導用教材および資料の電子データ。
また、児童・生徒用教材、指導用教材および資料の電子データに、ご支援いただいた企業・団体のお名前、およびご提供いただいた場合には協賛としてロゴ(印刷時、最大A5サイズまでの大ぶりのもの)などを掲載いたします。また、当方のウェブページにも掲載させていただきます。
本企画期間中にご質問をいただいた場合、随時あるいは個別に回答いたします。
本企画期間中、あるいは終了後、お呼びいただけた場合、講演を行ないます (交通費などの実費は別途)。
●100,000円 【企業・団体様向け】(個人からのご支援も可能です)
児童・生徒教材、指導用教材および資料の電子データ。
また、児童・生徒用教材、指導用教材および資料の電子データに、ご支援いただいた企業・団体のお名前、およびご提供いただいた場合には協賛としてロゴ(印刷時、最大A6サイズまでの大ぶりのもの)などを掲載いたします。また、当方のウェブページにも掲載させていただきます。
本企画期間中にご質問をいただいた場合、随時あるいは個別に回答いたします。
本企画期間中、あるいは終了後、お呼びいただけた場合、講演を行ないます (交通費などの実費は別途)。
●50,000円 【企業・団体様向け】(個人からのご支援も可能です)
児童・生徒教材、指導用教材および資料の電子データ。
また、児童・生徒用教材、指導用教材および資料の電子データに、ご支援いただいた企業・団体のお名前、およびご提供いただいた場合には協賛としてロゴ(印刷時、最大A7までの小ぶりのもの)などを掲載いたします。
本企画期間中にご質問をいただいた場合、随時あるいは個別に回答いたします。
本企画期間中、あるいは終了後、お呼びいただけた場合、講演を行ないます (交通費などの実費は別途)。
●10,000円 教材、および資料の電子データ。
児童・生徒教材、指導用教材および資料の電子データ。
本企画期間中にご質問をいただいた場合、随時あるいは個別に回答いたします。
教材、指導用教材、資料に、希望される場合、お名前を掲載いたします(14〜16pt)。
本企画期間中、あるいは終了後、お呼びいただけた場合、講演を行ないます (交通費などの実費は別途)。
●6,000円 教材 (抜粋) の電子データ
児童・生徒教材、指導用教材および資料の電子データの一部(三章分)。
本企画期間中にご質問をいただいた場合、随時あるいは個別に回答いたします。
教材、指導用教材、資料に、希望される場合、お名前を掲載いたします。
本企画期間中、あるいは終了後、お呼びいただけた場合、講演を行ないます (交通費などの実費は別途)。
●4,000円 教材(抜粋)の電子データ。
児童・生徒教材、指導用教材および資料の電子データの一部(二章分)。
本企画期間中にご質問をいただいた場合、随時あるいは個別に回答いたします。
本企画期間中、あるいは終了後、お呼びいただけた場合、講演を行ないます (交通費などの実費は別途)。
●3,000円 教材 (抜粋) の電子データ
児童・生徒教材、指導用教材および資料の電子データの一部(一章分)。
本企画期間中にご質問をいただいた場合、随時あるいは個別に回答いたします。
本企画期間中、あるいは終了後、お呼びいただけた場合、講演を行ないます (交通費などの実費は別途)。
最新の活動報告
もっと見る興味を持たれないプロジェクトかも
2018/12/27 09:23プロジェクトの期間の半分ほどを過ぎていますが、ご支援は0件です。理由はいくつかあるかもしれません:- プロジェクトの説明の本文がわかり難い- ご支援額とリターンのバランスが悪い- リターンが魅力的ではない- そもそもこのプロジェクトに基づく企画が魅力的ではないといったところでしょうか。CAMPFIREにはその機能はないようなのですが、期間の半分程が過ぎてご支援が0件というところから、正直本プロジェクトを削除していいのではないかと考えています。本プロジェクトによるご支援の対象となる本企画の母体の講習会にも、本プロジェクトによるご支援の対象となる本企画にしても、興味を持たれないのであれば、そもそもやる意味がないのかもしれません。この30年ほどの資料を調べ、それらを元に課題案を並べ、またそれらを元に課題の内容を作ったのは結局無駄な労力だったのかもしれません。どのような理由であるにせよ、これまでにご支援をいただけるほどには興味をもっていただけなかったわけですから。プロジェクトの削除はできないとしても、プロジェクトの期間が終了するまでこのまま放置することも考え始めています。気分次第で活動報告になにか書くことはあるかもしれませんが、このプロジェクトとは関係のないものになるかもしれません。実際に放置するかは年内くらいに決めたいと思います。これまでプロジェクトの本文や活動報告を読んでいただいた方々にはひとまずお礼を述べさせていただきたいと思います。 もっと見る
複数のプログラミング言語を習得する理由と、しなくてもいい理由
2018/12/27 00:42「自己増殖型言語」にてこう書きました:>「プログラムを組むことができる」とはっきり言える人は、10個や20個のプログラミング言語は使えるでしょう。その全部を資料なしにというわけではないでしょうが。ならば、代表的と言えるような5,6個の言語すら検討できないというのは、好奇心の欠如か、能力の不足であるように思えます。教員の仕事が忙しいのはわかります。ですが、「だとしても」です。このように複数のプログラミング言語に触れる利点はなんでしょうか?同じような言語に触れていてもあまり意味はありませんが、考え方が違う言語に触れるということは、問題に対しての考え方を複数持つということに繋がります。そしてもちろん、言語あるいはパラダイムごとに得意な処理があるので、問題に応じて使い分けるという選択肢も得られます。以前、本プロジェクト、本企画の母体である講習会にて「C言語かN88-Basicを使えれば問題ないでしょう?」と仰った方がいました。N88-Basicは極端としても、講習会で聞く限り、プログラミング言語は1つ使えればいいと考えている方も少なくないようです。どちらも汎用言語ですから、その認識がまったく間違っているとは言えません。ですが、こっちの言語を使えばもっと簡単に問題を解けるという例はそこら辺にいくらでも転がっています。「教育用言語」において awk (gawk) を出したからですが、文字列処理をするなら awk (gawk) はかなり賢明な選択でしょう。同じようなことをC言語でやるとしたら、かなり面倒になることは想像に難くないと思います。このあたりは ruby でも Python でも構いませんし、どれだけ汎用なのかを考えれば、 ruby や Python を選ぶという選択肢もあるかと思います。ここで一つ重要なのは、すくなくともユーザー・レベルであれば、なにもかもを一つの言語で書いてしまうのではなく、複数のツール (どの言語で書かれているとしても) を組み合わせて処理をするという考え方です。これは unix の基礎的な考え方でもあり、今もって有効な考え方です。とは言え、本企画およびその母体の講習会では細かいところにまで入るつもりはありません。問題に対して複数の考え方がある、あるいは複数の考え方を繋ぎ合わせて処理をするという考え方があるというところに留めるつもりです。もちろん、「留める」とは言っても、それぞれの処理や処理の考え方を実現しやすい言語があるというところには触れます。しかし、それ以前に問題をどう考えるかが掴めていないと、このおおきな問題には入れません。そのためにこそ、特定の言語を用いるのではなく、そもそもの考え方を体験し理解したもらえるようにしています。興味を持っていただけたなら、ぜひご支援をお願いしたいと思います。 もっと見る
乱数で円周率を推定する
2018/12/24 23:02次回 (2019年 1月) の課題予定に「乱数で円周率を推定する」という課題が入っています。本プロジェクト、本企画、本企画の母体の講習会がどういう感じなのかをこの例で簡単に説明します。まず、円周率を求めたいという問題があります。これは代数的にも幾何学的にも求められますが、ここではシミュレーションを通して求めることにします。さてシミュレーションでどのように求めたらいいのでしょうか? まずは、πが含まれている式をともかく書き出します。この過程は、実はなくてもかまいません。あった方がわかり易いのでいれています。さて、その式を、 "π = なんとか" となるように変形します。この段階で、あるいはそれ以前から、正方形と円、あるいは正方形と四分円の面積の関係が見つかります。面積ということであれば、正方形と円、あるいは正方形と四分円をいくつかの区画に分割するという方法が見つかります。ここで乱数の出番です。縦横を仮にそれぞれ10分割し、計100個の区画に分けることとし、10面のサイコロを何回も振って、どの区画に入ったかを数えます。この過程で、円の中に入る場合と、円からは外れて外接する正方形には入る場合があります。円の中に入った回数と、円の中に入った回数+円からは外れ外接する正方形に入った回数から、円周率が推定できるわけです。ここでは10面ダイスを使いますが、これは一様な出目であることが期待されます。仮に6面ダイス2個の出目の合計を使うなどとなると、一様な出目にはならないことが期待されます。そこで、なぜ一様な出目であることを期待するのでしょうか。このあたりで乱数の性質についての話になります。また、得られる推定値はそれほど精度のいいものではありませんが、それはなぜなのか、そしてこの手法で得られる理想的な精度はどれくらいであり、その精度はどうしてそう言えるのかという話になります。また、シミュレーションにおける「理想的な結果」とはどういうものかにも触れます。このように体験を通して理解できることを目指しています。現在用意してあるテキストには上記の内容や手順が書かれています。なお、いろいろな定数や計算結果について、簡単ながらもいい精度を得られる計算方法がある場合もあります。円周率の場合 "355 / 113" が有名で、誤差が10^(-6) くらいの精度を持つ結果が得られます。 こういうものを求めるためにはまた別の知識が必要になるので、これについては "355 / 113" を紹介する程度に留めますが もっと見る
コメント
もっと見る