Ex-Gramエクスグラム 中学生・高校生向けプログラミング教室・基礎コースの全体像
中学生・高校生向けプログラミング教室のカリキュラムや期間
中学生・高校生向けプログラミング教室の基礎コースは中学生・高校生が学ぶべきことを厳選したオリジナルのカリキュラム を使用した毎月2回、1回2時間(途中休憩10分間を含む)のコースです。2024年4月に10年間の中学生・高校生向けプログラミング教室の実績をベースに、そして中学生・高校生の新学習指導要領を考慮して、カリキュラムを全面改訂しました。
新・初級A、新・初級B、新・中級A、新・中級B、新・上級A、新・上級B、新・上級C、新・上級Dコースの8つのコース があります。各コースとも3か月間 です。1つのコースを終了したら次のコースへステップアップするトータル2年間 のプログラミングコースです。
中学生・高校生向けプログラミング教室でどんなことを学ぶのか
これからの中学生・高校生が身に付けておくべきIT関連の必須事項を体系的に効率よく学んでいきます。
新・初級コースでは中学生・高校生がプログラミングを始めるのに必要な最低限のITの基礎知識 とプログラミングの考え方 を学びます。さらに簡単な画像処理 を行います。Webページ についての基礎知識も身に付けることができます。
新・中級コースではプログラムを使っていろいろなシミュレーションを行います。自然界のパターン をコンピューターで描いたり、物体の運動シミュレーション を行います。
新・上級コースではPythonでプログラミング実装しながら、データサイエンスとAI(人工知能) を学ぶのに必要な初歩的な知識を身に付けていきます。高校の情報I、情報IIで習うような内容も、できるだけ何故そうなるのかがわかるようにプログラミング体験していきます。
中学生・高校生向けプログラミング教室・基礎コースの対象者
中学生・高校生向けプログラミング教室・基礎コースの対象範囲
対象は中学1年生(4月からの新1年生を含む)から高校3年生 です。大学生になっても受講可能です。
プログラミング初心者の中学生・高校生
ほとんどプログラミング初心者 である中学生や中学生時代にプログラミングがよくわからなかったという高校生でも抵抗なく学べるように新・初級Aコースではプログラミングの考え方から始めていきます。
プログラミング経験者の中学生・高校生
独学やあるいは他のプログラミング教室に通っていてプログラミングをある程度経験したことのある中学生・高校生の経験者 の場合は、学習レベルに合わせて新・中級コースや新・上級コースから始めることもできます。
中学生・高校生向けプログラミング教室・基礎コースの内容概要
中学生・高校生向けプログラミング新・初級コースの概要
中学生・高校生向けプログラミング新・初級コース ではJavaベースのProcessing言語を用います。Processing言語は大学の情報系の学部で教育用としてもよく使われています。中学生・高校生にとっても、とても使いやすい言語です。まずは楽しむことから始めましょう。
■中学生・高校生向けプログラミング新・初級AコースではITの基礎、コンピューターサイエンスやプログラミングの基礎を学びます。
コンピューターサイエンスは、コンピュータの仕組みやデータ処理、アルゴリズム、プログラミングなど、情報技術(IT)に関連する幅広い分野を研究する学問です。
■中学生・高校生向けプログラミング新・初級Bコースでは画像処理やWebページについて学びます。
画像処理とは、2次元または3次元の画像データを加工、合成したり、特性を読み取ったりする技術全般のことを指します。これらの処理は一般的にコンピュータを用いて行われ、デジタル画像を対象に目的に応じたアルゴリズムが必要となります。画像処理技術は、製造業や物流業で広く使われ、自動化が必須の現代の産業に欠かせないものとなっています。また、応用される分野はさらに広がり、医療や農業など幅広い分野でも活用され始めています。
Webページとは、インターネット上で公開されている一枚の文書のことで、HTMLやCSSなどの言語で作成されます。Webブラウザを通じて閲覧可能で、文字、画像、動画、音声、リンクなど様々な要素を含むことができます。これらのページが集まったものをWebサイトと呼びます。
中学生・高校生向けプログラミング新・中級コースの概要
中学生・高校生向けプログラミング新・中級コース では科学を題材にしたプログラミングを行います。プログラムを使えば、こんなことも出来るのかと視野を広げることができます。
■中学生・高校生向けプログラミング新・中級Aコースでは自然現象のシミュレーションや3Dグラフィックスについて学びます。
コンピューターシミュレーションとは、現象をコンピュータで模擬試験することです。物理学や経済学など、人の手では計算困難な複雑な事象をコンピュータを用いて模擬的に計算します。これにより、理論や実験では得られない成果を生み出すことが可能となります。
■中学生・高校生向けプログラミング新・中級Bコースでは力と運動のシミュレーションをオブジェクト指向プログラミングで行います。
オブジェクト指向プログラミングは、プログラムの要素を「オブジェクト」として扱う考え方です。オブジェクトは「属性(データ)」と「メソッド(振る舞い)」を持ち、これらを「クラス」に分類します。このアプローチにより、コードの再利用性、管理性、拡張性が向上し、開発効率が高まります。
中学生・高校生向けプログラミング新・上級コースの概要
中学生・高校生向けプログラミング新・上級コース ではPython言語を用います。PythonはデータサイエンスやAIの分野ではよく使われている人気の言語です。このPythonを使ってデータサイエンスとAIの初歩的内容を学んで行きます。中学校の情報の内容や高校の「情報I」および「情報II」の内容も考慮した内容です。2025年度大学共通テストから国立大では「情報」を課すことや、個別試験で「情報」を課す大学が増えるため大学受験にも役立ちます。確率・統計の知識は実生活でも役立つものです。
■中学生・高校生向けプログラミング新・上級AコースではPythonの基礎、関数のグラフ、暗号について学びます。
暗号とは、特定の情報を特定の人だけが読めるように、一定の手順に基づいて無意味な文字や符号の列に変換したものです。情報の伝送や記録、保存の際、第三者に盗み見られたり改竄されないようにするために作成されます。現代のコンピュータでは、暗号化と復号には鍵が用いられます。
共通鍵暗号方式では暗号化と復号化に使用する鍵が共通で、データをやり取りする相手とだけ、鍵を共有する方式です。
公開鍵暗号方式では暗号化と復号化で異なる鍵を使う方式で、暗号用の鍵だけを一般に公開します。安全性が高い反面、処理速度が遅いという特性があります。代表的な暗号アルゴリズムには「RSA」「楕円曲線暗号」などがあります。
■中学生・高校生向けプログラミング新・上級Bコースでは確率と統計、統計的推定・仮説検定、ベイズ統計について学びます。
ベイズ統計とは、事前確率を設定し、新たな情報が得られる度にその確率(事後確率)を更新する統計学の一分野です。主観確率を扱い、データが不十分でも確率の更新が可能です。機械学習と相性が良く、マーケット調査やトレンド分析などにも応用されます。
■中学生・高校生向けプログラミング新・上級Cコースではデータの処理と可視化、AI、主成分分析について学びます。
主成分分析(PCA)は、多数の相関する変数から、全体のばらつきを最もよく表す少数の「主成分」を合成する次元削減の手法です。これにより、複雑なデータの変数を減らし、解析をしやすくします。また、各主成分の寄与率を計算することで、元データの何%の情報を表現しているかを知ることができます。
■中学生・高校生向けプログラミング新・上級Dコースでは自然言語処理、ネットワークの基礎、Web APIの利用・作成について学びます。
Web APIとは、HTTPなどのWeb技術を用いて、あるコンピュータのソフトウェアの機能を、ネットワークを通じて他のコンピュータから利用できるようにする仕組みです。これにより、データのやり取りや機能の共有が可能となり、システム間の連携を容易にします。また、開発の手間や時間を抑え、新しいサービスの追加や業務効率化に寄与します。
中学生・高校生向けプログラミング教室・基礎コースの詳細
中学生・高校生向けプログラミング新・初級Aコース(3か月)
コンピューターサイエンスやプログラミングの基礎を学びます。
■Javaベースの言語Processingを用います。
■ITの基礎、変数や演算子、関数、構造化プログラミングなどのプログラミングの基礎を学びます。if文やforループを使った構造化プログラミングはプログラミングの技法の一つでありプログラミングの基本です。
図 2重ループで縦横に正方形を描きます。
図 デジタルクロックを作成します。
関連ブログ PC初心者向けのタッチタイピング
PC初心者向けにタッチタイピングの動画を作成しました。
ビジュアル言語でのプログラミングを卒業すると、タイピングしてコードを書いていくようになります。 タイピングにはタッチタイピングがおすすめです。 ■キーボードを見ないでタイピングすることをタッチタイピングと言います。 ■最初は訓練が必要だが、...
関連ブログ 4つの目
4つの目で考える。鳥の目、虫の目、魚の目、そして蝙蝠の目。
プログラミングの教室で「創造性を身に付ける」という言葉をよく聞きますが、そんなに簡単に創造性が身に付くわけではありません。ただ、ものごとを考えるときに知っておくと便利なツールのようなものはいくつかあります。「4つの目で考える」のもその一つで...
関連ブログ 2進数と進数変換
2進数と進数変換
2進数とは 中学生、高校生がプログラミングを始めるにあたって、知っておくべき情報の基礎知識はいろいろありますが、ここでは、2進数と進数変換について説明します。 コンピューターの内部では電圧が高い状態と低い状態を2進数の1と0に対応させて情報...
関連ブログ 多重ループ
多重ループがよくわかりません。生徒からの質問
forループはわかったが、これを入れ子にした多重ループになるとよくわからないという声をよく聞きます。そこで、3重ループを例にして動作がわかるようにステップ実行した動画を作成してみました。 まずはプログラミングの基本の説明から。 プログラムで...
関連ブログ デジタルクロック
Processingでシンプルなデジタルクロック
生徒から受ける質問で意外と多いのが時間に関するもの。プログラムの中で時間を使って何かをしたいという要望です。例えば時間に応じて、会話ボットの答えを変えたいのだとか。 ということで、ここではシンプルなデジタル時計を作ってみましょう。 Proc...
中学生・高校生向けプログラミング新・初級Bコース(3か月)
■Javaベースの言語Processingを用います。
■画像処理の初歩を学びます。画像をプログラムで表示したり、写真を油絵風に加工したりします。
■Webページの基礎を学びます。HTML、CSS、JavaScriptといったWebページを構成するのに必要な事柄を一通り学びます。
図 基本的な図形を描きます。
関連ブログ プログラムで油絵風に写真を加工
プログラムで油絵風に写真を加工してみよう
プログラムを使えば画像を様々に編集できます。今回は写真を油絵風に加工してみましょう。 画像内の点をランダムに選びます。この点の色で小さな三角形をそこに描きます。これを何回も繰り返していけば、油絵風になります。 ただし、空のようにほぼ青一色の...
中学生・高校生向けプログラミング新・中級Aコース(3か月)
自然現象をシミュレーションします。
■Javaベースの言語Processingを用います。
■円や螺旋を使って、ひまわりなど⾃然に⾒られるパターンを描きます。
■フラクタル図形について学習し、再帰関数を使って⽊の枝の形を描きます。さらにノイズを使って⾵に揺れている状態を表現することもできます。
図 木の枝のパターン
■マルチメディア処理では3Dグラフィックスの基礎を学びます。3D空間内でのカメラ、照明の設定を自分で行います。
図 3Dグラフィックス
関連ブログ 星に水晶
星(球体)に水晶のような結晶を生やした3Dグラフィックスを作りたい。生徒からの質問
プログラムを使ってアート作品を作成しているときに、生徒から表題の要望を頂きました。 水晶は大きくしたり、小さくしたりしたいとのことです。 こういうのを作ってみたいという動機は大事ですね。 早速作ってみましたが、プログラムの中身については生徒...
関連ブログ 発光体
発光体を作りたいのですが?生徒からの質問
Processingで3Dグラフィックスを使って太陽系を描いているときに、太陽を発光させたいとの要望が出て来ました。もう10回近く3Dグラフィックスの授業をやっているのですが、意外と初めての質問でした。 Processingではemissi...
中学生・高校生向けプログラミング新・中級Bコース(3か月)
オブジェクト指向プログラミングによる高度なシミュレーションを行います。
■Processingを用い、オブジェクト指向プログラミングを学びます。やれることの幅が大きく広がります。
■重力による粒子の物理的な動きをシミュレーションします。応用として火や煙を表現します。
図 オブジェクト指向プログラミングによるボールの描画
図 煙のシミュレーション
関連ブログ 机のカドにボールをぶつけたら
机のカドにボールをぶつけたらどう跳ね返るのか?生徒からの質問
プログラムで作るゲームの定番にブロック崩しがあります。ブロックにボールが当たるとブロックが消滅し、すべてのブロックを消去したらゴールです。 ブロックへの当たり判定がプログラミングの際の1つのポイントです。 もう1つのポイントはブロックにボー...
関連ブログ 粒子系で花火を作る
夏休みには花火を作ろう!
花火を作ると言っても本物の花火を作る話ではありません。 プログラミングにより打ち上げ花火のような映像を作成しようということです。 Ex-Gramプログラミング教室の中級コースでは粒子系を扱います。 たくさんの細かい粒子の挙動をシミュレーショ...
関連ブログ 花火大会2019バージョン
プログラムで作る花火大会2019バージョン
数年前にプログラムで作った花火をバージョンアップしてみました。 打ち上げ花火は火薬を球状に成形した「星」と呼ばれるものを詰めた球体を打ち上げるのだそうです。 この星を粒子系ととらえて、たくさんの星オブジェクトを生成し、様々な向きに初速度を与...
中学生・高校生向けプログラミング新・上級Aコース(3か月)
■データサイエンスやAIの分野で用いられるPythonを⽤います。
■構造化プログラミング、関数、クラス、ライブラリーの使い⽅などを学びます。
■関数のグラフとして投げた物体の軌跡などを取り扱います。
■数と暗号では素数、因数分解、RSA暗号などを学びます。
図 関数のグラフ
図 RSA暗号
関連ブログ 変数名に日本語は使えるか?
プログラムの変数名に日本語は使えるか? Scratchでは? Python3では?
プログラミングでは変数というデータを入れる箱のようなものを作り、そこにデータを入れて使用します。 この変数名として日本語を使うことはできるでしょうか? 結論として、変数名には普通はアルファベットと数字を使いますが、日本語を使える言語も存在し...
関連ブログ range関数はなぜエンドポイントを含まないのか?
range関数はなぜエンドポイントを含まないのか?生徒からの質問
「データサイエンスとAIの初歩」コースも台風の影響で一週間遅れでスタートしました。 Pythonの基礎的な文法から始め、組み込み関数であるrange関数の説明をしたところで早速、質問が出ました。 例えば x = print(x) としてリス...
中学生・高校生向けプログラミング新・上級Bコース(3か月)
■確率と統計乱数、基本的統計量、ランダムウォーク、モンテカルロ法、ベンフォード
の法則などを学びます。
■統計的推定・仮説検定を学びます。高校の情報IIでも出て来る内容です。難しい内容もやさしく解き明かしていきます。
■ベイズ統計ベイズの定理やモンティーホール問題、迷惑メールフィルターの原理などを学びます。
図 ベンフォードの法則
図 迷惑メールフィルター
関連ブログ 正規分布とシックスシグマ
正規分布とシックスシグマ
「データサイエンスとAIの初歩」コースの話題から 正規分布ではプラスマイナス3シグマ内にデータ全体の99.7%が含まれることが知られています。シグマは標準偏差のことです。 このレベルで製品を管理すると1000個に3個の割合で欠陥品が出るとい...
関連ブログ ベンフォードの法則
先頭の数字は1が多い?
新聞の折り込みチラシで塾や予備校の宣伝をよく見かけます。 合格者数一覧を掲載して、競い合っているようです。 例えばEゼミナールだと、こんな感じです。 さて、各学校の合格者数の先頭の数字だけを集めてみます。 例えば、A中学校への合格者数が35...
ベンフォードの法則は何故成り立つか?
数字のたくさん載った資料を持ってきて、先頭の数字に着目します。 例えば先頭の数が1である割合は、1/9のように思われますが、実際には30%近いことが多いです。 逆に先頭の数が9である割合は数%程度です。 一般に先頭の数字がnとなる確率は $...
中学生・高校生向けプログラミング新・上級Cコース(3か月)
■沈没したタイタニック号の乗船者データの可視化を⾏います。
■シンプルパーセプトロンによる機械学習などを学びます。人工知能の基本である回帰、分類、クラスタリングを一から実装します。その後、ライブラリを使った方法も紹介します。
■主成分分析を学びます。様々なデータについて実際に主成分分析を⾏ってみます。
図 機械学習による分類
図 主成分分析
関連ブログ 線形代数
中高生のためのプログラムで理解する線形代数の講座を始めました
中高生向けの線形代数の講座をスタート 2021年11月から「データサイエンスとAIの初歩」講座ではCコースを増設しました。プログラムを使って視覚的に線形代数を理解し、その応用として、主成分分析、自然言語処理を行う講座です。 なぜ中高生に線形...
中学生・高校生向けプログラミング新・上級Dコース(3か月)
■形態素解析など⾃然⾔語処理の初歩を学びます。ChatGPTなどの生成AIを利用することが増えてきましたが、現代の自然言語処理では単語をベクトル化するのが基本です。このことについて学んで行きます。
■ネットワークの基礎知識として、進数変換、ビット演算、バイト型データなどを学びます。
■データベースの操作や簡単なWeb APIの作成を⾏います。
図 形態素解析
関連ブログ ビット演算
ビット演算って何?生徒からの質問
最近は生徒さんからの質問も増えてきて、先日は電池の酸化還元反応について問われました。まあ、プログラミングとは直接関係ありませんが。 今回はビット演算の話です。 コンピュータの内部では2進数が使われています。 すなわち0と1の2種類の数字を使...
関連ブログ 半加算器と全加算器
2進数の足し算回路 ~半加算器と全加算器~
2進数の加算回路を全員が学ぶ時代 高校の情報Iの教科書を見ると、どの教科書にも2進数の加算回路について説明しています。情報Iは必修科目で1年次に学ぶので、これからは全員が学ぶことになります。共通テストに出題されることもあるでしょう。 実際に...
中学生・高校生向けプログラミング教室・基礎コースの授業日程
第25期生は2024年8月スタートです。
第25期生は土曜クラスです。
土曜クラス 原則第2、4土曜日 17:00~19:00
第26期生は2024年11月スタートです。
曜日・時間は未定です。
中学生・高校生向けプログラミング教室の場所
原則オンラインのみです。
ご自宅などLAN接続のできる場所での双方向オンライン授業となります。
中学生・高校生向けプログラミング教室・基礎コースの授業料など
中学生・高校生向けプログラミング教室・基礎コースの定員
12名
中学生・高校生向けプログラミング教室・無料体験のお申し込み
■対象
中学1年生(4月からの新1年生を含む)~高校3年生
プログラミング初心者から経験者まで
■体験日時
次回の体験教室は決まり次第お知らせします。
2024年
各回とも同一内容です。
■場所
オンラインでの開催となります。
ご自宅などLAN接続のできる場所
■必要なもの
PC
WindowsかMacに限ります。
ChromebookやiPadには対応しておりません。
■中学生・高校生向けプログラミング体験教室の内容
今回の中学生・高校生向けプログラミング体験教室では科学的思考の重要性について実例を交えてやさしく解説します。また物理現象や生命現象の実際のシミュレーション例をいくつかご覧いただきます。テーマは「単純な法則が複雑な世界を創る」です。実際にJavaベースのProcessingという言語を使ってプログラムで図形を描く基本を学びます。オリジナルのアート作品にすることもできます。
図 プログラムで描く四角形
プログラミングにより驚きと感動のシミュレーションの世界を体験することができます。
図 ひまわりの種のパターン
■中学生・高校生向けプログラミング体験教室の料金
参加費 無料
■中学生・高校生向けプログラミング体験教室の定員
オンラインプログラミング体験教室に定員は設けておりません。