2023年1月に、約8年の実施してきた情報オリンピック対策講座の使用教材と指導方法を一新しましたが、2024年1月にさらに見直して改定しました。
今日は、そこからさらに進化した2026年5月現在のJOI情報オリンピック受験対策講座についてご説明いたします。
ここ1年の指導で、大きく変わったのはやはりAIを授業のあらゆる場面で利用していることです。
札幌WEBプログラミングスクールは、恐らく日本でもっとも授業でAIを利用しているスクールでしょう!
情報オリンピックの概要と使用テキストについて
筑波大学付属駒場高校や灘高校、開成高校などの生徒さんがメダルを取ることで知られている数学オリンピックや物理オリンピック。
この2つのオリンピックに並んで、プログラミングのコンテストである情報オリンピックがあるのはご存じでしょうか?
札幌WEBプログラミングスクール 中学生・高校生コースでは、約10年前から情報オリンピックの受験対策講座を開講し全国の進学校に通う中高校生に受講していただき好評を得て来ました。
現在も多数の全国の中学生・高校生がマイクロソフトのTeamsアプリによって札幌WEBプログミングスクールの情報オリンピック受験対策講座を受講されています!
2023年1月からは、今プログラム開発で最も使用されている言語となった人工知能=AIシステム開発用言語、Pythonによっても予選が受験可能となったこともあり、Python言語での受験対策授業の受講も可能となりました。
つい最近まで情報オリンピック受験対策参考書としては『プログラミングコンテンスト チャレンジブック』しかありませんでした。
札幌WEBプログラミングスクールでも、このテキストを中心として受験対策授業を行って来ました。
しかし、最近はC,C++言語で例題プログラムが記述されたテキストで、『プログラミングコンテンスト チャレンジブック』の他にも情報オリンピック対策参考書が複数出版されたため、2023年1月からこちらのテキストを使用して、インターネット上の参考となるサイトも使用しながら授業を進めていきました。
現在、PythonまたはC言語によるプログラミングを習得した生徒さんには、受験対策の基本編テキストとして、まずは『JOI公式テキスト Pythonで問題解決』を使用し、最初のページから最後まで順番に学習してもらっています。
応用レベルテキスト『競技プログラミングの鉄則』の学び方
ここ数年で出版されたうちの一冊が『競技プログラミングの鉄則』です。
この本は現役東大院生で、筑波大学付属駒場高校時代にAtcoder(情報オリンピック受験生用のプログラム検査、採点サイト)でレッド・コーダー(最上級レベルプログラマ)になった米田 優峻さんが書かれた本です。
図も豊富で一見分かりやすそうですが、けっして易しくはありません。
この本を購入し独学で受験勉強をしている中高校生も多いと思いますが、独力で二次予選を高得点で突破できるレベルの人はどんどん読み進んでいけるでしょうけど、そうでない人は、トップクラスの進学校に通っている高校生でも読み進むのにかなり苦労すると思います。
何より、掲載されている例題プログラムの難易度が高いのです。
どの科目の勉強でもそうですが、いきなり難易度の高い参考書に取り組むのは間違いです。
まずは易しい、分かりやすい課題から階段を昇るように学ぶべきです。
Amazonの書評でも、「この本を読んでも実際にコーディングは出来ないと思います。なぜかと言えばコードの重要な働きの説明が抜けている箇所がまあまああるからです。
コードはアルゴリズムのみにあらずです。理解するためには自分でコードを書いて理由を発見しなければなりません。」
とありますが、これは例題プログラムの肝心なところの文(コード)の説明がすっぽり抜けているものがあり、模範解答プログラムに不必要なコード=文があったりしてそれを見抜けないとプログラム全体の完全な理解が困難なのです。
現在は、それらの間違いは正誤表でほぼ訂正されているようですが?

