スポンサーサイト

0

    一定期間更新がないため広告を表示しています


    • 2014.12.23 Tuesday
    • -
    • -
    • -
    • -
    • -
    • by スポンサードリンク

    「わりびき」の解説 #Scratch Advent Calendar 2014 day 7

    0
      Scratch Advent Calendar 2014 7日目の記事です。
      前の日はうちの小4による「"わりびき"をつくりました」 でした。
      次の日は募集中です。誰か書きませんか?

      「わりびき」が誕生したきっかけは、Nagoya.php vol7でした。
      ※Nagoya.phpは名古屋でだいたい隔月開催しているPHPの勉強会です。勉強会ですが、LTや発表にはそれほど重点はありません。プログラム問題を課題に皆で黙々と時にわいわいとPHPのコードを書いている勉強会です。

      Nagoya.php vol7で選ばれた課題が偶々再帰を使う問題で、さらに偶々PHP初心者(プログラミング初心者も含む)が多い回だったため、終了後に常連の間で「再帰はプログラミング初心者にはハードル高い」「再帰を理解できるかどうかがプログラマ思考の分かれ目では?」という話になりました。
       
      そこで、「プログラミング初心者(といってもScratchを使ってすでに2年近く経とうとしているんですが)のうちの子供に再帰を使わせてみよう!」という話になったわけです。
      が、ハノイの塔は難しすぎる気がして(なにせ私自身イメージが湧かない)何か他に良いネタはないかと考えていたら、子供自身から何気なくネタが提供されました。
      「もし割引券を何枚でも使えたら、いくらでも安くできる?いくらまで安くできる?すっごく高いものがタダで買えたりする?」

      そのネタが飛んできたのが外出中だったこともあり、口頭で100円を10%オフ券でいくらまで安くできるかをやってみただけで終了。
      「ところで、いま割引券何枚使った?」
      「忘れた」
      「よし、後でscratchでやろうね」
      という感じでScratchで組んでみることになりました。

      そんなわけで、うちの子が作ったのが「わりびき」です。

      http://scratch.mit.edu/projects/37549232/

      「中を見る」を見れば分かる通り、再帰になりませんでした(汗
      私が誘導することなく、子供がわからないと言った概念や計算方法(パーセントの概念とか、10%オフの計算の仕方とか、切り捨て・切り上げとか)だけ説明しつつ、子ども自身に好きに書かせたら「〜まで繰り返す」だけで解決してしまったのです。

      そこで、私が自分で再帰版を作ることにしました。(ここまで前置き。長っ!w)

      http://scratch.mit.edu/projects/37977098/

      うちの子供はScratch1.4で育てたので、「ブロックを作る」という発想があまりなかったようで、それが敗因(?)だと思います。
      さっそくこれを書いている私の後ろから覗き込んで「再帰ってなに?」とか言ってるので、私の作った再帰版を見せながら説明して理解できるか見てみたいと思います。

      最後に宣伝です。
      こんな親子が運営するCoderDojo Nagoyaは第3回は12/14(日)開催です!
      http://coderdojo-nagoya.doorkeeper.jp/events
      今回はScratchではなくHour of Codeをやりますが、普段は初心者にはScratch cardの作例・上級者には好きな作品を作ってもらい、最後に発表するという形式でやっています。
      名古屋周辺で興味のある方は来てみてください。メンター希望のプログラマも歓迎です!


      スポンサーサイト

      0

        • 2014.12.23 Tuesday
        • -
        • 09:48
        • -
        • -
        • -
        • -
        • by スポンサードリンク

        コメント
        コメントする








           

        PR

        calendar

        S M T W T F S
            123
        45678910
        11121314151617
        18192021222324
        252627282930 
        << June 2017 >>

        twitter

        selected entries

        categories

        archives

        recent comment

        • 結局CodeIgniter用汎用Modelクラス&汎用CRUDスクリプトを書きました
          プログラマー
        • icu4.4以上が用意できないサーバーでSymfony2.3以上を使う方法
          よし
        • icu4.4以上が用意できないサーバーでSymfony2.3以上を使う方法
          ななうぇぶ
        • icu4.4以上が用意できないサーバーでSymfony2.3以上を使う方法
          よし
        • icu4.4以上が用意できないサーバーでSymfony2.3以上を使う方法
          よし
        • WindowsのPCで開発するphperがxhprofを使う方法
          ななうぇぶ
        • WindowsのPCで開発するphperがxhprofを使う方法
          川本
        • [バッドノウハウ]Symfony2で別テーブルの集計項目を一覧に含めたいとき
          よし
        • Symfony Advent Calendar JP 2012 day 14 - vendorをcomposerで管理しているプロジェクトにcomposerを使わずにバンドルを追加したときのautoloadの書き方
          77web
        • Symfony Advent Calendar JP 2012 day 14 - vendorをcomposerで管理しているプロジェクトにcomposerを使わずにバンドルを追加したときのautoloadの書き方
          ktz

        recent trackback

        • HTMLの表(TABLE)のセル(TD)に斜線を引くjavascriptライブラリ slash.js 作っちゃいました
          常山日記
        • django対symfony 日本語メール送信(その1 symfony編)
          CPA-LABテクニカル
        • CodeIgniterでユーザー認証
          されどLAMPな日々
        • 久々にdjangoを最新版にしたらHTMLがエスケープされちゃった!!(解決済み)
          常山日記
        • FastCGIを諦めてmod_pythonを使う。Apacheのアップグレード
          サーバー用語集
        • さくらインターネット、sqlite3でdjango@CGI版を使う際の設定メモ
          常山日記
        • さくらインターネット スタンダードプランでdjango使ってる方、DBは?
          mitszoの日記
        • python多次元リストをsort(並べ替え)する方法?
          mitszoの日記
        • フォームから送信した値とrequest.POSTの挙動($_POST@PHPとの比較)
          Humming Via Kitchen
        • 日本語テキストをtruncate@django(Python全般にも??)
          常山日記

        recommend

        links

        profile

        search this site.

        others

        mobile

        qrcode

        powered

        無料ブログ作成サービス JUGEM