ブログ
- フローチャートについて
- <div>フローチャートについて</div><div>こんにちは、瑠璃の進藤です。</div><div><br></div><div> プログラミングの設計に、フローチャートを描くように言われることがあると思うのですが、</div>フローチャートって、前時代の遺物です。<div> 1960年台にプログラミング言語がFortranくらいしかなかった頃に考案されたもので、</div><div>1970年台にPascalやCが出てからは、構造化チャートを描くことが推奨されるようになりました。</div><div> なぜか、構造化チャートはその後廃れて、フローチャートはいまだに生き残ってますが、</div><div>C言語以降に考案されたプログラミング言語で書く場合、構造化チャートで設計する方が適しています。</div><div><br></div><div> フローチャートの良い点としては、</div><div>1.矢印を辿ると、プログラムの行き先がよく分かる</div><div>2.図形が色々描いてあるので、処理の種類がよく分かる</div><div>くらいです。</div><div> 一方で、フローチャートの悪い点は</div><div>1.矢印をどこにでも繋げてしまえる。間違っていても分からない</div><div>2.矢印で繋ぐ分、図の占める面積が大きく、冗長である</div><div>3.繰り返しを意味する図形がなく、条件判断の図形で繰り返しの終了条件を読み解かなければならない</div><div>などです。</div><div><br></div><div> 他方、構造化チャートで私のお勧めなのがNSチャートです。画像2に示したものです。</div><div> NSチャートの良い点は</div><div>1.繰り返しや条件判断に対応する図形が用意されており、構造化言語の、while文 やif~then~else文 に直接対応する</div><div>2.矢印がないので、コンパクトに描ける</div><div> NSチャートの悪い点は</div><div>1.流行ってないので、読み書きできる人が少ない</div><div>2.構造化言語に直接対応するので、わざわざNSチャートを描かなくても、プログラミング言語で書いて仕舞えばいい</div><div>と言うところでしょう。</div><div><br></div><div> フローチャートをお勧めしないのですが、いかんせん、大学入試問題にフローチャートが出題される、と言うことなので、フローチャートを読めるようになっておかなければなりません。</div><div>また、行政が手続き案内を図示する場合、フローチャート(の変形)で示すことが多いので、プログラミングから離れても、フローチャートを読む力が求められます。</div><div><br></div><div> そう言う状況ですから、フローチャートを読む力は(いやいやですが)身につける必要があります。</div><div>でも、描く能力は磨かなくても良いかな、と思います。</div><div> 描く力はNSチャートの方を磨くことをお勧めします。</div><div><br></div><div>フローチャートやNSチャートについて詳しくお知りになりたい方は、当スクールにお問い合わせください。</div>
- Macintosh標準添付アプリの分類
- <h1>Macintoshアプリの分類</h1><h2>Personal Information Manager系(iPhoneと同期)</h2><div><ul><li>FaceTime.app<br></li><li>カレンダー.app<br></li><li>メモ.app<br></li><li>リマインダー.app<br></li><li>天気.app<br></li><li>連絡先.app<br></li></ul></div><h2>Internet接続</h2><div><ul><li>Safari.app<br></li><li>メール.app<br></li><li>メッセージ.app<br></li></ul></div><h2>文房具</h2><div><ul><li>ショートカット.app<br></li><li>スティッキーズ.app<br></li><li>テキストエディット.app<br></li><li>フリーボード.app<br></li><li>プレビュー.app<br></li><li>ボイスメモ.app<br></li><li>マップ.app<br></li><li>計算機.app<br></li><li>時計.app<br></li><li>辞書.app<br></li></ul></div><h2>Office系</h2><div><ul><li>Keynote.app<br></li><li>Numbers.app<br></li><li>Pages.app<br></li></ul></div><h2>リクリエーション</h2><div><ul><li>QuickTime Player.app<br></li><li>TV.app<br></li><li>ブック.app<br></li><li>ポッドキャスト.app<br></li><li>ミュージック.app<br></li><li>写真.app<br></li></ul></div><h2>Creative</h2><div><ul><li>GarageBand.app<br></li><li>iMovie.app<br></li></ul></div><h2>ユーティリティ</h2><div><ul><li>App Store.app<br></li><li>Launchpad.app<br></li><li>Mission Control.app<br></li><li>Time Machine.app<br></li><li>システム設定.app<br></li><li>パスワード.app<br></li><li>ヒント.app<br></li><li>ホーム.app<br></li><li>探す.app<br></li><li>スクリーンショット.app<br></li><li>ディスクユーティリティ.app<br></li></ul></div><h2>その他</h2><div><ul><li>Automator.app<br></li><li>Font Book.app<br></li><li>Photo Booth.app<br></li><li>Siri.app<br></li><li>チェス.app<br></li><li>株価.app<br></li></ul></div>
- プログラミング教育について
- <div>文部科学省初等中等教育局情報教育・外国語教育課が公表した「小学校プログラミング教育の手引(第三版) 令和2年2月」1)の中で、プログラミング教育で育む資質・能力 として、次の三点が求められています。</div><div>【知識及び技能】身近な生活でコンピュータが活用されていることや、問題の解決には必要な手順があることに気付くこと。</div><div>【思考力、判断力、表現力等】発達の段階に即して、「プログラミング的思考」を育成すること。</div><div>【学びに向かう力、人間性等】発達の段階に即して、コンピュータの働きを、よりよい人生や社会づくりに生かそうとする態度を涵養すること。</div><div>ここで特に焦点となるのが「プログラミング的思考」です。これは「自分が意図する一連の活動を実現するために、どのような動きの組合せが必要であり、一つ一つの動きに対応した記号を、どのように組み合わせたらいいのか、記号の組合せをどのように改善していけば、より意図した活動に近づくのか、といったことを論理的に考えていく力」と定義されています。</div><div>そして児童には、命令(記号) をどのように組み合わせればよいのかを考え、試行錯誤しながらプログラムを作成させることが求められています。</div><div>当然ながら児童のプログラミング的思考を育成するためには、教師が基礎的なプログラミング的思考を理解・習得している必要があります。</div><div>また、必須とは書かれていませんが、望まれていることとして、以下の二点についても言及されています。</div><div>・プログラミングの楽しさや面白さ、達成感などを味わわせる</div><div>・センサーとアクチュエータ(モーターなどの駆動装置) を活用した機械のプログラミングを体験させる</div><div>これも児童への指導に先立って、教師が体験しておく必要があると思います。</div><div>そこで我々rulie.info では、『CodeyRocky』2)を教材に用いて、教師の皆さんに、センサーとアクチュエータを備えたシステムのプログラミングを体験していただくことを提案します。</div><div>『Codey Rocky』の長所を三点挙げます。</div><div>・組み立て不要。プログラミングに専念できます。</div><div>・無限軌道で走行します。プログラムに従って実体のロボットが走り回るのを見るのは、目を見張るような体験です。</div><div>・ドットマトリクスディスプレイやRGBLEDなどの表示装置にプログラムの実行経過を表示できます。</div><div>体験を通して、プログラミングの楽しさや面白さ、達成感を感じていただき、プログラミング的思考を習得するきっかけとして頂ければ幸</div><div>いです。</div>
- 「プログラミング的思考」について
- <div>「プログラミング的思考」という、よく分からない才覚が、全小学生に求められています。</div><div>「プログラミング的思考」という言葉は、策定した人たちも苦し紛れに打ち出したのではないかと思います。</div><div>「論理的思考」という言葉はあります。しかし、プログラミングは論理だけで達成できるものではありません。段取りとか問題の切り分けとかが必要です。</div><div>「システム思考」という言葉もなくはないですが、「システム」というのも掴みどころがない言葉です。</div><div>というわけで、プログラミングを通して身につく才覚を「プログラミング的思考」と呼ぶことに落ち着いたんだと考えます。</div><div><br></div><div>思うに、プログラミング的思考はお料理を作る才覚に近いと考えます。</div><div>お味噌汁を作ることを考えてみましょう。</div><div>一言でいえば、野菜などを煮て味噌を溶き入れればできるわけですが、野菜などを煮るには、お湯を沸かさないといけないし、野菜などを一口大に切ることも必要です。</div><div>これらを段取りよく順序だてて書けば、</div><div>・野菜などを一口大に切る</div><div>・鍋に水を入れて火にかけ、沸騰するまで待つ</div><div>・野菜などを鍋に入れ、柔らかくなるまで煮る</div><div>・味噌を溶き入れ、手早く火を止める</div><div>ということになります。これはちょっとしたプログラミングです。こういうことが出来る才覚が「プログラミング的思考」だと考えます。</div><div><br></div><div>蛇足ですが、お料理に慣れた人なら、野菜などを切る前に、水を入れた鍋を火にかけ、沸騰するまでの間に野菜などを切るよ、とおっしゃられるだろうと思います。</div><div>これはプログラミングの方では、マルチタスキングと言って、OSの機能を活用した、より本格的なプログラミングになります。</div><div>「プログラミング的思考」という時には、そこまで凝った才覚は求められていないと考えます。</div> <div><br></div>