機械工学の情報教育

機械工学系学科のソフトウエア教育について


田辺 誠(神奈川工科大学機械システム工学科教授)



1.はじめに

 近年コンピュータは、様々な機械系製品の開発にあたって、それらの製品の頭脳として、また製品を効果的に開発するための手段として、広範囲に用いられている。これらのコンピュータ応用技術は、これからの優れた製品を生み出す上での基盤技術としてますます重要になるものと考えられる。コンピュータの応用では、そのプログラムの開発が必要なことから、機械工学系の学科では、今後これらのニーズに対応して様々な応用プログラムを開発できる技術者の養成がますます重要になるものと考えられる。筆者の神奈川工科大学機械システム工学科では、このソフトウエアの開発能力を有する技術者の養成を念頭に置き、ソフトウエア教育カリキュラムを実践してきたが、その概要と経験について紹介することにする。


2.ソフトウエア教育カリキュラム

 表1は、本学科でソフトウエアの開発能力を有する機械系技術者の養成を念頭に置いて組まれたカリキュラムを示している。まず入学時のオリエンテーション期間中に、計算センタで全学生を対象にした情報リテラシー教育が行なわれる。ここでは2日間(各90分)で、コンピュータの使用法、メール、WWW、ワープロ、情報倫理等、コンピュータを使用する上での最小限の知識が講義され、実習が行われる。1年の電算機プログラミング1(前期)、2(後期)では、FORTRAN言語を用いてコンピュータプログラミングの講義と実習が行われる。2年生の応用プログラム設計は電算機プログラミングの上級コースで、各種の応用プログラムの開発に必要な、メモリ、ファイル等の使用や管理の手法、さらにそのプログラムの設計についての基礎知識が講義され、プログラミングの実習がなされる。2年生の数値解析ではシミュレーションのための基礎的な数値技術が、またコンピュータグラフィクスでは作図の基礎理論が講義され、プログラミング実習が行われる。C言語プログラミングでは、C言語によるプログラミングの講義と実習が行われる。


3.有限要素法プログラミング実践教育

 3年後期の有限要素法は、ソフトウエア教育の締めくくりとなる科目で、プロジェクト方式で有限要素プログラミングの実践を行っている。ここではまず最初に、有限要素法について、2次元トラス構造を例として、その概説と基礎理論を講義した後、この考え方に基づいて、受講生がそれぞれ、2次元トラス構造解析プログラムを自分で設計し作成する。さらに自分で開発したプログラムを用いて例題を解析し、検証し、最後に、プログラム設計書、完成プログラム、例題の解析結果、評価、感想等からなる報告書を提出する。ここでは、短期間に開発が効果的に行えるよう、プログラムの設計やアルゴリズムについては例を示し、学生がこれを参考にできるようにしている。またプログラミングでは、連立一次方程式求解サブルーチンはメールを通して支給しているが、要素マトリックスの作成、全体マトリックスの組立等の、重要なところでは、考え方と例を示して、学生はこれらを参考にして、自分のプログラムを作成する。解析例題は2題からなり、1題はすでに習った材料力学を用いて手計算で容易に理論解が出せる問題で、その解を理論的に求めた後、これを用いて自分のプログラムの検証を行うようにしている。もう1題は、学生自身による自由な問題で、身近な構造物を自分で設定し、実践的な解析を行うようにしている。その報告書は一人ずつ面接して受け取り、完成プログラムや解析結果に関する質問を行い、各自の理解度と充実度を確認している。面接を行うのは、報告書は他人のコピーの場合があるので、これは質問によってすぐ見分けることができること、また努力して完成した学生に対しては称賛を与えさらに励ますことができるからである。このプロジェクト方式の科目は、学生にとっては一種のドラマで、理論を基に、自ら設計し、作成し、さらに自分で開発したプログラムを使って実際の問題を解析することができたときの喜びは大きい。学生の感想の中に、このプロジェクトを通して喜びと、自信を持ったことが述べられているときは、教える側にとっても喜びである。最後まで完成する学生は、例年ほぼ6割程度である。3年生でこのような、自ら開発する経験を持つことにより、4年生での卒業研究に対する準備にもなるものと考えられる。
 コンピュータ実習を伴う他の科目と同様に、この科目では、きめ細かな指導ができるよう大学院生のTA( Teaching Assistant ) を使用している。
 有限要素法は、ブラックボックスとして使うには問題があり、その特徴と制限を知って活用することが重要であることから、有限要素法の基本アルゴリズムを自ら体験することは、将来それを利用する場合にも有効であるものと考えられる。


4.ソフトウエア教育とネットワークの活用

 ソフトウエア教育では、コンピュータ実習が重要になるが、実習に必要な、基本プログラムや基本ルーチンは、ネットワークを用いて学生に支給することができる。また授業は通常、1週間に1度しかないことから、プログラミング中に生じる質問等は、メールにより受け、回答することができる。特に私学では一般に、1クラスの受講者数が多いことから、TA制度の活用は、これらの実習授業の実効を高める上で重要である。


5.おわりに

 機械産業分野では、様々な製品開発を行う上でコンピュータの応用はますます重要になるものと考えられることから、その応用プログラムの開発能力を有する技術者を養成することを念頭に置いた、筆者の学科におけるソフトウエア教育カリキュラムについて紹介を行った。学生がこれらの教育プログラムを通して、コンピュータは様々な製品を開発する上で役立つこと、また何よりも、コンピュータはおもしろいということを実際に体験できるようにすることが重要に思う。
 今後は、マルチメディアやネットワークを活用して、企業での実際の製品開発の状況や、その技術者の声を紹介したり、教員、学生、さらに実際の技術者間での、コミュニケーションをはかることは、学生のモチベーションとこれらの教育プログラムの実効を高める上で有効であろう。
表1 ソフトウエア教育カリキュラム
科目 必選 学年
情報リタラシー 入学時
電算機プログラミング1,2 1年前後
応用プログラム設計 2年前
コンピュータグラフィクス 2年前
数値解析 2年後
C言語プログラミング 3年前
有限要素法 3年後


【目次へ戻る】 【バックナンバー 一覧へ戻る】