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

コンピュータIIIB(Javaアルゴリズム)第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.5 授業の準備
1.5.1 利用するアプリケーション
1.5.2 授業用フォルダの作成
1.5.3 Jeditの使い方
1.5.4 Javaの使い方
1.6 アンケート1
1.7 参考文献
索引
Jedit   ターミナル  

1.1 教員の紹介

名前
小西 善二郎(こにし ぜんじろう)
肩書き
東京女子大学文理学部非常勤講師
連絡先
konishi@twcu.ac.jp

1.2 シラバス

1.2.1 授業の目標・概要

本講義では、Java言語を用いて基本的なアルゴリズムを学ぶ。 再帰、リスト、木などの概念を理解し、整列プログラムを作成することが目標となる。 また、オブジェクト指向プログラミングについても触れる。 Java言語の基礎知識を仮定する。

1.2.2 授業のスケジュール

  1. ガイダンス
  2. Java言語の復習
  3. 再帰(再帰の考え方)
  4. 再帰(クイックソート)
  5. リスト(リストの操作)
  6. リスト(併合整列)
  7. 木(木の操作)
  8. 木(ヒープソート)
  9. オブジェクト(オブジェクトの考え方)
  10. オブジェクト(継承(1))
  11. オブジェクト(継承(2))
  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 授業の内容

この授業は、Javaの入門程度は理解している人を対象にしています。 プログラミングは初めてという人は履修しないでください。 Javaは知らないがCは知っているという人なら履修しても大丈夫です。

授業のテーマは次の3点です。

整列とは、与えられた数の列を小さい順に並べ替えることです。 整列は、基本的なデータ処理であると同時に、工夫次第では高速処理が可能になります。 この授業では、代表的な整列アルゴリズムと、そこで使われるデータ構造について学びます。

オブジェクト指向プログラミングとは、データ構造を中心にしてプログラムを構成するというプログラミングのことです。 最近のプログラミング言語は、多くはオブジェクト指向の考え方を取り入れています。 この授業では、オブジェクト指向プログラミングの入門的な内容について説明します。


1.5 授業の準備

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

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

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

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

1.5.2 授業用フォルダの作成

この授業では、演習でいくつかのプログラムを作成します。 すでに自分でプログラムを保存している学生もいると思いますので、授業用のフォルダを作り、そこに演習で作ったファイルを置くことにします。

もし、「フォルダ」という言葉を聞いたことがなければ、これを「ディレクトリ」と読み替えてください。 この授業では、フォルダとディレクトリは同義語です。

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

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

次に、授業用のフォルダを作成します。 この作業は一度行えばよいものです。 「ターミナル」で次のように入力してください。

b04a001@AsiaA1:~% mkdir comp3b
b04a001@AsiaA1:~%

1.5.3 Jeditの使い方

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

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

今日は、次のプログラムを実行します。 このプログラムは、"Good afternoon!"と出力するものです。

/*  1*/ class GoodAfternoon {
/*  2*/     public static void main (String[] args) {
/*  3*/         System.out.println("Good afternoon!");
/*  4*/     }
/*  5*/ }

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

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

1.5.4 Javaの使い方

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

b04a001@AsiaA1:~% cd comp3b
b04a001@AsiaA1:~/comp3b% javac GoodAfternoon.java
b04a001@AsiaA1:~/comp3b% java GoodAfternoon
Good afternoon!
b04a001@AsiaA1:~/comp3b%

確かに出力されました。


1.6 アンケート1

履修者の予備知識を確認するため、アンケートを行います。 以下の質問に答え、回答をメールで提出してください。 メールの差出人は学内のアドレス(b04a001@twcu.ac.jpなど)とし、メールの宛先はkonishi@twcu.ac.jpとします。 メールの本文には、学生番号、氏名、科目名、授業日(9月30日)を明記してください。

  1. 1000番目の素数を求めるプログラムが書けるかどうか答えてください。 ここで、素数とは1と自分以外に約数を持たない数のことです。 1番目の素数は2, 2番目の素数は3, 3番目の素数は5です。 プログラミングの方針はいくつか考えられます。 例えば、自分より小さな素数で割りきれなければ、その数は素数であるという性質を利用しますと、次のようになります。 まず、配列の先頭に2を格納します。
    {2, 0, 0, 0, ...}
    次に、2の約数を左から順に探します。 この場合は自分自身ですので、2の右隣に次の数3を格納します。
    {2, 3, 0, 0, ...}
    続いて、3の約数を左から順に探します。 この場合も自分自身ですので、3の右隣に次の数4を格納します。
    {2, 3, 4, 0, ...}
    4の約数を左から順に探します。 この場合は自分でない数2で割り切れますので、4に1を足して5にします。
    {2, 3, 5, 0, ...}
    5の約数を左から順に探します。 この作業を、素数が1000個見つかるまで繰り返します。
  2. 授業内容に関して、何か希望がありましたら答えてください。

1.7 参考文献


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

2005年9月30日更新
小西 善二郎 <konishi@twcu.ac.jp>
Copyright (C) 2005 Zenjiro Konishi. All rights reserved.