Girls Meet STEM ワークショップ
このワークショップでは、Google Colab と Gemini API を使って、プログラミングの基礎から学んでいきます。 一緒に楽しくプログラミングを始めましょう!

本日のタイムスケジュール 🕐
| 時間 | 内容 | 詳細 |
|---|---|---|
| 13:00 - 13:10 | 主催者挨拶 | ワークショップの概要説明 |
| 13:10 - 13:30 | プログラミングを始めよう |
|
| 13:30 - 13:50 | Python の文法 |
|
| 13:50 - 14:10 | AI をプログラムから使うための準備 |
|
| 14:10 - 14:20 | 休憩 | ☕ リフレッシュタイム |
| 14:20 - 14:50 | AI の API をたたいてみよう | OCR をしてみよう |
| 14:50 - 15:20 | 総合演習 |
|
| 15:20 - 15:30 | おわりに | ハイスクール Python について |
プログラミングを始めよう
プログラミングって何?
「プログラミング」と聞くと、黒い画面に難しい文字がたくさん並んでいるものを想像するかもしれません。自分とはあまり縁がないものと思うかもしれません。でも実は、私たちの身の回りはプログラムでできたものに囲まれています。
Python って何?
Python(パイソン)は、1991年に生まれたプログラミング言語で、現在世界で最も人気のある言語の一つです。名前の由来は、イギリスのコメディ番組「モンティ・パイソン」から来ています。
例えば、このような形です。
# Pythonでの書き方
if age >= 18:
print("成人です")
else:
print("成人していません")
Python は様々な分野で活躍しています!
- データサイエンス(データ分析)
- 自動化(仕事の効率化)
- AI・機械学習
- 画像認識(顔認証、物体検出)
- 自然言語処理(翻訳、チャットボット)
- 音声認識(Siri, Alexa のようなもの)
- IoT(モノと組み合わせたインターネット)
- Web アプリケーション開発
Web サービスに使うイメージは、以下の記事が参考になります。一緒に見てみましょう!
参考:Pythonで開発されたWebサービス7選【できることや使うメリットも解説】- RUNTEQ BLOG
授業や趣味で、HTML/CSS を使ったことがあるかもしれません。これらは Web サイトの見た目を作るための言語ですが、Amazon や YouTube のようなサービスでは、そこにユーザーごとのデータを入れなければなりません。
Python などのプログラミング言語を使って、そのデータをデータベースから取ってきて表示したりしています!
なんでこんなにたくさんプログラミング言語があるのか
上のようなものは、他のプログラミング言語でも達成できるものも多いです。ただ、プログラミング言語によって得意・不得意があり、方言のようなものもあるので、それぞれの言語を使い分けることで、より効率的にプログラミングをすることができます。
参考:なぜプログラミング言語はこんなに多い?各言語の特徴を徹底解説! - Re:kaizen
Google Colab を使ってプログラミングをしよう
Python を始めるのに、難しい環境設定は必要ありません。Google Colab を使えば、ブラウザだけで始められます!
もちろん、自分の PC 上に Python の環境を作れば、さらに柔軟に Python を使うことができます。この講座では、進めやすさを重視して Google Colab を使っています。
準備するもの
- Google アカウント(お持ちの Gmail アドレス)
- インターネットに接続されたパソコンやタブレット
- ブラウザ(Google Chrome が推奨です)
始め方の手順
Google アカウントをまだお持ちでない場合は、公式のヘルプである Gmail アカウントの作成 - Gmail ヘルプ を参考に作成してください。
後半のセクションでは、皆さんも Google Colab を使ってプログラミングを体験する方が楽しいですが、前半部分は見るだけでも大丈夫です!もしアカウントの準備がまだの場合は、この前半部分を聞きながら、アカウントを作成してみてください!
Google アカウントには、「name@gmail.com」のように、末尾が「@gmail.com」のものと、「name@high-school-python.jp」のように、末尾が独自のドメインのものがあります。会社や学校などで Google アカウントを作成していると、後者のような形になります。この講座で Google Colab を使う上では、どちらのパターンでも問題ありません!
基本的な使い方
- コードセルに Python のコードを入力します。
- 実行ボタン(▶)をクリック、または「Shift + Enter」で実行します。
- Google Colab の環境で Python プログラムが実行され、結果が下に表示されます。
また、右上の「共有」ボタンをクリックすると、URL を共有する or 他の人の Google アカウントを指定して共有することができます!

