diff --git a/content/コードとデザイン 授業設計の覚書.md b/content/コードとデザイン 授業設計の覚書.md index c82203a8..c8f98f17 100644 --- a/content/コードとデザイン 授業設計の覚書.md +++ b/content/コードとデザイン 授業設計の覚書.md @@ -75,27 +75,31 @@ [WSの写真] ### Handmade Computer(3,5回) -第3、5回目を通じて、参加者は紙の上に銅箔テープで形成した回路の上に基礎的な論理回路をトランジスタを用いて構成する。第3回は、入力を単に反転するだけのインバーターを実装し、第5回では2つの入力が共に0のとき1を出力するNAND回路を実装する。トランジスタによるロジック回路の構成には、通常のトランジスタを用いたTTLロジックと、FETを用いるCMOSロジックの2種類が検討できる。 +第3、5回目を通じて、参加者は紙の上に銅箔テープで形成した回路の上に基礎的な論理回路をトランジスタを用いて構成する。このワークショップは、元々のSFPCの授業内で作っていたものになる。第3回は、入力を単に反転するだけのインバーターを実装し、第5回では2つの入力が共に0のとき1を出力するNAND回路を実装する。トランジスタによるロジック回路の構成には、通常のトランジスタを用いたTTLロジックと、FETを用いるCMOSロジックの2種類が検討できる。 -紙でやる理由 配線の注意点として、銅箔テープの裏面は粘着剤のため導電性がない。そのため、テープ同士を接続する際は、接点の角を小さく折り返した上で重ね、可能な限りハンダづけもすることを推奨する。もしくは材料の価格は上がるが裏面に導電粘着剤を用いているテープを使用する。また銅箔テープへのハンダ付は、あらかじめユニバーサル基板と比べてハンダの濡れ性が悪いため、可能であればフラックスを必要な数用意することを推奨する。 [NAND回路をTTLとFETのものそれぞれ、実物の写真] 回路構成について、本授業では2024年度まではTTL、2025年度はCMOSで行った。TTLで行うと、トランジスタの個数が少なくて済む一方、ベース抵抗などの部品点数が増える。CMOSロジックの場合、部品点数自体は少なくなる一方で、手で半田付け可能なPMOSトランジスタの入手性が悪い問題がある。本授業では価格と入手性、半田付けのしやすさを考慮して、2SK4017(NMOS)、MTP4835(PMOS)の2種類を使用した。 +### バイナリーカードゲーム +第4回では、浦川通によるバイナリーカードゲームを用いたWSを行う。バイナリーカードゲームは、トランプのような52枚のカードの中に、白か黒2種類のカード26枚ずつが入っているものである。参加者は、前半過去の参加者が提案したこのカードを用いるゲームを遊び、後半では自分たちでオリジナルのゲームを考案し発表する。 +ここでの目的は、ゲームのルールを通じて2種類のカードの列を二進数(=白を0、黒を1)と見立てて、二進数の計算の仕組みについて理解を深めることにある。このワークショップがインバーターの作成と、加算回路の間に挟まれることによって、単純なブーリアン同士のルール設定がより大きな数の計算に発展可能なことを直感的に理解することを目指す。 -アドバンスド +また参加者は同時に、自分たちでゲームのルールを考える過程を通じて、ゲームの進行、勝敗、終了条件の設定の中で、のちのプログラミングにおける論理的思考を養うこともできる。 -リングオシレーター、13 +ゲームを考案する中でのヒントとして、既存のカードゲームのルールを2進数で置き換えてみるのが学生たちにとってはわかりやすかったようである。例えばインディアンポーカーやスピードといったゲームを二進数バージョンで考えてみるといったゲームが生まれた。 - -バイナリーカードゲーム +このバイナリーカードゲームは、それ自体が浦川がSFPCに参加していた時の授業で行われた、二進数を理解するために二進数を教える道具やキットを作ってみる、という授業の課題を発展させたものでもある。つまり、カードゲーム自体が本授業の最終課題における小課題を発展させる(=実際にフィジカルなカードゲーム型の道具を作る)という実例にもなっている。実際、最終課題の中にはこの回の内容を発展させた教育キットやすごろくのようなものを作った学生も存在する。 ## 後半:Arduinoの実用 + + + Arduinoの選定 Leronardoか、Arduino Uno R4