10/7 Java プログラミング入門(1)
プログラミングをなぜ学ぶのか?
昔は計算機は計算をするために用いられていた. しかし, 現在の計算機は紙
であり,鉛筆である. プログラミングをしなくても使える.
- ブラックボックスとして使うのではなく原理を(少しは)理解する
- 応用ソフトを使いやすくカスタマイズ(個人的な好みや、特定の用途に特
化させる)するのに使われる(Word Processor, 表計算のマクロ, Emacsで
のEmacs Lispなど)
何を学ぶか?
計算機プログラミングI「科目の位置づけ」
- 基本的なアルゴリズムやデータの扱い方
- 「アルゴリズム」というのは、コンピュータやプログラミング言語の種類に
よらずに、計算機に行なわせる手順を抽象的に表現したもの。解かせたい問
題をどのようなデータとして表現するか、どのようなアルゴリズムでプログ
ラミングするかが、プログラミング言語上の些細なテクニックよりも重要で
ある。
- 計算量とデータ量の議論
- プログラムは動かなくては意味がないのは当然だが、動くプログラムであっ
ても優劣はある。その評価の軸の一つが効率である。同じ計算機上でより、
速くより少ないメモリ使用量で動くプログラムが優れているのは明らかだが、
プログラムを走らせる計算機環境によらない評価を行なうために、より抽象
的な評価基準に関して勉強する。
- 簡単な図形描画
- プログラムと人間との対話(interaction)をどのように行なわせると、人
間側の習熟の手間を軽減し、直感的に使わせることができるかの一つの答が、
GUI(グラフィカルユーザインタフェース)すなわち図形による入出力システム
である。基本的な図形描画を通じて、GUIプログラムの作成を経験してみる。
- オブジェクト指向システムの概略
- GUIプログラムなどを通じて、オブジェクト指向の考え方に触れ、オブジェ
クト指向の導入により、どのようなプログラミングが可能になったかを学ぶ。
- ソフトウェア作成手法の概略
- プログラムは書くだけでなく、デバッグや保守などその後の作業も必要と
する。このようなソフトウェアのライフサイクルに関してイメージを掴み、
デバッグや保守も考えに言えたプログラム作りについて考える機会を提供す
る。
この授業で重視するのは以下のこと
- 特定の言語によらないプログラミングの一般知識
- プログラミングの楽しさ
なぜ Java を使うか?
- 欠点が少なく覚えやすい
世の中でよく使われている C++ 言語は,使いやすさを目指すあまりに言語
仕様が肥大化してしまっている.安全でない特徴(ポインタ等)をC言語から受
け継いでいる.
- すぐに面白いプログラム(グラフィクス,ネットワーク)が書ける.
- 将来役に立つかもしれない
以前は,C++を覚えておくと就職に有利と言われたが,現在は企業では
Javaの書ける人材が求められている.
- 計算機科学を専門にする場合は,どちらにしろ複数の言語が必要.Java
が理解できれば C++ は独習教材が豊富にある.
上のURLは,今日(10/7)の17:00 までは
Forbidden
You don't have permission to access /~ktanaka/programming03/kadai1007.html on this server.
とうメッセージが出てアクセ
スできないはずである.17:00以降にも同様のエラーが出る時は,Shiftキーを
押しながら,再読み込み(Reload)を押してみること.
なお課題の締切りは10/28の21:00である.
課題をクリアした人のリストは、こちらにあるので、クリアしたつもりの人は自分の名前があることを確認するように。
次へ進む