2026年6月、札幌WEBプログラミングスクールは、JOI情報オリンピック指導講座を最新の学術研究成果に基づき、以下の3つのコースへと改定・整備いたしました。
近年、JOI参加者は大幅に増加しており、参加者数は 2020/2021 の 1,311人から、2023/2024 には 2,508人、2024/2025 には 3,136人へと伸びています。一方で本選進出者は 88人 → 177人 → 198人と増えてはいるものの、競争はより激しくなっています。
つまり市場は拡大していますが、「勝ち切るための競争」は同時に厳しさを増しています。
そこで、10年以上の指導実績を持つ札幌WEBプログラミングスクールでは、教育心理学などの学術研究成果と長年の教務経験を融合させ、確実に目標達成へ導くカリキュラムへと全面的に刷新しました。
コースは以下の3つをご用意しています。
- 上級Aクラス入賞必勝コース
- 中級アルゴリズム完全マスターコース
- Pythonから学ぶ初心者コース
今日はそれぞれの内容を解説していきます。
札幌WEBプログラミングスクールのJOI受験対策の歴史
札幌WEBプログラミングスクール 中学生・高校生コースは約10年前、東京学芸大学附属高校の男子生徒さんから「C言語の学習で行き詰まってしまったので、情報オリンピックの受験対策講座をしてほしい」というお問い合わせをいただいたことが始まりでした。
その後、灘高校・筑波大学附属高校など全国の進学校の中高生に受講いただき、好評を得てきました。
ここ数年で出版されたうちの一冊が『競技プログラミングの鉄則』です。
現在も全国の多数の中学生・高校生が、Microsoft Teamsを利用して札幌WEBプログラミングスクールの情報オリンピック受験対策講座を受講しています!
指導開始当初、情報オリンピック対策の参考書は、通称「蟻本」と呼ばれる『プログラミングコンテスト チャレンジブック』のみでした。
当スクールでも長らくこのテキストを中心に授業を行ってきました。
しかし近年は、C/C++で例題が記述された『競技プログラミングの鉄則』など複数の参考書が出版され、さらにJOI春季合宿用の『JOI公式テキスト Pythonで問題解決』も刊行されました。
現在はこの2冊を中心に授業を行っています。
情報オリンピックの難易度はどれ位?
情報オリンピックの難易度はどれぐらいか?これを東大理系の入試数学と比較してみました。
『どっちが難しい?情報オリンピックで金・銀・銅メダルを受賞しAクラスに入賞するのと?』のページをご覧いただければ分かる通り、東大入試数学6問と情報オリンピック本選5問はだいたい同じ難易度なことがご理解いただけると思います。
| JOIのレベル | 人数のイメージ | 東大入試でいうと近いイメージ |
|---|---|---|
| 本選に出場できる | 全国で約185名 | 東大理系(理一・理二)に、数学が得意な状態で合格できる層 |
| 本選Aクラス | 上位約35名(全体の約19%) | 理三を本気で狙える、数学がかなり強い層 |
| 銅メダル | 上位3名のうちの1人 | 理三合格者の中でも、数学がとくに強い上位層 |
| 銀メダル | 上位3名のうちの1人 | 理三合格者の中の、さらに上位層 |
| 金メダル | 全国でただ1人 | 理三合格者の中でもトップ、数学で全国に名前が知られるレベル |
こんなはずではなかったと敗退しないために。必ずAtcoderに参戦して実力を知っていこう?
2次予選は突破できると思ったけど後30点取れなかった。本選でAランクをめざしたが意外なほど得点できなかった。
その挫折感を味わわないように、必ずAtcoderに参戦して実力を知っていきましょう。
AtcoderはJOIのプログラム提出と採点のネット上システムで、より難易度の高い問題のプログラム作成で合格するごとに、柔道の帯のように色が貰えます。
ですから、札プロへの受講と平行して、是非、Atcoderでにランク把握に努めてください。
ざっくり言うと、JOI本選出場の目安はAtCoder緑〜水色くらい、Aランクは青〜水色以上が目安です 。
◆参考記事 【色変記事】AtCoder緑色になりました【Ruby】
目安の考え方
JOI本選そのものは、二次予選を突破できるだけの力があれば到達できるので、AtCoderの色では茶色後半から緑が一つの下限目安として語られることが多いです 。
一方で、JOI本選Aランクはかなり上位で、2024/2025の本選ではAランク基準点が306点以上でした 。
そのため、AtCoderで青以上、安定していれば水色くらいが現実的な目安になります 。
★注意点
これは厳密な換算ではありません。JOIは年ごとの問題傾向や受験者層で変わるので、AtCoderの色と1対1対応はしません 。
ただ、感覚としては「本選出場=まず基礎〜標準問題を安定して解ける」「Aランク=かなり強い競プロ力が必要」と考えるとわかりやすいです 。
Pythonから学ぶ初心者コース
JOIプログラムを作るためのPython言語,
C・C++言語などをまだ学んだことがない初心者の方、または独学で途中で行き詰まってしまった方には、まずPython言語のクラス機能までの全文法を、設計図である「流れ図」の学習と並行して完全にマスターしていただきます。
階段を昇るように、一つ一つの文法事項を課題プログラムを作成することで完全マスタしてもらいます。
進度は個人差がありますが、標準的にはPythonもC,C++ も80分×14講座ほどです。
その後、以下のいずれかの進め方を選択できます。
- C/C++言語の基本文法を短期間で習得し、『JOI公式テキスト』を最初から最後まで完全マスターする
- C/C++言語の基本文法と『JOI公式テキスト』を並行して学び、最終的に完全マスターする
修了後は以下のコースに進んでいただきます。
中級アルゴリズム完全マスターコース
このコースは以下のような方に最適です。
- 独学でC/C++を半分ほど進めたが行き詰まり、先に進めない
- C/C++は習得しているが、『JOI公式テキスト』や『競技プログラミングの鉄則』のアルゴリズムや例題の一部が理解できない
- 例題やJOI過去問を自力で作ろうとしても途中で手が止まり、先に進めない
こうした「壁」を突破するための強力なサポートを行います。
指導方法は、次の上級Aクラスと同じ方式ですが、『JOI公式テキスト』に掲載されている二分探索や幅優先探索、動的計画法などの全アルゴリズムを最初から最後まで全て完全に自家薬篭中のものにしていただきます。
月4回の受講で、半年から1年半でマスタしてもらえます!
アルゴリズム理解はどうすればいい?自力で理解できないときは?
二分探索法や動的計画法などの例題プログラムを説明すると、多くの生徒さんは「理解できました!」と答えます。
しかし実際には理解できていないことがほとんどです。
「理解できたと言わないと先生に悪い」
「なんとなく雰囲気で分かった気がする」
こうした状態では、数学や物理と同じく、類題をノーヒントで作れるレベルには到達しません。
『競技プログラミングの鉄則』の例題が理解できない!過去問で手が止まる理由
原因は主に2つあります。
1. **アルゴリズムを自力で完全理解できていない**
AIで理解は進むようになりましたが、それでも残る部分があります。
2. **例題が、実はそのアルゴリズムを使わなくても解けることに気づいていない**
動的計画法や2進数演算を使わずに解ける場合も多く、そこに気づくと得点力が一気に上がります。
上級Aクラス入賞必勝コース
「たくさん問題を解けば強くなる」──そう思っていませんか?
実は、競技プログラミングや数学オリンピックの熟達研究では、
**量よりも「どう解くか」というプロセスの質が上達速度を決める**
ことが繰り返し示されています。
当スクールの指導は、この研究知見を6つの柱として実践しています。
柱1 正解・不正解よりも、毎回の専門家による適切なフィードバックが超重要
独学で過去問を解き続けても、「なぜ詰まったのか」が曖昧なまま次へ進んでしまいます。
フロリダ州立大学のK・アンダース・エリクソンらは、トップレベルの熟達者の練習には
即時に返ってくる具体的な約5種類のフィードバック
が必ず伴うことを示しました。
これは大リーガーやトップアスリートのトレーニングと同じですね。
優秀なコーチがいないと強くなれません。
これを「意図的訓練(Deliberate Practice)」と呼びます。
当スクールでは、1講座を80分に区切り、漫然と長時間解かせることはしません。
演習後にはコーチが以下の5つの視点で具体的にフィードバックします。
①問題の制約を読み、正しい計算量に気づけていたか
②「速そう」という感覚ではなく、正確な見積もりができていたか
③エラーの原因を仮説立てして修正できていたか
④詰まったとき、適切に見切りをつけて次へ進めていたか
⑤模試と本番でパフォーマンスに差が出ていないか
最重要なのは計算量の正確な見積もりです。
これを身につけるには、毎回の適切な声掛けフィードバックが不可欠です。
根拠論文 | Ericsson, Krampe & Tesch-Römer (1993)
柱2 声に出しながら解くことで、自分を客観視するメタ思考を養う
本選でAクラスを目指し、直前対策講座を受講した日本トップ進学校の生徒さんが、本選1問目でつまずきました。
ご本人は「C++の仕様でつまずき、制限時間内に解答できなかった」と言いました。
しかし本選レベルの生徒が「C++の仕様でつまずいた」と言う場合、多くは文法理解の問題ではありません。
自分が今どんな課題に直面しているかを、頭の中で追えていないことが原因です。
バークレー校のショーンフェルドは、専門家は
「読む→分析→計画→実行→確認」
を短いサイクルで繰り返し、常に自分の思考を客観視していることを示しました。
初心者は最初に思いついた解法に固執してしまいます。
ショーンフェルドは、
指導者に自分の解法を声に出しながら見せる
という訓練法を提案しています。
本選で試されるのは『戦略力』です
最初の5分で
- どの問題から作るか
- 各問題を満点で狙うか
- 小問題で部分点を稼ぐか
- 計画通りに進まない場合の戦術変更
これらを冷静に判断する力が問われます。
Aクラス入賞やメダル獲得は、プログラム作成能力よりも戦略力とメンタリティーが決めます。
根拠論文 |Schoenfeld (1992)
柱3 将棋のように、問題を見て瞬時に適用すべきアルゴリズムを見抜く力
チェイスとサイモンの研究では、達人は「よく出るパターン(チャンク)」を大量に記憶しており、局面を見た瞬間に引き当てられることが示されました。
競プロで言えば
「累積和」「尺取り法」「DP」「二分探索」「セグメント木」
などがチャンクです。
当スクールでは、典型アルゴリズムを
「知っている」→「すぐ書ける」
まで段階的に積み上げます。
根拠論文 | Chase & Simon (1973)
柱4 単元別学習だけでは不十分。忘れた頃に混ぜて出題し、長期記憶へ刻む
同じ分野を1週間解き続けると「できる気」になりますが、本番では手が止まることがあります。
これは「どのパターンを使うか判断する力」が育っていないためです。
当スクールでは、単元別学習で基礎を固めた後、過去問演習では意図的に分野を混ぜて出題します。
また、苦手分野は2〜3週間後に再テストし、定着を確認します。
根拠論文 |Kang (2016)
柱5 40分もがく経験は重要だが、時間効率のために適切なヒントを与える
カプールの研究では、先に自力で取り組んだグループのほうが深い理解と応用力が高いことが示されました。
ただし「苦しんだだけ」で終わると逆効果で、必ず解説とセットで行う必要があります。
また、学校の他科目もあるため、毎回40分の自力作業は現実的ではありません。
そこで当スクールでは、思考結果を口頭で伝えてもらい、適切なヒントを与えながら短時間で完成できるよう指導しています。
ここが指導者の腕の見せ所です。
根拠論文 | Kapur (2016)
柱6 C++の便利なライブラリ(STL)を熟知し、適切に使いこなす
C++には整列・探索など便利なライブラリ関数があります。
これを使いこなすことで、コード量を大幅に減らせます。
ただし、配列を値渡しすると計算量が過大になりタイムアウトするなど、禁じ手もあります。
どの場面で使うべきか、使ってはいけないかを熟知する必要があります。
逆にC言語ではこれらが使えないため、コード量が膨大になります。
そのためSTLは必ず使えるようにしておく必要があります。
◆これらの指導は、最初から順番に行うのではありません。
受講生一人ひとりの状況に合わせてオーダーメイドカリキュラムを作成し、その時必要な方法で指導していきます。
まずは無料相談で、お子さまの現在の段階がどのコースに該当するかお気軽にご相談ください。

◆無料相談会・無料体験授業のお申し込みはこちらです。
教室でも受講していただけますが、ZOOMにより全国どこでもオンラインで受講していただけます。
是非、無料相談会を受講していただいて、私のカウンセリングを受けてみて下さい!
情報オリンピックを目指す中学生・高校生の皆さん!
高校生にBASIC言語・COBOL言語プログラミング指導をして30年、C,C++言語プログラミングの指導に20年以上の実績があり信頼性の高い札プロの無料体験授業を是非受講してみて下さい。
札プロなら驚くほどスムーズPython言語やC,C++言語プログラミングの腕が上がって行きますよ!




