2008年度まで岡山県立大学情報工学部情報通信工学科で実施していた講義「計算機言語II」の実施記録です。

講義の構想と経緯

岡山県立大学に着任当初から担当しているプログラミング言語関連の講義の一つでした。着任前から Javaについて講義するということは決まっていたので、あまり自由度は高くありませんでした。

本当に苦労した講義です。それまで講義の類は全く経験がなく(前職がNAISTで、学生実験という ものがなかったのです)、経験不足な上に、Javaという講義では教えにくいプログラミング言語が 対象ということもあって、最初の頃は本当、講義の出来は最悪でしたし、実際学生アンケートでも 結構キツイことを書かれました。10年間工夫しましたが、最後まで、あまりうまくできたような気が しません。まあ、これがあったから、講義の内容や進め方を工夫する技を覚えたのかもしれませんが。

Javaは、つくづく、教育ではやりにくい言語だと思います。Hello, Worldプログラムを書くだけでも publicstaticなど、かなりオブジェクト指向の深い理解が必要な概念が出てきます。 基本的な言語概念を一通りやって初めて全貌が見えてくるのに、そこまでの道のりが長い。 他の言語でオブジェクト指向に触れていれば、とっつきは早いと思うのですが。実務上はいい言語なのかも しれませんが、教育の場ではあまりやりたくない言語です。

そんなこともあって、2009年度からカリキュラムが変わったのを機に、Rubyを教えることにしたのでした。

平成20年度シラバスより

概要

現在最も広く用いられているオブジェクト指向プログラミング言語の一つであるJava言語について、基本的な 概念を中心に解説する。文法や入出力などについては、手続き型言語、とりわけC言語との対比を行いながら 説明する。また、現在のソフトウェア開発ではプログラミング言語以外にもXMLやデザインパターンなどについて 知っていることが望ましいので、これらについても簡単に解説する。

授業の到達目標

以下の2点を目標とする。(1)オブジェクト指向プログラミング言語の基礎概念を理解する。(2)Java言語で 簡単なプログラムを記述できる。(1)については、最低限Java言語と対応付けて説明できること、および ほかのプログラミング言語への応用もできる程度に言語仕様と概念との区別がついていることが目安となる。 (2)は1クラスからなるJavaプログラムが書けることが目安となる。

講義メモ

最終年度である平成20年度は、だいたい以下のように講義を進めました。

  1. Java言語の概要
  2. 式、変数
  3. 配列
  4. クラス
  5. 型とクラス
  6. 継承
  7. 情報を隠す(パッケージ、アクセス制限)
  8. ファイル操作、例外
  9. コレクション
  10. XMLの概要
  11. JavaによるXML操作: DOM

定期試験問題