#norelated

#contents

* 工学部専門科目「プログラミング入門」 [#qb249ac2]

- 曜時限: 木曜日1限(8:45〜10:15)
- 場所: 総合研究8号館 2F 講義室2(演習は総合研究9号館 1F 演習室1・2・N1)
- 担当: 五十嵐 淳(igarashi), 馬谷 誠二(umatani)
- オフィスアワー: 月曜 17:00〜18:30 @ 総合研究7号館224(五十嵐)
- 担当TA: 大澤賢悟、佐々木拓哉、高瀬亮、津田優也、(演習のみ: 福田陽介、矢杉和義) 
- Twitter ハッシュタグ: [[#KUプログラミング入門:https://twitter.com/search?f=tweets&vertical=default&q=%23KU%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E5%85%A5%E9%96%80]]

* お知らせ [#b2087773]

- (2018.07.11) [[Week13]]に講義資料や定期試験過去問などを置きました。
- (2018.07.03) [[Week12]]に講義資料などを置きました。
- (2018.07.03) [[Week10]], [[Week11]] に講義資料などを置いたことをアナウンスするのを忘れていました。
- (2018.06.13) [[Week09]]に講義資料などを置きました。
- (2018.06.06) [[Week08]]に講義資料などを置きました。
- (2018.05.27) [[Week07]]に講義資料などを置きました。
- (2018.05.24) [[Week06]]に今日説明したBlueJ便利機能についてのスライドを置きました。
- (2018.05.17) [[Week05]]に講義資料などを置いたことをアナウンスするのを忘れていました。
- (2018.05.09) [[Week04]]に講義資料などを置きました。また、課題2に問題を追加しました。そのせいでプログラムの push ができない可能性があります。その場合の対処は講義資料を見てください。
- (2018.05.09) [[Week03]]に講義資料などを置いたことをアナウンスするのを忘れていました。
- (2018.05.09) [[Week02]]に講義資料などを置いたことをアナウンスするのを忘れていました。
- (2018.07.11) [[2018/Week13]]に講義資料や定期試験過去問などを置きました。
- (2018.07.03) [[2018/Week12]]に講義資料などを置きました。
- (2018.07.03) [[2018/Week10]], [[2018/Week11]] に講義資料などを置いたことをアナウンスするのを忘れていました。
- (2018.06.13) [[2018/Week09]]に講義資料などを置きました。
- (2018.06.06) [[2018/Week08]]に講義資料などを置きました。
- (2018.05.27) [[2018/Week07]]に講義資料などを置きました。
- (2018.05.24) [[2018/Week06]]に今日説明したBlueJ便利機能についてのスライドを置きました。
- (2018.05.17) [[2018/Week05]]に講義資料などを置いたことをアナウンスするのを忘れていました。
- (2018.05.09) [[2018/Week04]]に講義資料などを置きました。また、課題2に問題を追加しました。そのせいでプログラムの push ができない可能性があります。その場合の対処は講義資料を見てください。
- (2018.05.09) [[2018/Week03]]に講義資料などを置いたことをアナウンスするのを忘れていました。
- (2018.05.09) [[2018/Week02]]に講義資料などを置いたことをアナウンスするのを忘れていました。
- (2018.04.12) 文学のシラバスに総合研究8号館講義室2以外の部屋が書かれていますが、今年度については、それらの部屋は使わない予定です。
- (2018.04.12) 今日のプリントをもらいそこねた人は、まわりの人にパスワードを聞いて[[Week01]]からダウンロードしてください。
- (2018.04.11) [[Week01]]に講義資料などを置きました。
- (2018.04.12) 今日のプリントをもらいそこねた人は、まわりの人にパスワードを聞いて[[2018/Week01]]からダウンロードしてください。
- (2018.04.11) [[2018/Week01]]に講義資料などを置きました。
- (2018.03.12) 2018年度ページ立ち上げ。

* シラバス情報 [#c0e9e399]

** 授業の概要・目的 [#o4b9f15d]

この講義では,計算機プログラミングの基本的な概念と技法について学びます.プログラミング言語 Java を使い,マウスの動きやクリックに反応して様々な動作を行うプログラムを実際に作成することで,プログラミングの本質である抽象化や,計算機科学に欠かせない再帰といった概念を習得します.

** 成績評価の方法・観点及び達成度 [#y5de011d]

期末試験とプログラミング演習についての数回のレポート

** 到達目標 [#r1120428]

- 手続きや状態,その組合せであるオブジェクトを使ったシステムの抽象化の概念と技法を習得
- イベント駆動プログラミングの概念と技法を習得
- 再帰の概念と再帰を利用したプログラミング技法の習得

* 講義スケジュールと配布資料 [#hb9c40dc]

以下、括弧がついているのは予定で変更の可能性があります。

|回数| 日付 | 講義内容(予定)   | 資料/宿題など(アクセスには講義資料1のID,パスワードを使ってください) |
|  1 | 4/12 |プログラミングとは?|[[Week01]]|
|  2 | 4/19 |演習1                |[[Week02]]|
|  3 | 4/26 |Ch. 2-3.3|[[Week03]]|
|  4 | 5/10 |Ch. 3.4-4|[[Week04]]|
|  5 | 5/17 |Ch. 5    |[[Week05]]|
|  6 | 5/24 |演習2    |[[Week06]]|
|  7 | 5/31 |Ch. 6    | [[Week07]] |
|  8 | 6/ 7 |Ch. 7 | [[Week08]] |
|  9 | 6/14 |Ch. 9 | [[Week09]] |
| 10 | 6/21 |演習3|[[Week10]] |
| 11 | 6/28 |Ch. 10,12|[[Week11]]  |
| 12 | 7/ 5 |Ch. 12-13|[[Week12]]  |
| 13 | 7/12 |Ch. 14| [[Week13]] |
| 14 | 7/19 |演習4| [[Week14]] |
|  1 | 4/12 |プログラミングとは?|[[2018/Week01]]|
|  2 | 4/19 |演習1                |[[2018/Week02]]|
|  3 | 4/26 |Ch. 2-3.3|[[2018/Week03]]|
|  4 | 5/10 |Ch. 3.4-4|[[2018/Week04]]|
|  5 | 5/17 |Ch. 5    |[[2018/Week05]]|
|  6 | 5/24 |演習2    |[[2018/Week06]]|
|  7 | 5/31 |Ch. 6    | [[2018/Week07]] |
|  8 | 6/ 7 |Ch. 7 | [[2018/Week08]] |
|  9 | 6/14 |Ch. 9 | [[2018/Week09]] |
| 10 | 6/21 |演習3|[[2018/Week10]] |
| 11 | 6/28 |Ch. 10,12|[[2018/Week11]]  |
| 12 | 7/ 5 |Ch. 12-13|[[2018/Week12]]  |
| 13 | 7/12 |Ch. 14| [[2018/Week13]] |
| 14 | 7/19 |演習4| [[2018/Week14]] |
| 15 | 7/26 |フィードバック授業(Q&A)||
| 16 | 8/ 2 |試験||

* 受講上の注意 [#x9d8d38d]

講義資料の pdf は(初回を除き)印刷しての配布はありません.前日の17:00までには資料をアップロードするようにしますので、各自、ダウンロードの上、教室にノートPC、タブレット、スマホなど pdf を閲覧できる機器(書き込みもできるとベターでしょう)を持ち込んで臨んでください.

* 参考書 [#m48491db]

- Kim B. Bruce, Andrea Pohoreckyj Danyluk, Thomas P. Murtagh 『Java: An Eventful Approach』 (Pearson Education, Inc.) ISBN:9780131424159

** おすすめの Java の本 [#lcbc578a]

ここで紹介するのは、いずれも五十嵐が目を通したことがある本ですが、巷には Java の本が沢山あふれていますので、他に定評のある名著があるのかもしれません。

以下の2冊は,どちらも大学の先生が著したもので,大学のプログラミング教育で使いやすいものになっています.偶然にも(?)タートルグラフィクスという題材を取りあげています.
- 立木 秀樹, 有賀 妙子.「すべての人のためのJavaプログラミング」第2版,共立出版,
2007.
- 千葉 滋.「やさしいJavaプログラミング」ASCII出版, 2004.

以下は Java の開発者である Gosling 自らが著した本で,開発者自らの
Java に対する考えが伺えますが,ある程度プログラミングの経験がないと
読むのは難しい気がします.

- Ken Arnold, James Gosling, David Holmes. 柴田芳樹(訳)「プログラミング言語Java」 ピアソン・エデュケーション.

* リンク集(英語に慣れよう!!) [#s9a8d997]

- [[Java:http://www.java.com/]]
-- [[Java言語仕様:https://docs.oracle.com/javase/specs/]] …「うわ〜」って思いたい人だけ見てください :-)
-- [[Java標準ライブラリ:http://docs.oracle.com/javase/7/docs/api/]] …「うひゃ〜」って思いたい人だけ見てください…と言いたいところだけど、これはたまに見る必要ありかも。
- [[Java - An Eventful Approach:http://eventfuljava.cs.williams.edu/]] … 教科書のサイト。objectdraw ライブラリもダウンロードできますが、講義用に改変したバージョンを使うので、本家の版は使わないでください。
-- [[objectdrawライブラリのドキュメント:http://www.fos.kuis.kyoto-u.ac.jp/~igarashi/class/ip/objectdrawV1.1.2-ku/]] (検索で見つかるやつは本家版なので、いくつか食い違いがあります。)
- [[BlueJ:http://bluej.org/]] … 講義で使用する IDE
-- [[BlueJ関連のドキュメント:http://www.bluej.org/doc/documentation.html]]
-- [[ObjectdrawInvoker のダウンロード:http://www.bluej.org/extensions/extensions.html]]
- タッチタイピング習得のために
-- [[オンラインタッチタイピング習得サイト:http://www.typingstudy.com/ja/]] (キーボード配列は US English を選んでください。記号の配列が日本のパソコンと違うのですが、最初の方のレッスンをやるだけなら問題ありません。)
-- [[ICTプロフィシェンシー協会:http://www.pken.com/tool/typing.html]]

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS