[小西ホームページ]   [目次・索引]   [次の授業]

コンピュータIIL(情報科学入門)第1回

目次 索引
1.1 教員の紹介
1.2 シラバス
1.2.1 授業の目標・概要
1.2.2 授業のスケジュール
1.2.3 教材(テキスト)
1.2.4 教材(参考書など)
1.2.5 成績評価の方法と基準
1.2.6 履修者への要望
1.2.7 教室外の学習方法
1.3 履修者の抽選
1.4 授業の内容
1.4.1 情報科学とは
1.4.2 授業の動機付け
1.4.3 Javaプラットフォーム
1.5 授業の準備
1.5.1 利用するアプリケーション
1.5.2 授業用フォルダの作成
1.5.3 Javaの使い方
1.5.4 Emacsの使い方
1.6 アンケート1
Emacs  Java  Jedit  情報科学  ターミナル 

1.1 教員の紹介

名前
小西 善二郎(こにし ぜんじろう)
所属
早稲田大学ソフトウェア生産技術研究所
連絡先
konishi@twcu.ac.jp

1.2 シラバス

1.2.1 授業の目標・概要

本講義では情報科学の基本を学ぶ。 コンピュータの理論的な側面を経験することが目標となる。 理解を深めるためにコンピュータを用いた演習を行う。

1.2.2 授業のスケジュール

  1. ガイダンス
  2. データの表現(数値)
  3. データの表現(真理値)
  4. 計算機の構成(CPU)
  5. 計算機の構成(機械語)
  6. 言語の処理(形式言語)
  7. 言語の処理(インタプリタとコンパイラ)
  8. 情報の理論(データ圧縮)
  9. 情報の理論(暗号)
  10. 計算の理論(計算のモデル)
  11. 計算の理論(計算量)
  12. より高度な話題

1.2.3 教材(テキスト)

http://www.twcu.ac.jp/~konishi/index-j.html

1.2.4 教材(参考書など)

授業内容に応じて参考資料を紹介する。

1.2.5 成績評価の方法と基準

原則として毎回レポート課題を出す。 最後の授業では筆記試験を行う。 レポートの採点結果と試験の得点を総合して成績を決定する。

1.2.6 履修者への要望

レポートはすべて提出すること。

1.2.7 教室外の学習方法

レポート課題に取り組むこと。


1.3 履修者の抽選

コンピュータの台数の関係により、履修希望者が80名を越えた場合は抽選を行います。


1.4 授業の内容

1.4.1 情報科学とは

この授業のテーマは「情報科学」です。 情報科学computer science )とは、情報の構造や処理に関する学問です。 情報を処理するときにはコンピュータを利用しますので、情報科学はコンピュータに関する学問であるとも言えます。

コンピュータの勉強と言えば、電子メール、ウェブ・ブラウザ、ワープロ・ソフト、表計算ソフトなどの使い方と考えることでしょう。 これらは、コンピュータの文具としての側面です。 文具以外にも、コンピュータには、技術的な側面と理論的な側面があります。

コンピュータは、高度な文具を実現するために、複雑なハードウェアと複雑なソフトウェアを組み合わせてできている機械です。 この複雑な機械を現実のものにしているのが、コンピュータの技術です。 そして、複雑な機械をきちんと構成するためには、それなりの理論が必要です。 この理論こそが、コンピュータの理論、すなわち情報科学です。

1.4.2 授業の動機付け

コンピュータの理論を理解するには、プログラミングを学ぶのが効果的です。 しかし、この授業ではプログラミングは扱いません。 プログラミング以外の方法で、コンピュータの理論を経験します。

具体的には、次のような動機付けを行います。

1.4.3 Javaプラットフォーム

この授業では、理論を紹介するだけではなく、理解を深めるための演習も行います。 演習を行うには、実際に動くシステムが必要です。 この授業では、そのシステムとしてJavaプラットフォームを用います。

Java とは、1995年にSun Microsystemsが発表したプログラミング言語です。 現在、JavaはCやC++と並ぶ主要な言語に位置付けられています。 Javaの重要な特徴の一つに、マルチ・プラットフォームであることがあげられます。 つまり、一度Javaでプログラムを書けば、それはWindowsでもLinuxでもSolarisでもMac OS Xでも動くのです。 自宅のパソコンにJavaプラットフォームをインストールすれば、自宅でも演習ができます。

この授業では、完成されたJavaプログラムをそのままコピーして実行します。 プログラムの一部を書き換える場合もあります。 Javaプログラミングの経験は必要ありません。 もしJavaの知識があれば、より深く理解できるはずです。


1.5 授業の準備

1.5.1 利用するアプリケーション

この授業では、次のようなアプリケーションを利用します。

Jedit は、アートマン21が開発したテキスト・エディタです。 Emacs は、GNUプロジェクトが開発したテキスト・エディタです。 「 ターミナル 」は、Mac OS Xに付属しているターミナル・ソフトウェアです。

今日は、これらのアプリケーションの使い方を覚えながら、授業の準備をします。

1.5.2 授業用フォルダの作成

はじめに、「ターミナル」を起動します。 「ターミナル」を起動するには次のようにします。

  1. DockのFinderアイコンをクリックします。
  2. サイド・バーのアプリケーション・アイコンをクリックします。
  3. アイコン「TWCU」をダブル・クリックします。
  4. アイコン「term」をダブル・クリックします。
  5. アイコン「Shift_JIS.term」をダブル・クリックします。

なお、アイコン「Shift_JIS.term」をDockに登録すれば、次回からはDockのアイコンをクリックするだけで「ターミナル」が起動できます。 Dockに登録するには、FinderのアイコンをDockにドラッグ・アンド・ドロップしてください。 ただし、アイコン「Shift_JIS.term」に限り、Dockの右側(ゴミ箱付近)に登録します。

次に、授業用のディレクトリを作成します。 この作業は一度行えばよいものです。 「ターミナル」で次のようにタイプし、最後にreturnキーを押してください。 打ち間違えた場合は、deleteキーで削除できます。

b04a001@AsiaA1:~% mkdir comp2l
b04a001@AsiaA1:~%

1.5.3 Javaの使い方

続いて、Jeditを起動します。 Jeditを起動するには次のようにします。

  1. DockのFinderアイコンをクリックします。
  2. サイド・バーのアプリケーション・アイコンをクリックします。
  3. アイコン「Jedit4.0フォルダ」をダブル・クリックします。
  4. アイコン「Jedit4」をダブル・クリックします。
  5. メニュー・バーで「ファイル」→「新規」とクリックします。

アイコン「Jedit4」もDockに登録できます。 Dockの左側にドラッグ・アンド・ドロップしてください。

今日は、次のプログラムを実行します。 このプログラムは、データ7を格納し、それを出力するものです。

/*  1*/ class Ex1 {
/*  2*/     public static void main (String[] args) {
/*  3*/         int x = 7;
/*  4*/         System.out.println(x);
/*  5*/     }
/*  6*/ }

プログラムをファイルに保存するには、次のようにします。

  1. プログラムをマウスでドラッグして選択し、メニュー・バーで「編集」→「コピー」とクリックします。
  2. Jeditのウィンドウをクリックし、メニュー・バーで「編集」→「ペースト(スタイル無し)」とクリックします。
  3. メニュー・バーで「ファイル」→「別名で保存」とクリックします。
  4. 右側の三角ボタンを数回クリックし、ウィンドウを広げます。
  5. ホーム・アイコンをクリックし、アイコン「comp2l」をクリックします。
  6. 「別名で保存」欄に「 Ex1.java 」と入力します。
  7. ファイル形式を「Jeditテキストのみ」、漢字コードを「シフトJIS」、改行コードを「CR(Mac)」とし、「保存」ボタンをクリックします。

プログラムを実行するには、「ターミナル」で次のように入力します。

b04a001@AsiaA1:~% cd comp2l
b04a001@AsiaA1:~/comp2l% javac Ex1.java
b04a001@AsiaA1:~/comp2l% java Ex1
7
b04a001@AsiaA1:~/comp2l%

確かに、データ7が出力されました。

1.5.4 Emacsの使い方

最後に、Emacsを起動します。 Emacsを起動するには次のようにします。

  1. DockのFinderアイコンをクリックします。
  2. サイド・バーのアプリケーション・アイコンをクリックします。
  3. アイコン「TWCU」をダブル・クリックします。
  4. アイコン「Emacs」をダブル・クリックします。

アイコン「Emacs」もDockに登録できます。 Dockの左側にドラッグ・アンド・ドロップしてください。

今日は、先ほど実行したバイナリ・ファイルの内部をのぞき見し、データ7を6に変造します。 バイナリ・ファイルを編集するには、次のようにします。

  1. Emacsのメニュー・バーで、「File」→「Open File」とクリックします。
  2. ミニ・バッファ(最も下の行)に「Find file: ~/」と表示されますので、続けて comp2l/Ex1.class と入力します。
  3. escキーを押して離し、xキーを押しますと、ミニ・バッファに「M-x」と表示されますので、続けて hexl-mode と入力します。
  4. 下から3行目付近の「10 07 3c」を探し、「07」をクリックします。
  5. escキーを押して離し、controlキーを押しながらxキーを押しますと、ミニ・バッファに「Hex number:」と表示されますので、続けて 06 と入力しますと、「07」が「06」に変更されます。
  6. メニュー・バーで「File」→「Save(current buffer)」とクリックします。
  7. 確認のウィンドウが表示されますので、「Yes」をクリックします。

再び、「ターミナル」でプログラムを実行します。

b04a001@AsiaA1:~/comp2l% java Ex1
6
b04a001@AsiaA1:~/comp2l%

確かに、データ7が6に変造されました。


1.6 アンケート1

履修者の予備知識を確認するため、アンケートを行います。 以下の質問に答え、回答をkonishi@twcu.ac.jpあてにメールで送ってください。 メールには、学生番号、氏名、科目名、授業日(9月24日)を明記してください。

  1. 次の情報科学用語のうち、知っているものを答えてください。
  2. 授業内容に関して、何か希望がありましたら答えてください。

[小西ホームページ]   [目次・索引]   [次の授業]

2004年9月24日更新
konishi@twcu.ac.jp
Copyright (C) 2004 Zenjiro Konishi. All rights reserved.