こちらの "info@high-school-python.jp" は公開しても良い Google アカウントのメールアドレスですが、皆さんが何か共有する場合は、メールアドレスが周りに見えないように注意してください!(スクリーンショットを加工するなどの対策をしてください)
コードセルとテキストセル
Google Colab には 2 種類のセルがあります:
- コードセル:Python のコードを書いて実行できます。

- テキストセル:説明文や注釈を書くことができます。マークダウンと言って、見出しやリストなどを見やすく書くことができます。

今回使う Google Colab のノートブック
今回は、このノートブックを使ってプログラミングをしていきます!
https://colab.research.google.com/drive/1z44PFJSRlrAW-y_rQ0fyYtXeMIqepCPc
このように、「Girls Meet STEM ワークショップ 2025-07-12」というものが出るはずです。

これを編集できるように、コピーして自分の分を作りましょう。
「ファイル > ドライブにコピーを保存」をクリックします。

しばらく待つと、新しいタブが開くか、もしくはこのような画面になるはずです。
もしこの場合は、「新しいタブで開く」をクリックしましょう。

「のコピー」というものが後ろについた状態で、コピーが作成されます。URL の /drive/ の後ろについている ID が、元のノートブック(運営側で作ったもの)とは別の ID になっているはずです。

ここまでで、ノートブックの準備は完了です!
Python の文法
今日は 20 分くらいなので、かけ足で文法を見ていきます。このページは後半で使うプログラムのメモとしても使えるので、一回で覚える必要はありません。気楽に聞いてください!
print をしてみよう
いよいよ最初のプログラミングです!まずは print 関数を使って、画面に文字や数字を表示してみましょう。
print関数の基本
# これは最も有名なプログラム「Hello, World!」です
print("Hello, World!")
実行すると、このようになるはずです。
Hello, World!
色々な表示をしてみよう
# 日本語も表示できます
print("こんにちは!")
print("プログラミングは楽しい!")
# 数値を表示する
print(42)
print(3.14)
# 計算結果を表示する
print(10 + 5) # 15
print(100 - 30) # 70
print(6 * 7) # 42
print(20 / 4) # 5.0
変数とは?
変数は、データを一時的に保存できる「箱」のようなものです。プログラミングでは、この「箱」に名前をつけて、中身を入れたり取り出したりします。
なぜ変数が必要なのか?
例えば、消費税込みの価格を計算する場面を考えてみましょう。
# 変数を使わない場合 (同じ値を何度も書く必要がある)
print("商品A:", 1000 * 1.1, "円")
print("商品B:", 2000 * 1.1, "円")
print("商品C:", 3000 * 1.1, "円")
# 変数を使う場合 (税率を一箇所で管理できる)
tax_rate = 1.1 # 消費税率を変数に保存
print("商品A:", 1000 * tax_rate, "円")
print("商品B:", 2000 * tax_rate, "円")
print("商品C:", 3000 * tax_rate, "円")
変数の値を変更する
変数は、代入と言って、「右側の値を左側の変数に入れる」ということをして設定します。先ほどの箱のイメージです。
# 変数の値は後から変更できる
money = 1000
print("所持金:", money, "円")
# 買い物をして減らす
money = money - 300
print("買い物後:", money, "円")
# お小遣いをもらって増やす
money = money + 500
print("お小遣い後:", money, "円")
# より短い書き方
money += 200 # money = money + 200 と同じ
money -= 100 # money = money - 100 と同じ
print("最終的な所持金:", money, "円")
また、変数には色々なタイプがあります。
それぞれのボタンを押してみましょう!
↑ 上のボタンをクリックしてみましょう!
if 文で条件分岐
「もし〜なら」という判断をプログラムで行うのが if 文です。日常生活でも、私たちは常に条件によって行動を変えています。
基本的な if 文
# シンプルな条件分岐
temperature = 28
# もし気温が 25 度以上なら、暑いですと表示します。
if temperature >= 25:
print("今日は暑いです")
# この条件に当てはまらなければ、これはスルーされます。
# if-else を使った分岐
password = "secret123"
user_input = input("パスワードを入力してください:")
if user_input == password:
print("ログイン成功!")
print("ようこそ!")
else:
print("パスワードが違います")
print("もう一度お試しください")
複数の条件を扱う(elif)
条件は、2択ではなく複数書くことができます。
# テストの点数で評価を判定
score = 85
if score >= 90:
print("評価:S(素晴らしい!)")
elif score >= 80:
print("評価:A(よくできました)")
elif score >= 70:
print("評価:B(良い調子です)")
elif score >= 60:
print("評価:C(もう少し頑張りましょう)")
else:
print("評価:D(復習が必要です)")
複雑な条件(and, or, not)
数学の「かつ」「または」と同じです。条件をこのようにして組み合わせます。
# and:両方の条件を満たす場合
age = 16
has_student_id = True
if age <= 18 and has_student_id:
print("学生割引が適用されます")
print("料金:800円")
else:
print("通常料金:1200円")
# or:どちらか一方の条件を満たす場合
day = "土曜日"
is_holiday = False
if day == "土曜日" or day == "日曜日" or is_holiday:
print("今日は休日です!")
print("ゆっくり過ごしましょう")
# not:条件を反転させる
is_raining = False
if not is_raining:
print("傘は必要ありません")
print("外で遊べますね!")
for 文で繰り返し
同じ処理を効率よく繰り返すときは for 文を使います。手作業では大変な処理も、コンピュータならすぐに終わります。
基本的な for 文
# 決まった回数繰り返す
print("=== 腕立て伏せ開始! ===")
# range は、範囲という意味の英単語です!
for i in range(10):
print(f"{i + 1}回目!")
print("お疲れ様でした!")
リストと組み合わせた繰り返し
この後に見る、リスト(配列)と組み合わせて使うことが多いです。
# 生徒の名前リスト
students = ["山田", "田中", "佐藤", "鈴木", "高橋"]
# 全員に挨拶
for name in students:
print(f"こんにちは、{name}さん!")
# 番号付きで表示 (enumerate は、番号とその中身を同時に取り出す関数です)
print("\n=== 出席番号 ===")
for i, name in enumerate(students, 1):
print(f"{i}番:{name}さん")
辞書と配列を使う
データをまとめて管理するには、リスト(配列)や辞書が便利です。
リスト(配列)の使い方
# リストの作成と基本操作
fruits = ["りんご", "バナナ", "オレンジ"]
print("果物リスト:", fruits)
# 要素へのアクセス
print("最初の果物:", fruits[0]) # りんご
print("2番目の果物:", fruits[1]) # バナナ
# リストの操作
fruits.append("ぶどう") # 最後に追加
print("追加後:", fruits)
辞書の使い方
辞書は、キーと値のペアでデータを管理します。
リストでは、キーに当たるものは番号 (0, 1, 2, ...) でしたが、辞書では、キーに当たるものは文字列です。名前を付けて管理することができます。
# 生徒の情報を辞書で管理
student = {
"name": "山田花子",
"age": 16,
"grade": 1,
"class": "A",
"club": "テニス部",
"scores": {
"math": 85,
"english": 92,
"science": 88
}
}
# 値の取得
print("名前:", student["name"])
print("学年:", student["grade"], "年", student["class"], "組")
# ネストした辞書の値を取得
print("\n=== テストの点数 ===")
print("数学:", student["scores"]["math"], "点")
print("英語:", student["scores"]["english"], "点")
# 値の更新と追加
student["age"] = 17 # 既存の値を更新
student["height"] = 165.5 # 新しいキーと値を追加
print("\n更新後の年齢:", student["age"])
print("身長:", student["height"], "cm")
リストと辞書の組み合わせ
このように、これらは組み合わせることもできます。
# クラスの生徒リスト (辞書のリスト)
class_students = [
{"name": "山田", "math": 85, "english": 78},
{"name": "田中", "math": 92, "english": 88},
{"name": "佐藤", "math": 78, "english": 95},
{"name": "鈴木", "math": 90, "english": 82}
]
# クラス情報
class_info = {
"class_name": "1年A組",
"teacher": "山田先生",
"students": ["池澤", "穂苅", "齋藤"]
}
関数で再利用する
よく使う処理をまとめて名前を付けたものが「関数」です。同じコードを何度も書く代わりに、関数を作って呼び出すだけで済みます。
引数(パラメータ)を受け取る関数
# 名前を受け取って挨拶する関数
def greet(name):
print(f"こんにちは、{name}さん!")
print(f"{name}さん、今日も頑張りましょう!")
# 異なる名前で呼び出す
greet("池澤")
greet("穂苅")
greet("齋藤")
値を返す関数(return)
# 計算結果を返す関数
def calculate_area(width, height):
area = width * height
return area
# 関数の結果を変数に保存
room_area = calculate_area(4, 5)
print(f"部屋の面積:{room_area}平方メートル")
まだまだ色々な文法がありますが、ひとまずここまでです!
AI をプログラムから使うための準備
API って何?
API(Application Programming Interface)は、プログラム同士がやり取りするための「窓口」のようなものです。Web サイトやアプリでデータを扱う時には、このようにサーバーとやり取りすることが多いです。
例えば、こちらの天気予報 API を見てみましょう。
このような URL にアクセスすると、天気予報のデータを取得できます。
https://weather.tsukumijima.net/api/forecast/city/400040
こんな感じの「データそのもの」が表示されます。

