top of page

検索結果

「」に対する検索結果が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個の単語のつづりと発音を覚えることが必要となります。これが生徒たちにとってどの程度の高さの壁になるのかまだ把握はできてはいませんが、大きな負担にはならないのではないかと考えています。 ■キー入力 音声入力が将来社会に浸透するかもしれませんが、しばらくは学校で音声入力が主要な手段になるとは考えずらく、キーボード入力はこれからの社会においても必須スキルであり続けると思います。 そしてこれからの子どもたちが避けては通れないのは、タッチタイピングというキーボードを見ずにキー入力するスキルです。プログラミングは、タッチタイピングを直接必要とはしませんが、キーボードの配列を覚えるタイミングにあわせてタッチタイピングを練習したほうがいいと思います。 大人になってからはでは、なかなか身につけることが面倒なスキルですが、子どもの場合は短期間で覚えることができます。ゲーム感覚でタッチタイピングを身につけることができる無料ソフトがありますので是非とも身につけたいスキルです。 ■視覚的な理解 スクラッチではキャラクターや背景が視覚的に理解できるにもかかわらず、パイソンのアウトプットは文字と数字です。子どもたちがこの変化をどう克服するかが問題となります。子どもによっては高い壁になるかもしれません。 この問題に関しても知見があるわけではないのですが、はっきりと言えることは子どもたちがプログラミングで自分の世界を切り開きたいという気持ちがあれば大きな問題とはならないと思います。 子どもたちがパイソンを好きになった兆候 子どもたちがパイソンを好きになっているかは、つぎのような兆候で把握することができると思います。 ・カリキュラムの学習だけではなく、自分で目標をたて主体的に学んでいる ・問題意識を持って、パイソンのリファレンスを調べたり質問をする ・学習したことを利用して、アイデアを活かしながら発展的な作品をつくる このような姿勢で自主的に学習を続けることができれば、プログラミングのスクールに通う必要はなく、独学で興味ある分野に進んで行くことができます。 質問をしたり、方向性を相談できる先輩や指導者が近くにいる環境があれば一層いいと思います。 プログラミングを含めコンピュターの世界は広大で深淵な世界です。教室で教わることは、わずかでしかありません。独学で学習する姿勢こそが大切です。

  • スクラッチの次はパイソンと決めた理由

    ベルジェールは、子どもたちがスクラッチの次に学ぶ言語としてパイソンを選びました。その理由を説明したいと思います。 スクラッチは、子どもたちをプログラミングの世界に迎え入れた スクラッチは、MITが開発したビジュアルプログラミング言語です。スクラッチは、マウスの操作だけでプログラムをつくることができます。ブロックをジグソーパズルのようにつなぎ合わせ、音やアニメーションを使ってデジタル作品を作ることができるようになったのです。 スクラッチによってプログラミングのハードルは飛躍的に下がり、多くの子どもたちをプログラミングの世界に迎え入れました。 スクラッチが、子どもたちを惹きつけるものとは スクラッチが子どもたちをプログラミングに惹きつける光の部分を考えてみます。 スクラッチは、命令を表すブロックを画面にならべることで、命令そのものも、命令の結果であるキャラクタや背景の動きも、画面上でリアルタイムに確認できます。スクラッチはプログラミングを視覚的に理解することができること、これが最大の魅力です。 もし子どもたちが最初に学ぶプログラミング言語がテキスト型だとしたら、多くの子どもたちはプログラミングを理解する前に挫折するかもしれません。 子どもたちの考えがリアルタイムにキャラクターや背景に反映されて動くこと、そして考えどおりに動かなくても誤りをすぐ確認でき、そしてすぐ修正できることが、子どもたちに物作りの実感を与えます。これこそが、プログラミングを学ぶ醍醐味ではないでしょうか。 スクラッチにも限界がある 画面上でブロックを組み合わせて作品を作ることには、わかりやすいがゆえの制約があります。ブロックは物理的に一定の大きさがあります。画面も縦と横にスクロールすれば巨大な平面にちがいありませんが、同時に見ることができるのはあくまでも目の前の画面の大きさでしかありません。 ですから子こどもたちがつくろうとしている作品が大きくなると、作品のプログラムを理解するには縦横に何度もスクロールをすることになり、全体を見渡して理解することができません。トップダウンで階層的に理解できないことは致命的となります。 また作品が大きいとプログラムを修正したり追加する時に、どこに影響するかを調べることは簡単ではありません。試行錯誤しながら物作りをするというプログラミング的思考にとって、これは大きな制約となります。 またキャラクターや背景の動きは、画面を見ながら仲間たちと共有はできるのですが、プログラムは簡単には共有できません。プログラムが大きくなると仲間に説明することも、仲間が理解することも困難になります。そして、ひとつの作品を複数の仲間と共同して作成することは不可能に近いと言っていいと思います。 したがってスクラッチは、小さな世界で自分の考えを作品として制作するという点では素晴らしい言語ですが、その世界から少し踏み出そうとすると、スクラッチ自身の特性が大きな足かせとなります。 ここにスクラッチの限界があります。 プログラミングによって創造力や思考力の育成を図ることが目的であれば、スクラッチから早くステップアップして、もっと広いフィールドで自由にプログラミングを経験をさせるべきではないかと思います。 スクラッチの限界から抜け出すには スクラッチからステップアップする時に、スクラッチの次に何を学ぶかという悩ましい問題が立ちふさがります。 子どもたち自身がプログラミング言語を選択することは、特殊な環境に置かれていないかぎり難しいことです。では親が代わって選択できるかと言えば、それも難しいと言わざるをえません。インターネットで調べても、実績を踏まえた効果の検証がされている文献や記事は見当たりません。 子どもたちにとってプログラミングが必要であるという議論は盛んにされているのですが、スクラッチにかぎらずビジュアルプログラミング言語からどのようにステップアップするかはまだ模索中と言えるのではないでしょうか。 これはプログラミング言語の問題にとどまらず、プログラミング教育全体の青写真についても言えます。多くの小学生がプログラミングを学んだ後に、中学・高校・大学でどのようなシナリオでプログラミング的思考を育てていくのかイメージは固まっていません。きっと識者の会議では議論されているとは思うのですが、まだ現実的な姿までブレークダウンされているとは思えません。 IT業界では言語をどのように選択しているか 世の中には数百種類のプログラミング言語があると言われています。なぜこんなに種類があるのかと言えば、解決すべき問題が多様化し、それに伴い問題解決へのアプローチも多様化し、最適なツールを開発していたらこれだけ多くのプログラミング言語が出来上がったということでしょう。 このような環境の中で、IT業界ではプログラミング言語を次のような理由から選んでいます。 ■人気のある言語を選ぶ 人気のある言語による開発は技術者を集めやすいですし、書籍やインターネットの情報が多いことから開発が容易になります。 ■システム/アプリケーションの特性から言語を選ぶ サーバー・パソコン・スマートフォン・OSといったシステムの種類や、ビジネス系・組み込み系・ウェブ系といったアプリケーションの特性から言語を選んでいます。 ■仕事で使っている言語を使い続ける 古い言語を使って開発したシステムが多く残っている会社は、開発生産性が高い言語が登場しても現行の言語を使い続けます。日本ではその傾向が強いようです。 スクラッチの次にどの言語を選んだらいいのか 子どもたちがスクラッチでプログラミングの楽しさを知りプログラミングの基本を学んだ後に、学習する言語はどのように選んだらいいでしょうか。 子どもや保護者が、子どもプログラミングの大会出場を目指すといった目標があればスクラッチを使い続けることもありえます。また子どもが、iphoneやandroidのゲームやウェブサイトをつくりたいというはっきりとした目標があるケースは、目標に応じた言語がほぼ絞られます。 それ以外のケースでは、子どもたちが学ぶ目標をまず考えるべきではないでしょうか。 ベルジェールでは、子どもたちがはじめて接するテキスト型言語ではあらかじめつぎのようなことを知っておくべきだと考えています。 ■プログラミングの基本的な考え方は、テキスト型の言語もスクラッチと変わりがないこと ■プログラムは、小さな部品が積み重なってだんだん大きなプログラムになること ■大きなプログラムは、自分の力だけでつくるわけではなく人がつくった部品(組み込み関数や外部ライブラリなど)を使うということ ■部品の種類は多くあり、これらを理解して使いこなすことがプログラミングでは大切であること これらを理解した上で、自由な発想で試行錯誤をしながら、次のようなプログラミング的思考を身につけることが重要であると考えます。 ■プログラミングとは、問題解決をすること ■問題解決は、問題発見・モデル化・コーディング・評価をくり返すこと ■モデル化は、分解・抽象化・一般化・組み合わせを順にくり返して考えること ・分解:大きな動きを解決可能な小さな動きに分けること ・抽象化:目的に応じて必要な性質だけを取り出すこと ・一般化:ものごとの類似性や関係性を見出すこと ・組合せ:試行錯誤しながらより良い手順を作り出すこと では、これらのプログラミングの原理やプログラミング的思考を学ぶためには、何がプログラミング言語選定の必須条件となるのでしょうか? それは、プログラミング言語そのものが、理解しやすくプログラミングがやさしいという特性だと考えています。プログラミング言語自身の難解さに挫折して、投げ出してしまうようなことがことがあれば不幸なことです。せっかくスクラッチで楽しさを知ってステップアップしようとしたにもかかわらず、返り討ちに合ってプログラミングの世界から離れることになっては残念なことです。 ベルジェールがスクラッチの次の言語としてパイソンを選んだ理由とは ベルジェールが、スクラッチの次の言語としてパイソンを選んだのは、パイソンが「少ないコード量で簡単にプログラムがかける」「コードが読みやすい」といった特性を持っているからです。これが最大の理由です。 さらに付け加えますと、パイソンは ■人工知能(AI)、Web開発、教育の分野など広い分野で使われている ■google,youtube,facebook,line,instagramなどでも採用されいる ■近年さまざまなプログラミング言語ランキングでも、トップや上位に食い込んでいる ■データ解析やAIの分野で広く使われていることから、今後も人気が高まる また海外の教育の実態として ■イギリスの小中学校ではパイソンが多く採用されている ■中国では、学校のプログラム言語が次々とパイソンに切り替えられている 以上の理由から、ベルジェールではスクラッチの次に使う言語としてパイソンを選びました。 パイソンを選んだ後に考えなくてはならないこと パイソンを選んだ後には、次のような疑問点がでてくるのではないかと思います。 ■子どもたちがパイソンを本当に理解し使いこなせるか ■アルファバットや英単語をどう考えたらいいか ■キー入力をどう考えたらいいか ■使いこなすにはどのくらいの期間が必要となるか これらの疑問には、パイソンの教材を作成した経験とスクラッチを長年教えてきた経験から気づいたことを含めいずれブログでお話をしようと思います。

bottom of page