岡山県立大学情報工学部情報通信工学科3年次生を対象に、2012年度まで実施していた講義 「プログラミング言語III」の実施記録です。

講義の構想と経緯

2008年度まで、この講義の前身である「計算機言語II」では、Javaを題材にしてオブジェクト 指向プログラミングなどの考え方を教えるということをやっていました。しかし、2008年頃には RubyやPythonといったオブジェクト指向スクリプト言語が広く使われるようになり、実用的な 言語としてのJavaにこだわる理由はなくなってきていました。

それに、Javaは講義だけだと非常に教えにくいという印象を持っていました。プログラミング言語 の最初に必ずと言っていいほど出てくる Hello, World にしても、かなりプログラムを書かねば ならず、それらを全部説明するにはかなりの回数の講義を行ってからでなければなりません。なんか、 言語体系がハイパーテキスト的というか、一通り基礎をやったら初めて今まで何をやってたかわかる、 というような感じの言語なのです。演習で手を動かしながらならともかく、座学の講義としては、 ここまで学生の興味を持続するのは容易ではありません。

で、もう少し教えやすく、かついまどきの言語としてRubyを選び、構成したのがこの講義です。今なら Pythonを使うかもしれませんが、まあ、この時なら、Railsがあったこともあり、Rubyでした。

講義の構成としては、情報通信工学科らしく、最後の方にWEBrickを用いた簡単なWebアプリケーション の話を持ってきて、ここから逆算して各回の内容を決めました。ですので、Rubyだけではなく、 インターネットやWebの話が盛り込まれています。

2013年度にカリキュラムの改訂があって、その際、いろんな事情で、この講義の内容を発展させた実験を 始めることになりました。それに伴い、この講義枠では、さらにWebを突き詰める「Webアプリケーション」 という講義を始めることになりました。

平成22年度シラバスより

概要

オブジェクト指向プログラミング、Web アプリケーションプログラミングなど、インターネットを基盤とした現在の情報システムの実装に不可欠なプログラミング技術について解説する。学習の容易さという点を考慮し、プログラミング言語として Ruby を用い、簡単な Web アプリケーションの例を示しながら講義を進める。

到達目標

以下の 3 点を目標とする。(1) オブジェクト指向プログラミングの考え方を理解し、Ruby 言語による小規模プログラムが書ける (2) Web の基本的な仕組みを理解する (3) Web アプリケーションの実装方法の基礎を理解する

講義メモ

だいたい以下の順で講義を進めました。

  1. 講義概要
  2. 式、制御構造
  3. 基本的な入出力、メソッド
  4. 配列とハッシュ
  5. 文字列と正規表現
  6. イテレータ
  7. オブジェクトとクラス
  8. Web アーキテクチャ、URI、HTTP
  9. HTML, Web アプリケーションの概要
  10. Web アプリケーションとデータベースとの連携

定期試験問題