コンテンツ利用プログラミング

コンテンツ利用プログラミング（コンテンツりようプログラミング）は、画像、動画、音声やこれらを融合したコンテンツを、プログラミング言語により制御する手法である。

（学校法人東京農業大学）東京情報大学教授の松下孝太郎によって考案および提唱されたプログラミング手法およびプログラミング教育方法である。共同研究者の横浜国立大学教授の山本光とともに、著書などで実例を紹介している松下孝太郎，山本光：親子でかんたんスクラッチプログラミングの図鑑，技術評論社，pp140-143, 2018.1松下孝太郎，山本光：スクラッチプログラミング事例大全集，技術評論社，pp218-225，2020.9。また、小学校から大学院までの教育において実践が行われている松下孝太郎，山本光：“大学生を対象としたコンテンツ利用プログラミングの実践”，教育システム情報学会第48回全国大会講演論文集，pp.147-148，2023.8。

コンテンツに関しては画像、動画を用いる場合が多いが、生成系AIが生成した画像などもコンテンツとして利用されている。

 意義 
情報通信技術の進展に伴い、IT系技術者の養成が期待されている。特に高度情報通信技術者の育成が期待されおり、IT技術者には高度なプログラミング技術も求められている。

我が国におけるプログラミング教育は2020年度から小学校において必須化されているが、学習者である児童のプログラミングに対する興味を喚起することが重要と考えられる。

そこで、児童にとっても身近なデバイスであるスマートフォンを利用し、それにより取得された写真や動画を、プログラミングに取り入れることは独自の作品制作に繋がり、プログラミングに対する興味を喚起することが期待できる。

 手順 


まず、コンテンツとなる素材の取得を行う。具体的にはスマートフォンなどを使い画像や動画を収集する。また、生成系AIにより画像や動画を取得することもある。

次に、各プログラム言語の開発環境に取得した素材を読み込む。この際、使用するプログラム言語が取得した素材のファイル形式をサポートしていない場合は、必要に応じてファイル形式に変換して読み込む。

次にプログラミングを行う。ここでは、プログラム自体の実装に加え、素材の加工、素材の結合、素材の表示関連の処理を実装する。

最後に、各プログラム言語におけるインタラクションの設定を行う。具体的にはクリックした場合などのアクションを設定する。

 利用されるプログラミング言語 
 Scratch 
ビジュアルプログラミング言語のScratch（スクラッチ）はコーディングが不要であり、小学生やプログラミングの経験の少ない人でも容易に扱うことができる。コンテンツは背景、スプライト、コスチュームおよび音として利用することができる。

 Python 
Pythonはデータ処理やAIでも多く用いられており、ライブラリも豊富であることから、コーディングが必要な言語の中では扱いやすい。コンテンツはそのままの形式で利用し、ライブラリを利用したユーザーインタフェースにより制御することができる。

 コンテンツ利用プログラミングで利用される素材 
 画像の利用 
スマートフォンやデジタルカメラによって収集される。スマートフォンやデジタルカメラは保存形式がjpg形式であることが多いので、Scratch、Pythonともにそのままのファイル形式で扱うことができる。

 動画の利用 
スマートフォンやデジタルカメラによって収集される。Scratchは動画をそのまま扱うことができないが、アニメーションGIF形式にした動画はそのまま開発環境に読み込むことにより、動画が複数枚のコスチュームに展開され、それらを連続的に表示することにより扱うことが可能である。
また、Pythonであればtkinterなどのインターフェースを利用することにより動画を制御することが可能である。

 音声の利用 
音声は動画に付帯している場合が多いが、音声合成などのソフトウェアや、別途音源を用意して合成して使用する場合がある。Scrachはmp3形式とwav形式の音を読み込むことができる。

 生成系AIの利用 
画像系生成AIによるものが利用されている。生成系AIにより生成された画像は、それぞれの開発環境で使用できるファイル形式に変換して利用することが必要である。

 コンテンツ利用のプログラミングの実践 
 小学校～高等学校 
小学校においては各教科で利用可能である。社会科における地域案内などは取り組みやすい内容である。
中学校、高等学校においても各科目での利用が可能である。

 大学 
大学初学年の基礎教育において、プログラミングの経験が少ない学生に対して有効と考えられる。
卒業研究などにおいても、利用範囲は広く、教育用教材の作成や、教職課程履修者が将来教職に就く場合にも有効である。
また、成系AIによるコンテンツを利用し教材作成や研究関連に使用することも考えられる。生成系AIを目的を持って利用することとなり、生成系AIへの理解や利用技術を高めることにも繋がる。

 出典 

 外部リンク 
 Japanese Scratch-wiki
 スクラッチプログラミングの本

Category:プログラミング