札プロでは『JOI 公式テキスト』が完全にマスターされた後に、応用編としてこのテキストを使用しています。
さて、掲載例題の模範解答プログラムをどう理解したら良いのか?
★札プロではそこでAIを最大限活用しています!
その使用の仕方こそが重要です。
札プロでは授業の中で、AIを利用した解説の理解の仕方をマンツーマンでキメ細かく指導しています。
プログラムの書き方は十人十色、一つではない。
この参考書を利用している人の中には、例題プログラムを途中まで打っていって、そこから先に進めなくなって立ち往生してしまう人も多いでしょう。
どうしたら、この壁を乗り越えられるのでしょうか?
こういった悩みも札プロで指導を受けたら、苦労せず乗り越えられます。
ひとつお教えすると、プログラムの解法は人によって色々ですから、自分のやり方で作ってみることも非常に重要だということです。
それが「コードはアルゴリズムだけにあらず」という言葉の意味で、つまり解法は本に書いてある代表的な解法だけではないという意味でしょう。
例えば、情報オリンピックには再帰関数』と『漸化式』『動的計画法』と『グラフアルゴリズム』が頻繁に出題されます。
ですからプログラムを作るには、これらの基本から段階を踏んで完全に理解し、自由に使用できるようにならなくてはななりませんね。
でも、漸化式と動的計画法を使わなくても、様々な方法で作成できますよね?
ここに気づかないと壁は越えられません。
オリジナルプログラムで問題となる計算量の計算方法
自分なりの作り方(アルゴリズム)でプログラムを作った場合に最大のネックは、計算量が多いと、答が出るまでに制限時間を越えてしまって、0点になってしまう事です。
この計算量の計算も分かりやすくご指導しています。
思うようにプログラムが作れないのは基本ができていないからでは?
どんな分野でもそうですが、正統派の基礎・基本をみっちり身に着けなければ、応用レベルの課題は解決できませんね?
美術家になるには、デッサンの修練が必要だし、ギターなら複数のポジションでドレミを演奏できて、同じコード(和音)を押さえられなくてはいけない。
重要な点は、どの学習項目も『完全に徹底的に理解する事』です。
あらすじが大方理解できたというのは、0点と同じでまったく理解出来ていないのです。
理解出来ていないから、同類の課題プログラムを作れないし、応用も利かないのです。
これは、数学や英語、理科のなどのどんな分野の学問でも同じですね。
思うように予選が突破できない、中盤から後半に出題された課題が作っていけない方は、もう一度『基礎・基本』が完全にマスタされていないのではないか?と振り返ってみてください。
『漸化式』や『メモ値配列』が分からないのに動的計画法の課題プログラムを作れる訳はないのです。
札幌WEBプログラミングスクールでは、『JOI公式テキスト Pythonで問題解決』に掲載されている例題や練習課題の模範解答プログラムを完全に理解できるよう、どの例題プログラムや練習課題プログラムも、どこよりも分かりやすく、かみ砕くように解説しています。
あなたは、『JOI公式テキスト Pythonで問題解決』の全プログラムを完全理解していますか?
JOI公式テキスト課題プログラムの解説サンプルを掲載しました
完全に理解するとはどういうことか?
自分独自の方法で作ったプログラムで問題になる計算量
受験はC,C++言語とPython言語のどちらを選択すべきか?
Python言語で受験する場合、問題点は本選がC,C++言語での受験となる事です。
さらに、一部の『競技プログラミングの鉄則』などの受験対策参考がC,C++言語で記述されていることもネックとなります。
また、今までの過去問の公表された正解プログラムや受験生が作った解答プログラムがやはりC,C++言語で書かれていることです。
ですから、 標準となるカリキュラムでは、まずC,C++言語より圧倒的に易しいPython言語のクラスのところまで短期間でマスタしてもらった後に、C,C++言語の基本文法を完全にマスタしてもらい、その後に受験対策テキストの演習に移っていくか、Pythonマスタ後、受験対策とC,C++言語プログラミングを平行して学んだもらっています
札プロに入会し、予選突破して本選で優秀な成績を収める方法は?
2次予選も突破し、本選でAクラス、金メダルなどの成績上位者を目指すには、全6問中の4問目まででほぼ満点を取って、いかに5・6問目で高得点を取るか?が鍵となります。
まず、過去の指導結果から視ると、灘や桜蔭、筑波大学付属駒場の生徒さんで、学習を開始して1年目で本選出場をした場合、大学受験と同じようにもう一年を、時間を図っての本番さながらの課題プログラム作成実習に当てるのが標準コースと考えます。
これは金メダル授業者が、中学2年か、それ以前に小学生の時にプログラミングコンテストで受賞する人が多いことからも言えます。
本選で高得点を挙げるには、C,C++言語の文法などで穴があると、最初の一問をクリアできないなど、不慮のアクシデントに見舞われることもあります。
文法始め、全範囲で弱点があってはいけません。
情報オリンピックは東大の数学とそっくりだと考えています。難易度もほぼ同じだし、理三、理一の数学6問完登者と受賞者はかぶっていると思います。
ちなみに、理三の数学合格者平均点は昔から4問半解答です。
そうすると、情報オリンピックは数学オリンピックのプログラミング版と考えてよいので、数学と学習方法は同じと考えて良いです。
金メダルを取る、学術論文の裏付けのある学習方法
数学やプログラミングで難問を制限時間以内に解き切る方法には、昔から、解答を見ないで長時間悪戦苦闘して答を導き出すことを繰り返すというものがあります。
これには学術論文も出ていて『プロダクティブ・フェイリア(生産的失敗)』といいます。
マヌ・カプールが提唱した手法で、「正解を教わる前に、あえて難しい問題で『もがく』時間を作る」というものです。
標準の方法で、最大1時間30分考え抜く。
この方法は、多くの進学校の生徒さんが、私が高校生の頃からしてきた方法ですが・・・・昔から時間が取られるのが非常に欠点でした。
数学で言えば、1問30分が本番で与えられる時間だから30分考えろと。そうすると、他の科目も学習しないといけないので、数学を3問解いてで2時間以上の学習時間になってしまいます。
そこで、札プロのではAIを駆使して、1時間30分を30分以内に短縮して同等以上の得点力を身に着けてもらっています!
それでも、数学・物理・プログラミング課題を解くのには時間が掛かる
いずれにしても、プログラミング例題を自力で作るには、兎に角、時間が掛かります。
さらに、今お話した5.6問目レベルの過去問に基本もそこそこで挑戦しては効果がありません。
基本から積み上げていく方法、これは『良質な解法の写経(Worked Example Effect)』と呼ばれる方法でオーストラリアの教育心理学者であるジョン・スウェラー(John Sweller)が1985年に唱えた理論です。
これは、昔から灘高校の学生や、大検で東大理三に合格した人が、最大限の工夫をして使用してきました。
こういった理論を使用してるかどうかが、北海道のトップ進学校である札幌南や札幌北と灘や桜蔭女子高校などの学生のかけ離れた受験実績と産んでいます。
札プロも、これらの理論をAIを最大限利用し、工夫した最新の方法をご指導しています。
プログラミング初心者が入会した後の実力の伸びはどれぐらい?
プログラミングは数学の能力と密接な関係があり、その実力の伸びは非常に差が出ます。
ただ、標準的な生徒さんの伸びはこんな感じです。
春に入会されたプログラミング初心者の中学生・高校生、はまずPython言語を短期間でマスターし、その後本戦ではC、C++言語でプログラムを書かなければいけないので、これをマスタするか、次のステップの『JOI公式テキストを利用しての受験対策講座』を受講するのと並行してC言語をマスタしてももらいます。
それで、ほとんどの場合、まずはその年の一次予選を受験していただき、ほとんどの生徒さんは突破して二次予選に進まれます。
これを突破できる生徒さんと、出来ない生徒さんに分かれます。突破できなくて次の年も受験可能な場合はまた挑戦して高得点を狙っていただきます。
1年目は2次予選で5問中2問は完答されます。
この表によると予選Aランク=上位約150人になるには2問完答で、残りの3問で、1問でも完答するか、3問で部分点をどれぐらい稼ぐかによると読み取れますが、実際の難易度はこのサイトにあるよりは高く、3問半から4問で本戦進出となるように感じています。
本選での金メダルなどのトップ争いは、全問完答が続出では差がつかないので、5問中4問分を得点し、そこからどれぐらい部分点を稼ぐがになります。
そもそも情報オリンピックって何?情報オリンピックに挑戦する意義は?
無料相談会で必ず話す事に、「情報オリンピックは数学オリンピックのプログラミング版である」ということがあります。
数学は鉛筆で数式を書きますが、情報オリンピックは数式をプログラムにします。
ですから、数学オリンピックで優秀な成績を残せる人は、必ず情報オリンピックでも好成績を残せるでしょう。
逆もまた然りです。
情報オリンピックが何のために存在するのか?なぜ計算量が少ないアルゴリズム(方法)を求めるのか?
目的はGoogleやFacebook、MicrosoftなどのGAFAといわれる巨大IT企業にプログラマ・研究者を供給するためです。
そのための有望な中高校生を世界中で発掘しスカウトするために存在すると言って良いと思います。
Googleが追及しているのは、少ない計算量で出来るだけ高速に、重要なキーワードでGoogleを検索した人にお勧めのホーページをお勧めの順番に表示することです。
そもそも本当に得するのはてプログラマや社員ではなくGoogleやMicrosoftなどの創業者である
「ハッカーと画家」(Ohmsha)という本に、「この30年で大富豪になったのはIT関係の起業家しかしない!」と書かれていますが、ほぼその通りですよね。
日本ならソフトバンクの孫正義、楽天の三木谷浩史、ZOZOも前澤友作、サイバーエージェントの藤田晋。
その手にした資産は時に何兆円という額になります。
[ read more]
競馬やパチンコ、カジノなどのギャンブルがそうですが、ギャンブルをやればやるほど、胴元、つまり主催者が一切の損失なくどんどん儲けていくのですよね。
だからGoogleもFacebookも起業したラリーページやザッガーバーグが真に儲かっているのです。
そして創業時は自分がプログラマだったけど、早々に経営者に徹するようになった訳です。
この事を、今の中高校生とご両親にはよくよくじっくり考えてほしいと思うのです。
コンピュータの世界では、プログラマよりも革新的なビジネスアイデアを思い浮かべ起業する力の方が重要であると。
ラリーページやザッガーバーグまで行かなくても、日本でも創業から2年・3年で数十億の売上を挙げるまで急成長するIT系の若手起業家がたくさん出現しています。
創業者は上場(企業の株式を証券取引所で販売できるようになった企業。一流企業になったことの一つのお墨付きになる)した場合は一夜にして数十億円の資産が転がり込んで来ます。
しかし、大学も情報工学科に行くだけでは経営学やマーケティング、起業論を学べません。
そこで、札幌WEBプログラミングスクールの中高校生コースでは、『創造力育成 良いアイデアの出し方講座』を数回に一回全員に受講してもらい、ホームページなどのインターネットを利用して商品・サービスを販売して収益を出す方法や、基本情報技術者試験の午前試験範囲でもある マネジメント(経営・マーケティング)・ストラテジィ(経営戦略論)などの内容を楽しく学んでいただいております。
そのため、札幌WEBプログラミングスクールの中高校生コースは退会率が非常に少なく、6年7年と長期に渡り受講される生徒さんがたくさんおられるのです。[/read]
情報オリンピックの成績は大学の特別推薦入試の推薦条件となっています
対象大学一覧と主な大学の推薦条件はこちらをご覧下さい
日本のプログラミング教育No1教師の授業を体験してみませんか?
札幌WEBプログラミングスクールは2000年に創立した日本で最初に受講したい時間に自由に予約して受講できるスタイルのWEBデザイン・プログラミングスクールです。
また、日本で最初の小中高校生対象のプログラミングスクールでもあります。
代表の横田昌彦は、北海道の公立高校教員を始めとして、小中高校生、大学生、社会人まで指導総生徒数 3940人、経験年数 33年、 授業時間数 42847時間をプログラミングとWEBデザインの授業をしてきた日本で最も豊富な教務経験を有する教育者です。
これほど、多様な学校で幅広い年齢層にIT関連教科の学習指導をしてきた人間は日本では他には間違いなくいないでしょう。
この指導実績をご覧いただければ、札幌WEBプログラミングスクール代表の横田昌彦が『日本のプログラミング教育のパイオニアにして第一人者』を自称しても間違いないでしょう!
経産省の基本情報技術者試験に33名、応用情報技術者試験に8名、サーティファイ認定試験に174名など合計242名ものプログラミング資格試験合格者を輩出しています。
このようなプログラミングスクールは日本には存在しません。
札プロなら驚くほどスムーズPython言語やC,C++言語プログラミングの腕が上がって行きますよ!
無料体験授業は3回受講できます。全国どこからでSkypeで受講できます。お気軽にお申し込み下さい。お申し込みはこちらです。



