検索結果

11件のアイテムが見つかりました

  • Udemyで、動画のパイソン入門コースをリリースしました

    ■はじめに Udemyというオンライン学習プラットフォームを利用してパイソン入門コースの動画をリリースしま した。タイトルは「小中学生の創造力をダントツに伸ばすための、親子で学ぶパイソン入門コース」です。 ■Udemyとは Udemyは世界最大級のオンライン学習プラットフォームで、米国Udemy,Inc.が運営するプラットフォームで日本ではベネッセが事業パートナーとなっています。10万以上のコースがあり、日々新しいコースが追加されており、講座は業界の専門家が作成しています。Udemyの最大の魅力は、自分のペースで学べることです。一般的なオンライン学習サービスは、毎月の費用を支払い、ほとんどは学習期限があります。Udemyは購入制で学習期限なしで、自分のペースで学べることができます。 ■Udemyを利用した理由 Udemyは、操作性が圧倒的に素晴らしく、中学生が独力で学習しやすい環境であると判断しまし。 ■ベルジェールが動画サービスをはじめようと思った理由 ベルジェールは、小中学生を対象としたプログラミングスクールからはじめました。その後オンラインプログラミングのサービスを提供していますが、 添削サービスは必要なく動画で講師の説明をうけながら自分のペースで学習するスタイルが好きな生徒向けにサービスをはじめました。 ■タイトルに「親子で学ぶ」と入れた理由 「小中学生の創造力をダントツに伸ばすための、親子で学ぶパイソン入門コース」というタイトルの中に「親子で学ぶを入れた理由」という言葉があります。この文言を入れた理由は、udemyでは18歳以下の受講生は直接購入できないため、保護者の購入を前提ということを示すために、udemyの要請で 追加しています。実際には、保護者がつきそう必要はなく、中学生が独自に学習できる内容になっています。 ■コースの特徴 Pythonに関する文法の説明を中心に知識を増やすことを目的としていません。プログラミングを深く理解するための基礎的な内容の説明に心がけています。またPythonのツールを使ってプログラムを効率的に作成することよりも、生徒自身の頭で試行錯誤しながらロジックを組み立てる習慣を身につけることを大切に考えています。 また中学生が理解しやすいように、わかりやすく丁寧な解説をしています。教材はパイソンを3年間スクールで教えたノウハウを、反映していますので理解しやすく洗練した内容になっているのではないかと思っています。 さらにセクションごとに演習を設けて、適切な練習問題によって知識の定着と実践的なスキルの習得ができるようにしています。 ■オンラインコースとudemyコースの相違 オンラインコースとudemyの動画にはそれぞれ特徴があります。 □オンラインコースの特徴 ・プログラムの添削を受けることができます ・質問がマンツーマンで受けることができます □udemyコースの特徴 ・動画の中で音声によって丁寧に解説しているので理解しやすい ・マンツーマンの質問はできませんが、受講している生徒全員の公開になりますが質問もできます ・自分のペースで学習できます ・価格は安くなってます ■動画のパイソン入門コースで身につくこと □生徒自ら試行錯誤しながら深く考えるというプログラミングの基礎体力がつきます。 □ベルジェールが提供しているパイソンチャレンジの問題を解くことができるプログラミングのスキルをマスターできます。 ■パイソンチャレンジ ベルジェールでは中学生を対象にしたプログラミングで数学の問題を解く無料のサイトを提供しています。問題を理解しやすいものにするためと、基本的なプログラミングの文法だけで解けるように、倍数、約数、素数、数列などの自然数を扱った問題にしています。 このコースを学習した後にパイソンチャレンジに挑戦して、プログラミングのスキルのブラッシュアップと粘り強く考える力を身に着けてほしいと考えています。詳しくはこちらをみてください。 ■価格 2400円で購入していただけます。udemyに振り込む形になります。 ■まとめ 中学生たちが、パイソン使って数学の面白さを理解してくれることをこころから願っています。

  • 数学をプログラミングで解くパイソンチャレンジをリリースしました

    ■パイソンチャレンジ 小中学生向けに、パイソンチャレンジという数学の問題をプログラミングで解くサイトをリリースしました。パイソンチャレンジというネーミングから、パイソンのプログラミングにチャレンジするサイトと思われたかもしれませんが、数学の問題をプログラミングで解くサイトです。 ■参加資格 パイソンチャレンジは、小中学生でプログラミングと数学に興味がある生徒を対象にしています。 小中学生なら誰でも無料で参加できます。参加する期間に制限はありません。 ■数学のレベル 数学というより、ほとんどの出題は算数のレベルになっています。約数、倍数、素数など理解しやすい自然数を中心に出題しています。 自然数を対象としているのは、小中学生が問題を理解しやすいということ、そして基本的なプログラミングの機能だけで解答できるということが理由です。 ■プログラミングに使う言語 パイソンチャレンジという名前ですが、プログラミングの言語は何を使っても解くことができます。 ただベルジェールはスクラッチという秀逸な言語の後に学ぶ言語としてパイソンを推奨しています。 ■問題の構成 問題の構成は3つのステージにわかれ、各々10問づつ出題しています。 手計算では算出することができず、プログラミングを工夫して解く必要があります。 ■問題の回答 問題の回答は公開していません。生徒は正解が出るまで解答し続ける必要があります。 正解にたどり着けない時は、フォーラムで質問をしたり相談することができます。 ■パイソンチャレンジの目的 パイソンチャレンジというサイトを公開する目的は、小中学生に次のようなことを願ったからです。 □プログラミングスキルを修練する □プログラミングの面白さを体得する □プログラミングの難しさとは何かを理解する □数学の面白さに興味を持つ ■パイソンチャレンジの効果 パイソンチャレンジをとおして、小中学生に次のような効果をめざしています。 □プログラミングを工夫することによってプログラミングのスキルを向上する □解答だけではなく処理時間を短縮するといったような正解以外にも 考えることがあることを理解する □思考錯誤しながら粘り強く考える姿勢を身につける ■パイソンチャレンジがめざしているもの パイソンチャレンジが、めざしているものは「プロジェクトオイラー」と「高校への数学」です。 □プロジェクトオイラー プロジェクトオイラーという世界的に有名な、プログラミングによって数学の問題を解くwebサイトがあります。このサイトには世界で100万人近くのプログラマーが参加しており、簡単な問題から、21名しか正解者がいない超難問まで750問あります。 パイソンチャレンジもいつか小中学生向けのこのようなサイトに育つことをめざしています。 □高校への数学 高校受験を控えた中学生を想定した月刊誌ですが、毎月非常に難しい問題が出題されるコーナーがあり、全国の数学の猛者がチャレンジしています。 このコーナーのような全国の小中学生のプログラミングの猛者が挑戦するサイトに育ってほしいと思っています。 ■生徒たちの楽しみ 数学好きの生徒たちは難しい問題を何日もかけてひたすら解く努力を続けるように、プログラミングの難しい問題を試行錯誤を繰り返しながら粘り強く解答に近づくことに喜びを見出すことを願っています。 ■参加に必要な情報 パイソンチャレンジの参加に必要な情報は、次の情報が必要となります。 □メールアドレス □氏名 □都道府県 (市町村以降は不要です) □小中学校 (学校名は不要です) □学年 □ニックネーム ■個人情報 ニックネームで管理されるので個人情報が公開されることはありません。 ■会員制 パイソンチャレンジは会員制のサイトにしています。登録した会員だけが、問題を見ることができ フォーラムに参加することができます。会員登録にはメールアドレスを使います。 ■フォーラム パイソンチャレンジには、小中学生がプログラミングに関する情報の交換や情報共有ができるように フォーラムがあります。フォーラムは簡単な操作で使えます。 生徒たちがプログラミングの知見を高め、切磋琢磨できる一助になればと考えています。 ■今後のパイソンチャレンジ 生徒たちの考えや意見などを聞きながら、質・量ともに順次拡大していくことを計画しています。 □数学の分野 □問題数 □問題のレベル □プログラミングの文法 現時点の問題は基本的な文法だけで解けますが、高度な文法を使う問題の整備も考えています。 □生徒から問題の投稿 問題をつくることが生徒たちのモチベーションアップにつながることを期待しています。 ■まとめ 小中学生が、パイソンチャレンジによってプログラミングと数学に一層興味をもってくれ 主体的に学習する習慣を身につけてくれることを願っています。

  • パイソンを使ってクリエイティブな作品づくりにチャレンジします

    コースの内容 「クリエイティブプログラミング」は聞き慣れない言葉だと思います。 クリエイティブな人と言うと、デザインや音楽などの芸術的な才能やセンスを持った人の事を一般的に指します。昔であればレオナルド・ダ・ビンチ、モーツアルト、ピカソ、現代ではウォルト・ディズニー、ビートルズなど、クリエイティブな人たちが時代や文化を創ってきました。しかし、今では「クリエイティブ」の持つ意味は拡大し、芸術以外の分野で重要視されてきています。それまでの才能やセンスといった先天的な能力から、もっと身近で習得しうるスキルとしての「クリエイティブ」です。工学や化学の研究者から、プログラマー、営業、広報といった職業まで、これまで「クリエイティブ」とは無縁と考えられてきた人たちにも求められるようになっています。 「クリエイティブ」の意味は、1999年にイギリスのNACCCE(National Advisory Committee on Creative Cultural Education)が発表したレポートにわかりやすく書かれています。 ■想像力を使うこと 自分の感覚に頼るのではなく、そこを脱した考え方からアイデアを生み出すこと ■独創的であること 今までに発想したことがないこと、今まで誰もしたことがないことを目指すこと ■知識と技術を活用できること アイデアを有効的に実現させるために、十分な知識や技術を活用すること ■目的を満たせること 問題を解決したり、情報を伝えたりなど必要とされている目的を果たすこと ■自身でチェックできること 自分のクリエイティブ力を維持できるように、常に自分の生み出すアイデアを客観的に評価すること クリエイティブプログラミングのコースは、生徒たちがこの「クリエイティブ」な力を身につけることを狙いとしています。 具体的には、生徒の身近なテーマを選びプログラミングでどんなことができるかを実践的に学びます。またアプリケーションを開発をするには、パイソン以外に様々なツール(ライブラリーといいます)を使う必要があります。用途に応じてツール使い分けることが重要であることをあわせて学習します。このコースを学ぶことによって生徒自らが発想したことをプログラミングで創造できるようになります。 生徒の身近なテーマとしては一般的にゲームと学校の教材を考えることができます。ゲームに関してはゲームプログラミングコースをすでにリリースしています。今回は学校の教材に関係する8つのテーマを用意しました。生徒は興味のあるテーマを個別に選択してその分野をさらに深く極めていく道もありますし、複数のテーマを学習して多くの道具を身につけた後に自分がやってみたい分野を選んで進むこともできます。 クリエイティブプログラミングのコースは、しばらくスクールだけで提供します。時期をみてオンライン学習でも提供する予定にしています。 クラスの内容 クリエイティブプログラミングのテーマとして用意したのは次の8テーマです。 ■世界地図と統計 世界の人口や人口密度などの統計データを読み込、データの値によって世界地図の色を塗り分ける方法を学びます。できあがった図をコロプレス図と言います。色々な統計データを視覚的に表現することによって、データから新たな気づきを得ることができます。 ■確率とモンテカルロ法 サイコロの1の目が出る確率は6分の1ですが、これはサイコロを数多く投げると6分の1に近づくという意味です。同じようにパソコンの中でダーツを1万回(もっと投げてもいいのですが時間がかかるので1万回にしています)投げるシミュレーションをして円周率の近似値を求めます。投げる回数を増やすと、次第に円周率に近づいてくことを視覚的に学びます。このシミュレーションの考え方をモンテカルロ法といいます。 ■文章解析 小説や新聞の文章の長さの分布や、漢字やひらがなの比率を求めて、文章の読みやすさなどを解析してグラフで表現することを学びます。自分の文章の漢字とひらがなの比率を黄金比率と比べて、読みやすさを評価することもできます。文章を分解して解析するテキストマイニングの入門です。 ■画像解析 モナリザの画像を使ってモザイクを徐々にクリアにしていくモザイクゲームをつくります。モノクロ・反転・拡大・縮小・フィルターなどの画像処理も学習して、写真やイラストなどの画像を自由に加工することができるようになります。 ■月の満ち欠け 夜空を見上げて月の満ち欠けがなぜ発生するかを考えたことは、誰にでもあると思います。月が地球の周りを回る軌道と、地球からの月の見え方をアニメーションで連動させて、月の満ち欠けの理由を調べます。 ■フラクタル 部分を拡大すると全体と同じように見える形は、樹木や雲、海岸線などの自然界のいたるところに見られます。これらをフラクタルと呼びます。このフラクタルをパズル感覚で作成します。教科というよりはプログラミングに近いテーマですが美術のデザインとも言えます。 ■無限に続く円周率 円周率は、なぜ無限に連続するかをあまり考えたことがないかもしれませんが、プログラムを使うと視覚的に理解することができます。正6角形からはじめて正7角形,正8角形・・・と順に大きくして、円とは外接多角形と内接多角形に挟まれる無限正多角形であるという考え方に気づきます。生徒たちはこのアニメーションによって、円周率をはじめて理解できるかもしれません。 ■色の三原色 色の三原色は、RGB(赤Red・緑Green・青Blue)からなり、コンピュターの世界ではRGBを0から255の数値で表現することを視覚的に学びます。0から順に数値を変えて、3原色の色や、その3色を混ぜた色の変化をアニメーションを使って調べます。3原色を混ぜた色が、最後に白色になることを確認できます。 まとめ 以上の8個のテーマは、国語、算数、社会、理科、美術の教科に関連しています。音楽のテーマも考えたのですがパソコンによっては音色など正確に音を出すことができないので今回のレッスンには取り上げていません。 クリエイティブプログラミングのレッスンは身近な教材から生徒が興味を持ちそうなテーマを選定しましたが、これらから発想を広げることによって生徒自らの力で色々なテーマを見つけ出すことができると思います。 そして生徒たちは自ら選んだテーマを苦戦しながらプログラミングをすることによって「クリエイティブ」な体験をすることができるものと考えています。

  • パイソンを使ってグラフィカルで本格的なゲームをつくります

    コースの内容 ゲームプログラミングのエントリーコースでは、魔法陣・数独・三目並べ・オセロのゲームを作成しました。三目並べやオセロなどは白黒の石を使ったグラフィックとしてのゲームをメージされるかもしませんが、グラフィックを使用せず文字ベースのゲームとして作成しています。その理由はパイソンのコースで学んだ知識だけで作成でき、アルゴリズムを重視したためです。 今回のゲームコースは、グラフィックをどのようにゲームに適用するかを学習するコースです。言語としてはパイソンを使用しています。アルゴリズムはさらに難しくなります。 GUIとは GUIとは、グラフィカルユーザインターフェース(Graphical User Interface)の略語です。GUIでは、アイコン、ボタン、マウスなどを使って直感的に操作をすることができます。現在のパソコンは、GUIを採用しています。これに対して、文字によるコマンド入力方式のインターフェースは、CUI(Character User Interface)と言います。今回のコースはGUIを学ぶコースです。 使用するツール 本格的なグラフィックのゲームを作成するには、UNITYなど色々な開発ツールがあります。これらを使うとたしかに見た目が美しく3次元のグラフィックゲームを作成することができますが、複雑で多くの機能を理解し使いこなすのは長い時間がかかります。小中学生がゲームプログラミングを学ぶ目的にそぐわないと判断しました。 パイソンでGUIを実現するためには、tkinter/kivy/pyqt/wxpythonなど色々なフレームワークがあります。フレームワークとはプログラム開発を効率化するための機能です。フレームワークを使うことによって少ないプログラミングで色々な機能やデザインを実現できます。今回のコースはtkinterを使ってゲームを開発することにしました。tkinterはパイソンの標準GUIフレームワークなのでドキュメントや事例も豊富ですので、GUIプログラミングを最初に学習するのに適しています。 レッスンの構成 グラフィックゲームプログラミングのコースは次のレッスンで構成しています。 ■基本機能 グラフィックの基本機能を学習し、最後にタイマーのアプリを作成します ■スクラッチ パイソンでスクラッチキャット(スクラッチの代表的なキャラクター)を動かし、パイソンで長い間親しんだスクラッチで学んだことを実現します。スクラッチの機能をパイソンで実現することによって、プログラムは階層的に構成されて動いていることなどプログラミングの理解を深めます ■迷路 カーソルキー(上下左右)を使って迷路をスタート地点からゴールまで動かすプログラムを作成します。その後アルゴリズムを発展させ、自動で迷路を自動で探索するプログラムを作成します。ただ自動といっても複雑な迷路を自動探索することは困難ですので、迷路には条件をつけていますので、すべての迷路に対応できる自動探索アルゴリズムを作成するわけではありません。それでも生徒たちは自動探索のアルゴリズムを試行錯誤しながら考えることができ、様々な工夫を凝らすし努力し続けることができます。 ■ブロック崩し ブロック崩しは50ミリ秒の間に刻々とボールとブロックの関係を処理し表示し続けることに工夫を凝らします。ゲームとしての精度を上げるには、ボールがブロックの側面に当たった場合の動きなど様々なケースを考えることが必要ですが、いたずらに難解になることを避けシンプルなルールにとどめました。 コースの狙い 今回のコースで、グラフィックゲームの作り方やアルゴリズムに関する理解を深め、生徒たち自身が自分のアイデアを自由に表現できるゲームづくりができるようになると考えています。

  • パイソンで誰もが知っているゲームをつくります

    はじめに 2020年1月に岡崎教室でゲームプログラミングのエントリーコースを開講します。 パイソンを使って魔法陣、数独、三目並べ、オセロのゲームを作成するコースです。 子どもプログラミングの本来の目的である、論理的思考・創造性・問題解決力を高めることを実現するために、スクラッチ・パイソンに続くコースを、どのような内容にするか長い間考えていました。 プログラミング言語はあくまでもツールにすぎません。プログラムを開発することが、論理的思考・創造性・問題解決力を高めるということに異論はないと思います。ただ開発には色々な種類があります。子どもたちの開発対象として考えられるものは、大きく分けて数学や理科など勉強に関係するものとゲームと考えることができると思います。ベルジェールでは、12月にパイソンのアドバンストコースを卒業する2人の生徒がいます。彼らに確認をしてみると2人ともゲーム開発をしたいとのことでした。生徒たちにとってゲームプログラミングは関心が高い対象なのでしょう。そこでスクラッチ・パイソンに続くコースはゲームプログラミングにすることにしました。 ただゲームと言っても子どもたちが普段目にするのは、開発費用を何億、何十億とかけて開発したものがほとんどですから、そのイメージを持ってゲームを開発しようとしても無理があります。どのようなゲームを教材にしようとしたかその経緯を整理したいと思います。 ゲームプログラミングで何を学ぶか スクラッチでビジュアルという力を借りながらプログラミングの考え方を学び、パイソンでは正統で本格的なプログラミングの方法を学びました。繰り返しになりますが、子どもプログラミングがめざしているのは論理的思考・創造性・問題解決力です。 ゲームプログラミングは、プログラミング言語の学習では経験できない様々なことを学ぶことができます。企画、設計、テスト、デバッグなど開発全体の手順の流れが理解できることは言うまでもありません。対戦の方法、エラー処理、処理スピード、ユーザーインターフェイスなど、ゲームつくりの中で広い視点で深く考えて工夫することを学びます。「ゲームを面白くするには」「使いやすくするには」「処理スピードを早くするには」など、みずからに問いかけ、リアルタイムで確認にしながら改善を繰り返すことを体験します。この点こそ子どもプログラミング学習の原点であると考えています。 どんなゲームを作成するか 自由な発想でゲームのシナリオを考えゲームを開発することが一番望ましいことは言うまでもありません。ただゲーム作りの未経験者にとって新しい発想でゲームのアイディアを考え出すことは思った以上に大変なことです。またゲーム作りに必要な開発スキル、開発ボリュームをイメージできない初心者は夢物語を考えてしまうことになりかねません。そこで何か枠組を作ってそこの中でまずは試行錯誤できるゲームつくりから始めるのがいいのではないかと考えました。 ゲームを作成するソフトウェアを何を使うか ゲームにはドラゴンクエスト、スーパーマリオ、ドラゴンクエスト、ポケットモンスターなどがあります。これらのゲームはゲーム用のソフト使って開発をします。例えば多くのゲーム会社で採用されているソフトウェアにUnityがあります。unityを使えば確かにビジュアル的に美しいゲームを作成できますが、その前にUnityというソフトウェアの多くの機能を理解し使いこなす必要があり、またそのためには言語としC#やJavaをマスタしなければなりません。つまりゲームを作る前に長い間ソフトウェアを習熟する期間が必要となります。パイソンを学習したばかりの生徒にとって、売れるゲームを作ることが目的ではなく、論理的思考・創造性・問題解決力の育成が目的ですのでunityなどのゲームソフトは選択しませんでした。 次にパイソンでプログラミングを学んできたことから、パイソンでゲームを開発することにしました。そこで問題となるのが見た目の問題です。ゲーム作りには見た目の美しさを考えるとグラフィックユーザーインターフェイス(GUI)を使いたいと誰もが思います。パイソンは、Pygame,Tkinter、PyQt、PyGTK、Kivy、wxPythonなど様々なGUIのライブラリが用意されています。GUIのライブラリーを使ってグラフィックのゲームを作成するためには、unityほどではないのですが相当時間をかけて学習する必要があります。生徒たちにとっては、まだハードルが高い気がします。 ゲーム選択の条件 そこで次の条件のもとでゲームプログラミングのカリキュラムを作成しました ・パイソンのコースで学んだスキルでほとんど作成できる ・グラフィックではなくキャラクター(文字)ベースで作成できる ・アルゴリズムを考えることができる ・わかりやすく面白い このように考えて、パイソンを使って魔法陣、数独、三目並べ、オセロの4つのゲームを作成するコースとしました。 生徒への期待 スクラッチのコースを初めてリリースした時、生徒たちが受け入れてくれるか不安でした。パイソンのコースの時もそうでした。小学生が本当にアルファベットを使用してキーボード入力が必要なパイソンを好きになれるかそしてプログラミングが嫌いにならないのか。2年間生徒たちにプログラミングを教え続けた結果、そのような不安は消え去りました。生徒たちは想像以上にプログラミングを理解し使いこなしてくれるようになりました。 ゲームプログラミングは言語の学習と異なり、子どもプログラミングの本来の目的に旅立つ出発点です。生徒たちが受け入れてくれるのか不安もありますが一方で期待もしています。ゲームをプログラミングする中で論理的思考・創造性・問題解決力を高め、主体的に学ぶ姿勢を自分のものしてくれることを望んでいます。

  • プログラミングで「新しい価値を生み出す力」を育てます

    はじめに オンラインプログラミング学習の生徒募集を岡崎市で12月8日に新聞折り込みをします。日本商工会議所の平成30年度小規模事業者持続化補助金の募集に応募し採択されましたので、その交付金を利用します。 キャッチコピーは色々考えましたが、次のようにしました。 ・岡崎の小中学生のための IT英才教育 ・先進的オンラインシステムでプログラミングをらくらくマスター! IT英才教育という表現は少し気恥ずかしい気持ちもありましたが、単なるプログラミング教育をするのではなく、生徒たちの想像力を育てたいという考えからこの表現にしました。 チラシはB4裏表を使用します。表の面の内容をそのまま以下に記載します。 これからの10年は、前例のない激変期! 将棋の天才・羽生善治永世名人も「16歳で100勝は空前絶後!」と評した超天才児・藤井聡太七段が AI将棋で実力をつけた話はよく知られた話ですね。 実際、AIの進化は凄まじく、皆さんもスマホの音声検索で実感したり、車の自動運転やAI翻訳などの ニュースで驚かれたりしていることと思います。 ところで、皆さんはシンギュラリティという言葉をご存知ですか? シンギュラリティとは技術的特異点とも訳され、AIやコンピュータの性能が人間の知能を超える現象を意味します。人類に代わってAIが文明の進歩の主役を担い始める日のことであり、「人間の頭脳では予測不可能な未来の始まり」でもあります。 これからの10年は人類史上前例のない激変期とも言われています。 新しい価値を生み出す力 これからの時代は、もはや知識や情報を記憶すればいいというわけではありません。それらはインターネットやスマートフォンで簡単に調べることができます。したがって、学校の授業や個人の学習方法は今までとはかなり変わってくるはずです。これまでは勉強さえできれば良かったのですが、これからは国内外の多様な人たちと一緒になって新しい価値を生み出す力、つまり創造力とコミュニケーション力が不可欠となります。そのためには、プログラミングは極めて有効な手段となります。というのはプログラミングを学ぶ過程で身に付く次のような能力が創造力と深くつながっているからです。 ・わからないことを積極的に学ぶ能力 ・試行錯誤を繰り返す能力 ・論理的な思考により問題を発見し解決する能力 そして大事なことは新しいコミュニケーション手段を手に入れることです。自分の作品をネットなどで国内や海外に発信し、他の子供たちと議論をしたり、教え合ったり、共同作品を作ったりすることができるようになり、そこから新しい発想を得ることができるようになります。 IT英才教育の必要性 思考の壮大な建造物であるITは、すべてプログラムでつくられています。ITの世界で活躍するためには、早くから本格的なプログラミングを学び、自分の関心のある、AI、ロボット、WEBなどの世界で、 ・早期に本格的なプログラミングを学習 ・短期間で集中的にプログラミングを学習 ・図形や数列など、多様で高度なプログラミングを学習 ・ITと子ども教育に経験のある専門家が指導 プログラミングの才能開花 小学生のプログラミングに対する理解力は大人が思っている以上に高く、生徒によっては2ヶ月でスクラッチを使いこなせるようになります。お子さんの隠れた才能を引き出すのは、学校の先生ではなく両親や家族です。ちなみに藤井聡太七段に将棋を教えたのは両親ではなく、祖父だったそうです。もし彼の祖父が将棋を教えなかったら、この超天才児の出現はなかったかもしれないですね。・独特の発想や着眼点を持っている ・特定の教科の成績がずば抜けている ・興味があることに集中して取り組む こんなお子さんは得てして才能が開花する可能性があるものです。みなさんのお子さんにもITの才能が眠っているかもしれないですね。

  • オンライン学習のモニターを通してわかったこと

    はじめに オンラインによるプログラミング学習のモニターを2019年7月に開始しました。小中学生の子供を持つ知人にモニターの依頼をし、小学生4年生から高校生1年生までの8人にお願いをしました。主な目的は、岡崎市の小中学生に展開する前に、オンラインプログラミング学習の操作性の検証と改善をするためです。7月から11月までの半年間実施しましたので、その周辺のお話をしたいと思います。 教材 教材はスクールの教材をベースに、オンライン学習がしやすいように各ユニットをレッスン、エクササイズ、テストの3部構成に組み替えました。レッスンは、ユニットで学習する文法やプログラミングの考え方を説明します。エクササイズはレッスンを問題によって自習することを、テストは生徒が正しく理解しているかを確認することを目的としています。教材に関して、記述ミスやわかりにくい点などいくつか指摘を受け修正をしました。構成に関しては評判がよかったようです。 操作性 操作性には比較する同じようなシステムがありませんので感覚的な評価になりますが、小学4年生でも理解できるわかりやすいインターフェイスとの評価を得られました。教材の照会はgoogle slidesを使用しています。google classroomはPCでもスマートフォンでも使用できますが、このことに関するコメントはありませんでした。小中学生にとってはニーズがないかもしれません。 パフォーマンス パフォーマンスに関してのベルジェール内の評価は問題なく快適なレスポンスを得られていましたので、心配はしていませんでした。 操作ガイド ベルジェールネットのオンライン学習には次のような操作が必要となります ・Googleアカウントの取得方法 ・Classroomのログイン方法 ・クラスの参加手順 ・Classroomの画面構成 ・レッスンの開始 ・スライドの操作方法 ・質問の方法 ・テストの回答方法 ・添削結果の確認 操作ガイドはすべて用意しました。ただ操作ガイドを読んだだけでPCを使って運用できるかとか、そもそも操作ガイドを読んでくれるかという懸念がありました。予想外でしたが操作に関して質問を受けたことはありません。googleのアプリケーション、たとえば検索・メール・マップ・ニュースなど、私達は操作ガイドを見て操作をしていません。これと同じでgoogle classroomは操作性に関して十分配慮して設計をされているので、生徒たちもらくらくとマスターしたと考えられます。またしばらくして、操作ガイド以外にビジュアルで理解できるように操作ガイドの動画を作成しyoutubeに登録をしました。一層わかりやすくなったと思います。操作に関しては小学4年生でも親の支援なして操作をマスタできています。 質問 オンラインでレッスンなどの内容を質問する機能を実装しています。質問をする時には文章で表現する必要があります。最初は日本語入力に不慣れな生徒もおり、質問の内容を「わからない」と一言で済ませることもありました。ただ生徒も次第に質問をする表現も向上し、教師がはっきりと理解できるように配慮して質問をしてくれる生徒も出てきて嬉しく思いました。 質問の回答 生徒の質問に対する教師の回答は、おそらく理解してくれていると思います。回答の内容に関してわからないと返信されたケースはありません。質問の回答を踏まえさらに質問を重ねてくれることもあり、一つのユニットで数回続けて質問を続けることもありました。 テストの回答 各ユニットには理解を確認するためのテスト問題を用意して、解答であるプログラムを教師に送る機能を実装しています。ほとんどの生徒は正しく回答をしてくれましたが、問題によっては回答できない生徒がいました。理解が不足していたこともあるでしょうが、レッスンの内容からテスト問題への展開が悪いところもあったので、教材を無理のない展開に改善し、考え方のポイントの説明を加えるようにしました。 テストのアドバイス テストの回答には、プログラムの添削をしてアドバイスをしてオンラインで回答をしています。模範解答は渡さないようにしています。なるべく自分で解答ができるようにヒントを与えながら進めています。 テストの採点 当初はテストの回答を採点していました。しばらくして採点することはやめることにしました。プログラミングには正解はありません。色々なアプローチがあり唯一の解答はありません。ミスを減点するという考え方もどうかと思い、採点することはやめました。生徒によっては採点を目標をして頑張る生徒もあるかもしれませんが、考え方が正しくできているかをポイントにして添削しアドバイスをしています。 今後の改善点 一番大きな問題は生徒のモチベーションを持続です。意欲的な生徒は毎日教材を学習したり、週末の土日で1コースを終了する生徒もいました。一方でスクールと違って毎週通学するという外的な要因で縛られることがないため、やる気次第でしばらく停滞する生徒もいました。ですから今後は学習のモチベーションを持続するための仕組みを組み込む必要があると考えています。 以上がオンライン学習をはじめたことでわかったことをいくつか書きました。まだ課題はありますが順次改善していこうと考えています。

  • オンラインでプログラミングを教えようと思った理由

    はじめに 岡崎で生徒たちにスクールでプログラミングを教え始めて16ヶ月になります。スクラッチからはじめて、次にパイソンのコースを開始しました。教材は、生徒からの指摘を含め何度も手を入れ修正してきました。また教えることによって、生徒にとって表現でわかりずらいところ、理解に苦しむところ、興味を持つところ、生徒間の進度の差異などの理解を深めることができました。小中学生のプログラミングの教育ははじまったばかりで、他の教室でもノウハウを蓄積しながらプログラミングを教えていくのだろうと思います。 長年外資系のコンピュータ企業で、みずからもプログラマーを経験して、多くのプログラマーのマネジメントもしてきた経験を活かしながら、小中学生のプログラミング教育に見識を深め、岡崎の小中学生にプログラミングを普及していきたいと考えています。 ただプログラミングを普及するにはいくつかの障害があります。 プログラミング普及の壁 ◆環境面の課題 今年の7月26日岡崎せきれいホールでおかざきッズプログラミングフェスタ2019で、当社ベルジェールはswiftとpythonの2つのコーナーを担当しました。ベルジェールが担当したコーナーだけでも小学校1年生から中学校3年生まで150人が参加してくれました。生徒の中には山の中に住んでいるのでプログラミング教室がないと言っていた女子中学生がいました。あの女子中学生はどうしているのだろうかと思い出すことがあります。プログラミングを学習したくても環境に恵まれていない生徒も多くいることだろうと思います。 またベルジェールのスクールに西尾から通っている生徒がいます。保護者は送迎に往復90分、講義時間80分合計約3時間をかけています。保護者の生徒への愛情には頭が下がります。また部活とか習い事の都合でスクールに都合がつかないケースや、保護者の都合で送迎できないなど、様々な制約からプログラミングを学習したくてもできない生徒も多くいるのだと思います。 ◆スクール運営上の課題 プログラミングを普及するには、スクール運営上の課題もあります。スクールで教えていますと生徒たちの進度には大きな差異が出ます。パソコンを自宅で自由に使えるかどうか、生徒の学習意欲によって自宅でも学習をするかどうか、といった理由から、同じ時期に入学した生徒でも進度には大きな差が出てしまいます。したがって講義形式は困難であり、必然的に個別指導になります。したがって1クラスは5-6人が限度となります。岡崎市の小学5年生から中学3年生までの生徒数は約1万9千人いますから、岡崎のプログラミングスクールが増えてきたと言っても現実的には、スクールによってカバーするには限界があります。 こうした課題からオンライン学習でプログラミングを普及しようと考えました。 ただオンラインでプログラミングを普及するにもいくつかの壁があります。 オンラインでプログラミングを教えられるか スクールのように教師が直接生徒を指導するのと違い、オンラインでは生徒の顔が見えませんし声をかけることもできません。オンラインでスクールと同等のレベルのプログラミング教育は本当にできるのかという疑問が出てくるのも当然だと思います。 オンラインでプログラミング学習をするには次の要件が必要になると思います。 ・オンラインシステムをいつでも利用できる ・システムのユーザーインターフェイスが優れている ・教材がストレスなく参照できる ・質問を教師に自由にでき回答をすぐに入手できる ・テスト問題のプログラムを提出でき、教師は添削とアドバイスを送ることができる これらがオンラインで実現できれば、オンラインによるプログラミング学習はスクールと同等の学習効果を実現できると考えています。 さらに要件が満たされれば、オンライン学習はつぎのようなメリットがあります。 ・生徒が主体的に自分のペースで学習できる ・教室が会場の行事で中止になるとか台風で中止といったこともない ・部活とか習い事に影響されない ・保護者の送迎の負担がない ・外出先でスマートフォンやタブレットでも学習できる したがってオンライン学習はシステムの出来さえ良ければ、多くの生徒にプログラミングを教えることができると考えました。 オンラインプログラミングを実現するシステム 方向は決まったのですがオンラインプログラミングを実現するシステムの構築には多くの考えることがありました。オンラインでプログラミングの教育をするには、上記の要件に加えてシステムとして次の要件があります。 ・パフォーマンスがいい ・システムの不具合がない ・24時間365日稼働できる これらを実現するシステムを構築するには以下が必要となります。 ・オンライン学習の操作性に関する豊かな知見 ・webで実装するスキル またできるだけ短期間で開発し、開発費用も最小限に抑える必要もあります。 以上のことから、独自にシステムを開発することは断念しました。 そんな時google classroomという教育プラットフォームがあることを知りました。 google classroomは、google と米国の教育関係者が協力したシステムですので、オンライン学習の要件を十分とりこまれており、操作性に優れ、無料で利用できます。今でも機能拡張が継続的にされています。google classroomに関しては、別の機会にご説明をしたいと思います。 ベルジェールネットは、google classroomを利用でして岡崎の小中学生にプログラミングをオンラインで普及しようと考えています。

  • パイソンを教え始め3ヶ月たってわかったこと

    はじめに パイソンをスクールで教え始めて3ヶ月経ちました。アルファベット、キー入力、エラーメッセージなどいくつかの不安な点があり、生徒たちはパイソンを抵抗無く受け入れてくれるだろうかという心配をしていました。初めてみると杞憂だったことがわかりました。生徒たちは軽々とハードルを乗り越えて楽しんでプログラミングを学んでくれています。パイソンは小学生でもらくらく理解でき使いこなせることがわかりました。企業で働くプログラマーが仕事で使っている言語から新しい言語に変えるときは負担が大きいのですが、生徒たちはスクラッチからパイソンに抵抗なくステップアップしました。 パイソンを教えることで懸念していたこと ■アルファベットの使用 パイソンのプログラミングの命令は、スクラッチのブロックというビジュアルな命令と異なり、アルファベットと数字と記号の組み合わせです。そして複数の命令をつなげてプログラムを作成します。ですからスクラッチのブロックに慣れた生徒は、パイソンにアレルギーを示して挫折するのではないかという不安を持っていました。ところが一人もそういった生徒はいませんでした。生徒たちは新しいものが持つ魅力に取りつかれて楽しんで取り組んでくれたものと思います。 ■キー入力 スクラッチはブロックを並べてプログラムを作成するので操作は簡単です。スクラッチでも数字やアルファベットを使うこともありますが、それはaaaなど入力しやすい文字列で十分ですので特に問題になることはありません。一方パイソンでは、アルファベットのキー入力をするためにキーボードの配列に慣れて体で覚える必要があります。そのことにフラストレーションを感じるのではないかと見守っていました。すでにキーボードの操作に慣れている生徒もいましたが、最初の2回のレッスンまではもどかしいほど苦戦をする生徒もいました。ただ入力に戸惑っていた生徒も、3回目のレッスンくらいから慣れはじめ今では全く問題なく入力することができます。 ■エラーメッセージ スクラッチではエラーメッセージが出力されることはありません。パイソンでは、プログラムに文法の誤りがある時や実行している時にエラーメッセージが出力されます。エラーメッセージは英語で、しかも簡単な英語ではなく数行にわたる本格的な英語です。生徒が最初に驚くところでです。一般の小学生では、完全に理解することはできません。このエラーメッセージでパイソンを敬遠するかもしれないと心配をしていました。ただエラーが出力された時にエラーの原因を自分で色々と考えることがプログラムを正しく理解しスキルが身につく機会なのです。生徒たちはしばらくの間は戸惑っていましたが、しばらくすると同じような誤りを繰り返すことはなくなりました。エラーメッセージ出てもすぐに原因を特定できるようになり、エラーメッセージの内容を聞く生徒はほとんどいなくなりました。これも杞憂に終わりました。 想定どおりの結果になったこと スクラッチでプログラミングの基本である順次処理、分岐、繰り返しの考え方は学んでいますし、スクラッチのアドバンストコースではファイボナッチ数列、黄金比など数学的な考え方をプログラミングで実現する方法を学んでいますので、パイソンに言語が変わったからと言ってアルゴリズムの理解に苦しむとかプログラミングに悩むことはないだろうと想定していました。この点は考えていたとおりになりました。 教えてみてわかったこと スクラッチの画面には命令であるブロックが画面の左側に並んでいるので、ブロックを忘れても簡単に探し出すことができるようになっています。一方パイソンはそのような画面構成になっていないので、命令は覚えておく必要があります。そのためそれまでに学習した教材を調べるのに時間がかかることが多く見られました。その軽減策として命令の一覧表を作成しようかとも思いましたが、それは理解し覚えるという習慣が失せるのではないかと考えやめました。本来ならばネットを使用してパイソンのヘルプサイトで調べることができるといいのですが、残念なことに岡崎市民会館のネットワーク環境がよくないのでできません。今後ポータブルwifiを使ってネットワーク環境を作成し、生徒がわからないときはネットで調べることができるようにしようと考えています。 まとめ パイソンのカリキュラムはエントリーコース、ベイシックコース、アドバンストコースの3コースがあります。おそらくいずれの生徒もパイソンのカリキュラムを半年で終えるのではないかと考えています。文法だけではなく高度な数列やグラフなどのアルゴリズムを含めてです。 パイソンを教え始めて3ヶ月、今では小中学生でもパイソンを十分学習できると考えています。

  • スクラッチを楽しんだ子どもたちは、パイソンが好きになれるか

    この記事は、ベルジェールが小中学生を対象としたスクールを開講していた当時に投稿した記事の内容をそのまま投稿しています。現在はオンラインコースだけを対象にしています。(2021/9/24) 子どもたちはパイソンを好きになれるか これは子どもたちがパイソンをはじめる時に、保護者が抱く問題意識ではないでしょうか? スクラッチでプログラミングの楽しさを知った子どもたちが、パイソンをはじめたことでプログラミングの興味を失ったり、プログラミングから離れたりしないか、と心配に思うこともあるかと思います。 子どもたちが、スクラッチなどのビジュアル言語からパイソンなどのテキスト型言語へステップアップする動きは、日本ではこれからはじまります。言語が変わることで子どもたちがどのように反応するかといった情報は、インターネット上には報告の事例は見当たりません。 ベルジェールは、2019年1月からパイソンのクラスをはじめるところですので、確信を持って発信できるほどの知見は持ち合わせていませんが、9ヶ月間スクラッチを指導してきた経験と、生徒たちが学習する時の姿をイメージしてパイソンの教材を作成した経験をもとにして、「子どもたちはパイソンを好きになれるか」という問いに対する考えをお伝えしようと思います。 まずはじめに、ベルジェールでのパイソンのカリキュラムについてお話します。 パイソンで学ぶこと パイソンで学ぶことは、次のようなものがあります。 (少し専門的でわかりづらくてすみません。詳細な説明は省きます。) ・言語仕様(文法) ・標準ライブラリー ・外部ライブラリー ・フレームワーク ベルジェールでは、言語仕様と標準ライブラリーの一部を教えることにしています。プログラミング的思考を身につけるために必要な最小限の範囲に絞っています。 子どもたちの理解度 子どもたちのパイソンの理解度は、一般的にパイソンを「知っている」、「使える」、「使いこなせる」といった表現をすることができます。また「範囲」と「深さ」にわけて考えることができます。 ■範囲 ・学ぶことの範囲 言語仕様(文法) 標準ライブラリー 外部ライブラリー フレームワーク ・適用の範囲(アプリケーション) ゲーム 数値計算 web AI・・・ ■深さ ・機能を使ったことがある ・リファレンスがあれば使用できる ・リファレンスがなくても任意の処理が記述できる ・リファレンスを見ずに、機能を自在に組み合わせて使うことができる ベルジェールでは、子どもたちの理解度のゴールをつぎのように考えています。 ・言語仕様と標準ライブラリーの一部を使うことができる。 ・アプリケーションに特化しない汎用的な処理を自在にプログラミングできる。 パイソンの壁 スクラッチからパイソンへの道には、3つの壁があります。 それはアルファベット、キー入力、視覚的な理解です。 ■アルファベット スクラッチでは、ブロックをマウスで動かすことによってプログラムを作りますが、パイソンではアルファベットと数と記号を使います。そのためアルファベットの大文字と小文字を読めること、そしていくつかの英単語を覚えることが必要となります。 ・アルファベット : 書ける必要はありませんが、少なくとも読める必要があります。 ・英単語 : パイソンでアルファベットを使うのは、予約語と組込関数と変数です。このうち、 変数はローマ字として表現すればいいので問題ありません。予約語は31程度あり、 知っておくべき組み込み関数は30前後あります。したがって約60個の単語のつづりと発音を覚えることが必要となります。これが生徒たちにとってどの程度の高さの壁になるのかまだ把握はできてはいませんが、大きな負担にはならないのではないかと考えています。 ■キー入力 音声入力が将来社会に浸透するかもしれませんが、しばらくは学校で音声入力が主要な手段になるとは考えずらく、キーボード入力はこれからの社会においても必須スキルであり続けると思います。 そしてこれからの子どもたちが避けては通れないのは、タッチタイピングというキーボードを見ずにキー入力するスキルです。プログラミングは、タッチタイピングを直接必要とはしませんが、キーボードの配列を覚えるタイミングにあわせてタッチタイピングを練習したほうがいいと思います。 大人になってからはでは、なかなか身につけることが面倒なスキルですが、子どもの場合は短期間で覚えることができます。ゲーム感覚でタッチタイピングを身につけることができる無料ソフトがありますので是非とも身につけたいスキルです。 ■視覚的な理解 スクラッチではキャラクターや背景が視覚的に理解できるにもかかわらず、パイソンのアウトプットは文字と数字です。子どもたちがこの変化をどう克服するかが問題となります。子どもによっては高い壁になるかもしれません。 この問題に関しても知見があるわけではないのですが、はっきりと言えることは子どもたちがプログラミングで自分の世界を切り開きたいという気持ちがあれば大きな問題とはならないと思います。 子どもたちがパイソンを好きになった兆候 子どもたちがパイソンを好きになっているかは、つぎのような兆候で把握することができると思います。 ・カリキュラムの学習だけではなく、自分で目標をたて主体的に学んでいる ・問題意識を持って、パイソンのリファレンスを調べたり質問をする ・学習したことを利用して、アイデアを活かしながら発展的な作品をつくる このような姿勢で自主的に学習を続けることができれば、プログラミングのスクールに通う必要はなく、独学で興味ある分野に進んで行くことができます。 質問をしたり、方向性を相談できる先輩や指導者が近くにいる環境があれば一層いいと思います。 プログラミングを含めコンピュターの世界は広大で深淵な世界です。教室で教わることは、わずかでしかありません。独学で学習する姿勢こそが大切です。