![見出し画像](https://assets.st-note.com/production/uploads/images/49127321/rectangle_large_type_2_2f4e68d451bc42bdcbef24c53c91328b.jpeg?width=1200)
【高校生プログラミング】情報の授業でpythonを使ったプログラミング学習の実践
はじめに
2022年度から高等学校の新学習指導要領が全面実施され,プログラミングの授業を段階的に適用する流れとなっています。
私の勤務する高校では,情報の授業で「python」というプログラミング言語で学習をはじめました。その内容をまとめたので、投稿しようと思います。
言語の選択理由
そもそも教科「情報」の目的は何なのか、そこから考えて選択しました。学習指導要領にはいろいろ書いてありますが、ざっくり言うと「情報や情報技術を活用して情報を収集したり分析して問題を発見し,解決していくために必要となる情報活用能力を育成すること」だと考えています。そのため,プログラミング教育においても,問題発見・解決の文脈で学習することが大事であり、プログラムの基本構文を覚えるだけでなく,プログラミングを使ったシミュレーションやデータ分析,機械学習,ディープラーニングなどの学習にまで繋げていく必要があると考えています。
また,初心者でもコードが分かりやすく書きやすいか,開発環境の準備が容易であるか,プログラミングの学習経験など、様々な観点から考えた結果,AIやビックデータの処理でも期待ができ、統計処理もそれなりに手軽にできる「python」で実施することにしました。
対象
高校2年生を対象に実施しました。偏差値でいうと50〜60ぐらいの生徒が集まっているクラスです。
開発ツール
① Google Colaboratory
ウェブ上でPythonのコーディングができ,GoogleClassroomからアクセスできるため,提出・採点管理がとても楽です。
② Jupyter Notebook
授業内容①(プログラミング基礎)
コンピュータサイエンスの基礎やアルゴリズムについて学習したあとに進めています。
授業の流れとしては、一緒に手を動かしながらコードを書いていき、終わったら課題を進めるという流れで毎時間おこないました。
① 変数と入出力
1時間かけて、print関数、input関数、データの型、変数について説明しました。
生徒が躓くところは、データの型変換が多かったです。文字列型と数値型を一緒にして出力しようとしたり、input関数で入力される数値は文字列型で変数に代入されるので、計算するときは型変換をしなくてはいけない、など初回にしては難しいポイントがあり、理解するのが大変だったようです。
↓ 一緒に作業する練習用
↓ アルゴリズムを考えながら自力で解く課題
② 条件分岐
①の課題を自力で解けるようになった生徒たちは、特にif文の説明をしなくても、手順書を読んで勝手に理解してしまいます。テキストを見ながら自走できる子が増えてくるので、ここから教員はサポートに回りながら支援していきました。
↓ アルゴリズムを考えながら自力で解く課題
③ 繰り返し
↓ アルゴリズムを考えながら自力で解く課題
①〜③までを計6時間程度かけて、進めていきました。早い生徒は4時間程度で課題を終わらせてしまうので、「関数」の課題にチャレンジさせています。
個人的な感想としては、サクサク進む子と悩んでしまう子で、かなり個人差がある印象でした。ハンズオン動画を作成できると、個人のペースで復習しながら進められるので、効率良く学習が進むと感じました。来年度の課題としたいと思います。
次回は、生徒たちが作成する成果物等についてまとめていきたいと思います。