【現役エンジニアが語る】コードを書く前に図を描け!情報I「フローチャート」が論理的思考の最重要ピースである理由
こんにちは!オンライン家庭教師のこばやしです。
普段は「納得感」を大切にするフリーランスのITエンジニアとしてシステム開発や新人研修の講師を務めながら、中高生向けに「情報I」「理系数学」「英語」を指導しています。
これまで、「条件分岐(もし〜なら)」や「繰り返し(ループ)」といったプログラムの基本パーツについて解説してきました。
しかし、いざこれらを組み合わせて「数当てゲーム」や「自動計算レジ」などのプログラムを作ろうとすると、急に手が止まってしまう生徒がたくさんいます。
その原因は、知識不足ではありません。「頭の中だけで複雑な処理を組み立てようとしている」からです。
■ プロの世界でも、いきなりコードは書かない
ここで登場するのが、プログラムの設計図である「フローチャート(流れ図)」です。
実は、プロのエンジニアも複雑なシステムを作るとき、いきなりパソコンに向かって暗号のようなコードを打ち始めることはありません。私が長年携わってきた金融決済システムなど、たった1つの計算ミスや条件の漏れが大きな事故に繋がる現場では、プログラミングよりも前の「設計(図を描くこと)」に圧倒的な時間をかけます。
「どんなデータが入ってきて」「どの条件で道が分かれ」「どこを繰り返すのか」。
これを、四角やひし形の記号を使って、誰が見てもわかる「地図」として可視化するのです。
■ フローチャートができれば、あとは「翻訳」するだけ
フローチャートを描く最大のメリットは、「論理の矛盾(バグ)に、コードを書く前に気づける」ことです。
「あれ?この矢印の先、どこにも繋がってないぞ」
「この条件だと、無限ループから抜け出せなくなる!」
図にすることで、頭の中のモヤモヤが晴れ、論理の穴がクッキリと浮かび上がります。
そして、完璧なフローチャートさえ完成してしまえば、実はエンジニアの仕事の大部分は終わったようなものです。あとの作業は、その図をPythonやJavaといったプログラミング言語の文法に合わせて「翻訳」していくだけだからです。
■ これこそが「プログラミング的思考」の正体
教育現場でよく言われる「プログラミング的思考(論理的思考)」とは、プログラミング言語の文法を暗記することではありません。
複雑な課題を前にしたとき、いきなり手を動かすのではなく、「要素を分解し、道筋を立てて、矛盾のない手順(フローチャート)を組み立てる力」のことです。この力は、IT業界に限らず、将来どんな仕事に就いても求められる強力な武器になります。
私の授業では、コードを書き始める前の「図を描いて考える時間」を非常に大切にしています。
生徒自身が「あ、ここで分岐すればいいんだ!」と心から納得(アハ体験)できるまで、一緒にじっくりと論理を組み立てていきます。
「条件が組み合わさると、途端に分からなくなる」
「将来に活きる、一生モノの論理的思考力を身につけたい」
そんな方は、ぜひ一度体験授業にいらしてください。
現役エンジニアと一緒に、頭の中をスッキリ整理する「プログラミング設計」の面白さを体験しましょう!
【プロフィール】 こばやし|納得感を大切にするフリーランスエンジニア
北海道大卒。約10年間にわたり金融決済システムなどの基幹開発に携わった後、フリーランスのエンジニア・IT講師として独立。企業の新人IT研修のメイン講師も務めるプロが、「仕組みから理解する」論理的な指導を行います。
この先生のおすすめコース
- 共通テストで「情報I」が必要な国公立大・難関私大志望の方
- 「プログラミング」や「データの分析」が苦手で、暗記に逃げている方
- 将来IT系に進みたい、または現役エンジニアから実学を学びたい方
このブログに関連するオンライン家庭教師はこちら
情報/プログラミングのおすすめの指導コース
- 3DCG作成に興味がある方
- 3DCGゲームを作ってみたい方
- 楽しく学びたい方
- 3DCG作成に興味がある方
- 3DCGゲームを作ってみたい方
- ゲーム映像業界に興味がある方
- 『情報I』の勉強で、どこから手をつけていいか判らない人
- 共通テスト過去問をみても解けない人
- 国公立大志望(情報が必須)の人
- 情報を勉強したことがない生徒さん
- ITやAIについて知りたい生徒さん
- 理系科目を女性の先生から教わりたい生徒さん
- 生成AIの使い方を学びたい、活用したい方
- 生成AIを使ってアプリ開発をしたい方
- 生成AIの正しい使い方や危険を学びたい方