ハイスクールPython

全国 300 万人の高校生向けの無料 Python プログラミング講座プラットフォーム

ハイスクールPython を始めましょう!

class HighSchoolPython:
    def __init__(self):
        self.courses = ["プログラミング", "データ分析", "AI"]
        self.target = "高校生"
        self.goal = "楽しくプログラミングを学ぶ"

    def welcome_message(self) -> str:
        return "Hello, World!"

ハイスクールPython とは

「ハイスクールPython」は、全国約300万人の高校生が対象の、無料で学べる実用的かつ体系的な Python プログラミング教材プラットフォームです。高校の新必修科目「情報Ⅰ」にも対応し、週2コマ程度の授業では習得しきれない基礎的なスキルを、分かりやすく整理されたカリキュラムや動画を通じて補完します。

また、高校生に「情報Ⅰ」を教える学校の教員や学外で教えている教育関係者にも活用していただけるように、コンテンツの利用や改変を許可いたします。これにより、「ハイスクールPython」をベースにした教材で、より多くの高校生が「情報Ⅰ」、Python を学んで理解できる環境を提供いたします。

今後の展開

以下の予定で、コンテンツを公開していきます。

年月内容
2024.12プロジェクトの発表、Web サイト公開
2025.01YouTube チャンネルも含めたベータ版公開
2025.03コラム動画なども含めた本公開

特徴

ハイスクールPython は、既存のプログラミング教材と比較して、以下の特徴があります。

  • 高校生向けに作られた無料の Python 学習教材(「情報Ⅰ」にも対応)で、全国の教育関係者にコンテンツの利用や改変を許可
  • 上場企業が運営するプログラミングの e ラーニング講座の講師を務め、高校生への豊富な指導歴もある講師が、高校生が学びやすいようなカリキュラムや講座を制作し、教職員向けのシラバスも作成
  • Web サイト上のテキスト、YouTube 上に公開された動画、Google Colab 上の Python の実行環境を活用し、PC 上だけでなく、タブレットでもプログラミングの基礎からデータ分析まで体系立てて学習可能

学習到達

ハイスクールPython の学習到達目標は以下の通りです。

  • Python を用いて、変数、条件分岐、繰り返し処理、リスト・辞書などの基本的な概念を扱い、問題に応じたプログラムや解決方法を考える力を身に付ける。
  • 統計的な基礎概念(平均値、中央値、標準偏差、相関係数等)を理解し、matplotlib 等によるデータの可視化を実践することで、身近なデータからその傾向や相関を分析する力を身に付ける。
  • これらの学習経験により、高等学校「情報Ⅰ」で重視される論理的思考力やプログラミング的思考力を培い、将来的な機械学習、AI、Web 開発などの専門的な分野へステップアップするための土台を形成する。

カリキュラム

『ハイスクールPython』のカリキュラムは以下の通りです。

1. プログラミングを始めよう!

  • 1.1 プログラミングって何?身近な例で考える
  • 1.2 高校生が学ぶ言語として Python を選ぶ理由
  • 1.3 ブラウザで簡単に実行&共有!Google Colab の使い方
  • 1.4 print 関数で文字や数字を表示してみる
  • 1.5 四則演算とそれ以外のいろいろな計算
  • 1.6 コメントを書いてコードを読みやすくする
  • 1.7 プログラムを実行する流れを理解しよう
演習課題:
  • 自分の名前や好きなものを表示する自己紹介プログラム
  • 表示メッセージを変えたり、計算結果を表示したりして試してみる

2. 変数とデータ型の考え方を身に付けよう

  • 2.1 変数とは?数や文字を入れる「箱」のイメージ
  • 2.2 整数・小数・文字列など、データ型を区別しよう
  • 2.3 変数名の名付け方のポイント
  • 2.4 文字列を操作する(文字の連結・分割など)
  • 2.5 数字と文字の型変換をしてみよう
  • 2.6 真偽値(True/False)と比較演算子で判断する
  • 2.7 いろいろなデータ型を組み合わせる
演習課題:
  • 名前と年齢を入力し、「あなたは ◯ 歳です」と表示するプログラム
  • 2 つの数字を入力し、その合計を「◯ + ◯ = ◯」と表示するプログラム

3. 条件分岐で判定する

  • 3.1 if 文で「もし〜なら」判定する基本
  • 3.2 else で「それ以外」の処理を考える
  • 3.3 elif で条件を増やしてみよう
  • 3.4 and, or, not で条件を組み合わせる
  • 3.5 複数条件を整理してわかりやすくする
  • 3.6 条件分岐の入れ子構造を理解する
  • 3.7 簡単な条件分岐の練習問題
演習課題:
  • 入力した点数に応じて合否判定するプログラム
  • FizzBuzz 問題(3 の倍数、5 の倍数、15 の倍数で表示を変える)

4. 繰り返し処理で効率アップ

  • 4.1 for 文で決まった回数繰り返す
  • 4.2 range 関数で連続した数字を扱う
  • 4.3 while 文で条件が変わるまで繰り返す
  • 4.4 break, continue で繰り返しをコントロール
  • 4.5 リストと for 文でまとめて処理する
  • 4.6 二重ループで表や表組みを作る
  • 4.7 無限ループに注意しよう
演習課題:
  • 1 から 100 までの合計を求めるプログラム
  • 1 から 10 までの数字で掛け算表を表示するプログラム

