研究

アルゴリズム要素の利用制御が可能なビジュアルプログラミング環境 「AlgoTool」

~プログラミング言語を使わずにアルゴリズムを学ぶ

信州大学工学部 香山瑞穂先生

信州大学大学院理工学研究科 小林慶先生

信州大学工学部 國宗永佳先生

信州大学工学部 新村正明先生


大学の一般教養教育で使っているプログラミング教材を高校でも

香山瑞穂先生
香山瑞穂先生


 共通教科の「情報の科学」、あるいは専門教科の「アルゴリズムとプログラム」をはじめとするシステムの設計・管理分野の科目群では、問題解決の手段と結果の評価、および情報を表現するための技法として、アルゴリズムやプログラミングに関する基礎的概念の習得は欠かせないでしょう。しかし、学校の現場設備の制約などから、商用ツールに付属する簡易プログラミング環境を利用したり、オープンソースで提供される高機能な開発環境を利用したりすることが多いのが現状です。


「AlgoTool」は、高校レベルでのアルゴリズムやプログラミングの基礎的な理解を効果的に促進し、教員の授業準備・管理を効率的に支援できるWeb教材です。これまでに4ヵ年にわたり、毎年100名規模での大学一般教養教育および約10校の高大連携事業等で利用されています。

 


プログラミング言語にとらわれないプログラミング教材「AlgoTool」

 

「AlgoTool」は、初めてプログラミングを学ぶ学生に、プログラミング言語の文法にとらわれずに、アルゴリズム的思考についての学習を行うための教材です。


「情報の科学」の学習指導要領には、アルゴリズム・プログラミング教育に関する指導上の留意点として、「プログラミング言語の記法の習得などが主目的にならないように」という記述があります。同時に「ソフトウェアや処理手順の自動実行の原理を科学的に理解し、これらを必要に応じて活用できる能力の育成と活用方法の習得に重点を置くこと」が必要であると示されています。「AlgoTool」では、この「処理手順の自動実行の原理を科学的に理解」することに重点を置いています。

 

プログラミング言語を覚えることが不要で、言語を本格的に学ばなくてもプログラミングができることや、視覚的に構造が理解できること、変数やカンマ間違いでエラーになることが無いのが、この教材の利点です。


さらに、学生から見たときにアルゴリズムの理解がしやすくなる工夫や、学生の管理や評価をしやすくするなど、運営する教員が使いやすくなる工夫をしました。またインストール不要のWebベースにしているのも特徴です。

 

高校の授業での活用も考慮。教材の記録や成績管理も可能


現在、プログラミング教材として、様々なブロックプログラミングがいろいろなところで使われております。学生が1個1個のブロックを組み立てていくだけですと、単なるブロックプログラミングになりますが、「AlgoTool」は学習項目を整理して、プロが使うものを、ぐっと小さな世界のところでモデル化しています。学習ステップを考えて、授業で使う要素を教員自身がコントロールしていくことができます。


現実的な授業展開数も考慮に入れました。高校での50分授業では、3~4回で当該単元の学習を終える必要があるため、極力単純化しました。また、LMS(Leaning Management System)的機能があるので、教材の記録や成績評価も統合して管理できます。

 

プログラミングは、学生がやりたいことをいきなり実行可能な形にすることは困難です。こういった教材で処理概念を教えていくことで、学生に親しみを持ってもらえればと思います。

 

※本記事は、日本情報科教育学会第6回全国大会(2013年6月29日・30日、東海大学 高輪キャンパスにて)でお話しされた内容です。