Algorithms and Data Structures

授業概要  ソートとコレクションを中心にアルゴリズムとデータ構造に関する基本を学習する。
Java言語によるプログラミング技術の基本事項を習得する。
特にアルゴリズムとデータ構造の理解を中心に、講義および演習を行う。
授業の到達目標 ・オブジェクト指向言語の概念を理解するとともに、Javaを用いて課題を解決するスキルを身につける。
・アプリケーションの開発に必要な概念を理解するとともに、Java言語を用いて実用的なWebアプリケーションの開発が行えるようになる。
事前・事後学習の内容 予習としてMyWasedaに掲載するレジュメの事前読了を求めることがあります。各回の予習には90分~120分かかると想定されます。
授業計画
1: 本講義の目的と進め方について説明する。最終的に作成するアプリケーションの実例を説明する。
2: 基本概念を理解する。Javaのインストールからコマンドライン実行の方法を学ぶ。
3: 基本的なアルゴリズムを学ぶ。
4: 基本的なデータ構造を学ぶ。
5: 探索アルゴリズムを学ぶ。
6: スタックとキューを学ぶ。
7: 再帰的アルゴリズムを学ぶ。
8: ソートを理解する。
9: 集合を学ぶ。
10: 文字列探索を学ぶ
11: 線形リストを学ぶ
12: 木構造を学ぶ
13: Webアプリケーション作成に必要な概念を理解する
14: RESTアーキテクチャとJSON オブジェクトを学ぶ
15: Webアプリケーション作成(コーディング・テスト、デバッグ、仕上げ)
教科書 「明解 Javaによるアルゴリズムとデータ構造」 柴田 望洋 (著)ソフトバンククリエイティブ (2007/11/7)
参考文献 「明解Java 入門編」 柴田 望洋 (著)ソフトバンククリエイティブ(2007/8/8)
「Javaによるはじめてのアルゴリズム入門」(河西朝雄著、技術評論社、2001年)
成績評価方法
割合 評価基準
レポート: 80% 与えられた課題に対する、プログラム、プログラムの説明、考察をレポートに書いてください。レポートの内容で評価することになります。
平常点評価: 20% 授業および課題に対する取り組みを総合して評価します。

Reference(jp)

  • 「明解 Javaによるアルゴリズムとデータ構造」  柴田 望洋 (著)ソフトバンククリエイティブ (2007/11/7)
  • 「明解Java 入門編」  柴田 望洋 (著)ソフトバンククリエイティブ(2007/8/8)
  • 「Javaによるはじめてのアルゴリズム入門」(河西朝雄著、技術評論社、2001年)
  • 「標準Javaプログラミングブック」(河西朝雄著、技術評論社、2001年)
  • とほほのJava入門 (http://www.tohoho-web.com/java/index.htm )

Reference

【参考文献(英語)】

論文はNotable Paperに選ばれた

ACM Computing Reviews’ Notable Paper in Computing in 2012
(2012年世界の優れたコンピュータの著作や論文のひとつとしてACMが発表。平成25年受賞。)

Journal of Computer and System Sciences (Elsevier, Vol. 78, No. 6, pp.1775–1792, Nov. 2012))にて発表している論文”Socialized Ubiquitous Personal Study: Toward an Individualized Information Portal” (H. Chen, X. Zhou and Q. Jin)はComputing Reviews (a collaboration between ThinkLoud and ACM)によりNotable Paperに選ばれた.