5. リストと辞書でデータを整理

  • 5.1 リストとは?複数の値を順番に管理する方法
  • 5.2 リストへの要素追加・削除・取り出し
  • 5.3 辞書とは?「言葉(キー)」と「意味(値)」で管理
  • 5.4 辞書への要素追加・更新・削除
  • 5.5 リストと辞書を上手に使い分けよう
  • 5.6 リスト内包表記でスマートにリストを作る
  • 5.7 リストと辞書を組み合わせて複雑なデータを扱う
演習課題:
  • クラス名簿(名前・点数)を辞書で管理して平均点を求めるプログラム
  • 好きな果物リストを作り、最初と最後の要素を表示するプログラム

6. 関数でコードをまとめる・再利用する

  • 6.1 関数とは?よく使う処理をひとまとめに
  • 6.2 def で関数を定義し、return で結果を返す
  • 6.3 引数を使って関数にデータを渡そう
  • 6.4 組み込み関数(len, max, min など)を活用する
  • 6.5 モジュールを import して便利な機能を使う
  • 6.6 複数の関数でコードを整理して読みやすくする
  • 6.7 関数を使ってコードを短くする練習
演習課題:
  • 足し算, 引き算, 平均値を計算する関数を作り、モジュールとして利用するプログラム
  • 2 つの数値を入力して最大公約数を求める関数を作成するプログラム

7. エラーと向き合う

  • 7.1 エラーとは?よくあるミスとその原因
  • 7.2 try-except でエラーに負けないプログラム作り
  • 7.3 エラーメッセージを読んで問題箇所を特定する
  • 7.4 print デバッグでコードを細かくチェック
  • 7.5 コメントや整形でバグを減らす工夫
  • 7.6 あえてエラーを起こして練習する
  • 7.7 テスト用のチェックを追加する
演習課題:
  • 入力ミスがあっても止まらず再入力を促す計算プログラム
  • 存在しないファイルを開こうとしたときにエラーを回避するプログラム

8. データ処理の基礎と可視化(見える化)

  • 8.1 平均・合計・最大値・最小値を求めてみよう
  • 8.2 テスト結果からクラスの傾向を読む
  • 8.3 matplotlib で簡単なグラフを描いてみる(折れ線図)
  • 8.4 軸ラベルやタイトルを付けて分かりやすくする
  • 8.5 棒グラフや散布図にも挑戦!
  • 8.6 目で見て理解しやすい「見える化」の力
  • 8.7 部活の練習データなど身近な情報をグラフ化
演習課題:
  • クラス全員の点数をグラフ化し、平均点を表示するプログラム
  • 部活動の練習日数を棒グラフで表示し、タイトルやラベルを付けるプログラム

9. 身近なデータで学ぶ統計の基本

  • 9.1 統計とは?クラスの平均点や身長のばらつきを例に考える
  • 9.2 平均・中央値・最頻値でデータの「中心」をつかむ
  • 9.3 四分位数と箱ひげ図でデータの広がりを見てみる(成績分布など)
  • 9.4 分散・標準偏差を使ってデータのばらつきを数値化する
  • 9.5 散布図で2つのデータの関係を調べよう(勉強時間とテスト点数)
  • 9.6 相関係数で「強い関係」か「弱い関係」か判断する
  • 9.7 回帰直線で「未来」を予測してみる(勉強時間から点数を予測)
演習課題:
  • クラス全員の身長データから平均・中央値・最頻値・標準偏差を計算して特徴をまとめる
  • 勉強時間とテスト点数のデータで散布図を描き、相関係数や回帰直線を求めて関係を考える

10. Python の便利な活用方法

  • 10.1 タプルやセットでデータを扱う簡単な方法
  • 10.2 ファイルからの読み込み・書き込みでデータ保存
  • 10.3 標準ライブラリで日付や時間を扱う
  • 10.4 アルゴリズムとは?シンプルな例で考える
  • 10.5 random モジュールでランダムな数字を生成する
  • 10.6 ガチャの確率をシミュレーションをしてみよう
  • 10.7 外部サービスのデータを利用する
演習課題:
  • テキストファイルから名前を読み込み、ランダム抽選するプログラム
  • 現在時刻を取得し、「現在の時刻は ◯ 時 ◯ 分です」と表示するプログラム

11. さらに先へ:学んだことを広げるには

  • 11.1 自分の PC 上で Python の開発環境を整える
  • 11.2 情報Ⅰや大学入試の対策として復習ポイントを押さえる
  • 11.3 ネット上の教材やドキュメントを読むコツ
  • 11.4 Python で機械学習・AI に挑戦するときの出発点
  • 11.5 Web アプリやゲーム開発への展開アイデア
  • 11.6 オープンソースプロジェクトに参加してみる
  • 11.7 他のプログラミング言語に触れてみる
演習課題:
  • 興味ある分野のキーワードで検索し、何ができるかまとめる
  • 自分で考えた小さなプロジェクトアイデアを紙に書き、簡単な Python コードで試す

運営

お問い合わせ窓口

コンテンツについて

ゼノクリース合同会社 齋藤までご連絡ください。コンテンツのフィードバックもぜひお待ちしております。

その他広報全般について

合同会社グローススタート 穂苅までご連絡ください。メディアや教育関係者の皆さまからのご連絡もぜひお待ちしております。