通常、サーバーにリクエストを送ったら(つまり、URL を入力して送信したら)、HTML ファイルが返ってきます。それをブラウザ(Safari, Chrome など)が読み込んで Web サイトが表示されるわけですが、API の場合は、このようなデータそのものを返してくれます。
このように、API を使うと、サーバーからデータを取得して、それを使ってプログラムを作ることができます。
OpenAI の API を使う
今日は、ChatGPT の開発元である OpenAI の API を使って、AI とやり取りしてみましょう。
先ほどの天気予報 API のように誰でも使えるわけではなく、「API キー」という認証情報が必要です。
これは、サービスを使うための「会員証」のようなものです。このキーがあるおかげで、使用料金などがきちんとその人に請求されます!
ちなみに、OpenAI の API キーは、このような感じで取得します。


今回のワークショップでは、運営側で準備した API キーを使用します。なので、皆さんに請求されることはありません!
(API キーを発行した、ハイスクールPython の運営に請求が行きます。連打しないでくださいね 😂 🥺 )
※ この Web サイトに載せず、この Google Meet のチャットに載せます!
また、もし皆さんが自分で API キーを取得したい場合は、キーは流出しないように注意しましょう。万が一流出した場合は、すぐに消しましょう。先ほどのキーも、このワークショップが終わったらすぐに消します。
チャットと API での違いを見てみる
ChatGPT のようなチャット(Web ブラウザ版)
皆さんの中にも、使ったことがある方は多いと思います。これは、Web ブラウザ版の ChatGPT です。チャット形式で AI とやりとりします。

