こちらでのファンディングのサクセスが難しいと判断し、ファンクラブの機能の利用を始めました。 アンプラグド・プログラミング・パーティ@大月 よろしければ、「アンプラグド・プログラミング・パーティ@大月 (略称: UPPP@大月)」でのご支援をお願いいたします。
「コンピュータを使わない、コンピュータとプログラミング入門」(アンプラグド・プログラミング・パーティ@大月, UPPP@大月)開催が確定しました。 会場: 山梨県大月市市立図書館会議室 日時: 9月10日、13:00〜16:00WWW: https://sites.google.com/view/kuzunull/uppp%E5%A4%A7%E6%9C%88
この講習を「アンプラグド・プログラミング・パーティ@大月」としました。 9月に行なうアンプラグド・プログラミング・パーティ@大月の内容がほぼ固まりました。小道具の1つの準備がまだ必要ですが。 課題は3つ用意しました。1つの課題にどれくらいの時間が必要なのか、あるいはどれくらいの時間をかけるのかの見込みが今ひとつ立たないので、もしかしたら用意した課題の1つのみ、あるいは2つのみを実際には行なうかもしれません。 なお、会場の使用の申し込みはしたのですが、使用できるかはまだ確定していません。昔、TRPGのコンベンションをある地域で開催していた時には、申し込みと料金支払いで確定していたのですが、こちらでの、特に今回利用する施設ではそういうわけではないようです。 ファンクラブも開設致しましたので、よろしくお願いいたします。
論理演算をそのまま考えるとか憶えるというのは、どれくらい意味があるのかなとは思います。ですが、プログラミングにおいてand、or、notは、条件文あたりで普通に使いますので、どうにかして触れないわけにもいかないとも言えるかもしれません。表をそのまま憶えるのが一番簡単ではあると思うのですが。 このあたりの論理演算だと、ガジェット・コンピューティングのような感じで作ってやることもできます。そんな一例は、次のようになります。上から順番に “and”、 “or”、 “not”です: これらの図を見てもらった上で、まず、“and”、 “or”、 “not” の論理演算がどういうものかを確認します。 “and”:入力A 入力B 出力 0 0 0 0 1 0 1 0 0 1 1 1 “or”:入力A 入力B 出力 0 0 0 0 1 1 1 0 1 1 1 1 “not”:入力 出力 0 1 1 0 これらを確認していただいた上で、上の図についてすこし説明をすると、 “and” の場合、下の片方の紐を引っぱっても、滑車を通ってもう片方の紐がでてくるだけです。両方の紐を引っぱると、そういうことにはならず、装置全体が下に引っぱられ、上の方の紐なのか棒なのかの位置が “1” になります。 “or” の場合、滑車ではなく結び目になっているので、下の片方の紐を引っぱれば、装置全体が下に引っぱられ、上の方の紐なのか棒なのかの位置が “1” になります。 “not” の場合は、軸にバネがついた腕木を用います。最初の状態では、左下の棒かなにかの位置は、 “0” であるのに対し、右上の方は “1” になっています。ここで、左下の棒かなにかを引っぱると、左下の位置は “1” になるのに対して、右上の位置は “0” になります。 と、1桁の “and”、 “or”、 “not” は、こんな感じのガジェットで実現できます。これは、説明には使えるかもしれませんが、論理演算を実際に理解できることに繋がるかというと、疑問ではあります。児童・生徒に面白いと思ってもらえるかも、正直なところ疑問です。 あまり複雑になっても、理解からは遠ざかるのではないかと思いますが、ガジェトを使う/使わないは検討の課題に残すとして、2bitどうしの加算回路 (桁上げフラグ付き) くらいは、動作を試し、児童・生徒にも体験してもらい、理解してもらうことを実現したいと考えています。 興味を持たれましたら、ぜひご支援や、コメントをお願いいたします。 プロジェクトの本文や、活動報告についての感想、ご意見、ご質問を、ぜひコメントでお寄せいただければと思います。現在は支援募集期間中であり、本企画の実施期間ではないため、お寄せいただいた感想などについてはリターンとしてではなく、お返事や回答をさせていただきます。 また、私個人についてはこちらをご覧ください。
先に「オートマトン」について触れました。その流れというわけではないのですが、セル・オートマトンなども題材にしてみたいなと考えています。 セル・オートマトン、とくに1次元のセル・オートマトンですが、与えられた規則の組に従って状態を変えていくセルが、無限に並んだテープのことです (『別冊サイエンス コンピューターレクリエーションI 遊びの発想』、p. 129より)。コンピュータの画面の幅は有限ですので、実際に遊ぶ場合には左端、右端を適当に切り落して遊びます。また、1次元ですので、画面の構成上は最小で1ドットの高さで表わせます。1ドットの高さでいいわけなので、縦方向には時間の経過によるセル・オートマトンの状態の変化を並べることが可能です。1次元のセル・オートマトンは、それが描き出す図を眺めてみるだけでも楽しいものです (1次元セル・オートマトン)。 1次元のセル・オートマトンから、2次元のセル・オートマトンになると、その一つがライフ・ゲームです。これも見ているだけでも楽しいものです。 1次元のセル・オートマトンも、2次元のセル・オートマトンも、「計算できることなら、何でも計算できる」種類のものがあることが知らせています。 これらのセル・オートマトンとはすこし異なりますが、コア・ウォーというゲームがあります。これはコンピュータのメモリを模した空間に、アセンブリ言語を模した言語で書いたプログラムを置き、対戦させるというようなゲームです。 1次元のセル・オートマトンも、ライフ・ゲームも、コア・ウォーもそれだけで面白いのですが、これを手作業でやるとなると、すこしばかり面倒です。それでもどうにか題材にできないかと考えているのは、セル、あるいはメモリ番地や、状態、あるいは状態の変化などの概念から、チューリング・マシンに繋げられないかと考えているためです。 もちろん、1次元のセル・オートマトンやライフ・ゲーム、コア・ウォーは見ているだけでも楽しいのですが、チューリング・マシンになると、そうはいきません。だいたいチューリング・マシンを題材にする必要があるのか、あるいは触れるだけでもその必要があるのかは、本企画の目的からすると不明です。あるいは、チューリング・マシンに触れるなら、λ計算には触れなくていいのかなどの問題も出てきます。このあたりは、第二版や第三版への課題として残すのが適切かもしれません。 ですが、どれについても、児童・生徒にわかりやすいように、また小道具を使って試してみることができるように、なにかうまい具合に落とし込むことはできないかと考えています。というのも、以下の活動報告で触れた、「計算という概念」にかかわることだからです:- 「ガジェット・コンピューティング」- 「sedで足し算(超簡略版)」- 「sedで掛け算(超簡略版)」- 「計算は自然か?」- 「計算ってなんだ?」- 「足し算はどういう計算なのか?」 「計算という概念」という考え自体、奇妙な考えに思えるかもしれません。それはあたりまえの概念のように思えるかもしれません。ですが、それはあたりまえの概念ではないことは、上記の活動報告などでわかってもらえたらと思います。あたりまえの概念ではないからこそ、今回の活動報告のようなことも含めて、児童・生徒にうまく提示する方法が必要ではないかと考えています。 興味を持たれましたら、ぜひご支援や、コメントをお願いいたします。 プロジェクトの本文や、活動報告についての感想、ご意見、ご質問を、ぜひコメントでお寄せいただければと思います。現在は支援募集期間中であり、本企画の実施期間ではないため、お寄せいただいた感想などについてはリターンとしてではなく、お返事や回答をさせていただきます。 また、私個人についてはこちらをご覧ください。