メリット:
- 簡単に始められる
- プログラミング知識が不要
デメリット:
- 自動化できない
- 他のプログラムと連携しにくい
API を使ったプログラム
では、プログラムから API を使って、AI とやり取りしてみましょう。
from openai import OpenAI
import json
OPENAI_API_KEY = "sk-proj-xxx"
client = OpenAI(api_key=OPENAI_API_KEY)
response = client.chat.completions.create(
model="gpt-4o-mini",
messages=[
{"role": "user", "content": "おはよう!週末にお出かけするのにおすすめなスポットをいくつか教えて。"}
],
max_tokens=1000 # 回答の最大文字数のようなもの
)
# 整形して表示
print(json.dumps(response.model_dump(), indent=2, ensure_ascii=False))
このように返ってくるはずです!

これで、後半の準備も完了です、お疲れ様でした!
休憩の後、池澤さん・穂苅さんにバトンタッチして、AI を使ったプログラミングをやっていきましょう! ✊ 🔥
補足:OpenAI の API キーを取得する方法
ワークショップの中で、OpenAI の API キーを取得する方法についての質問をいただいたので、こちらに掲載します!
API で生成 AI を使う場合、まず OpenAI の API キーを取得する必要があります。
アカウントの作成
https://openai.com/index/openai-api/ こちらにアクセスして、サインアップまたはログインをします。


このようなページに遷移します。私のこの画面の場合は存在しませんが、左上に緑色のボタンがあるので、それをクリックします。

Organization の作成画面に遷移します。名前は後から変更できるので、どのようにしても良いです。

チームのメンバーを招待できますが、これも後からできますし、そもそも今回は自分だけで使うので、下の "I'll invite my team later" をクリックします。

API キーの作成画面に遷移します。ここでキーの名前を決めて作成します。

このように、API キーが作成されます。一度しか表示されないので、安全な場所に保存します。また、私のこのキーは既に削除しているので問題ありませんが、皆さんの場合は流出しないように注意してください。
(他で使用されて課金が発生してしまう可能性もあり、危険です!)
また、もしこの値を忘れてしまった場合は、このキーを削除して、新しく作成しましょう。

クレジットを入れるページです。本格的に使う際にはクレジットカードなどを追加して $5 などを入れておくと良いですが、今は下の "I'll buy credits later" をクリックします。

このように、API キーを作成することができました!

API キーとは、外部サービスにアクセスするための認証情報です。パスワードのような役割を果たし、あなたのアプリケーションやプログラムが OpenAI のサービスを利用する権限があることを証明します。API キーは秘密情報なので、普段使っている色々なパスワードと同じように、流出しないように注意が必要です。