[[プログラミング入門(2018年度前期)]]

#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]]
- [[課題提出システム:https://www.fos.kuis.kyoto-u.ac.jp/~miyazaki/ip17/]]

* お知らせ [#b2087773]

- (2017.08.18) [[期末試験総評]]をしました。
- (2017.08.02) [[第4回演習総評]]をしました。
- (2017.07.13) [[第3回演習総評]]をしました。再提出期限は 7/20(木) 8:30 です。
- (2017.07.11) 今週の講義資料は [[Week13]] にアップロード済です。また、最後の演習課題も [[Week14]] にアップロード済です。最後の演習課題の締切は 7/22(土) です。注意してください。
- (2017.07.05) 今週の講義資料は [[Week12]] にアップロード済です。
- (2017.06.27) 今週の講義資料を [[Week11]] にアップロードしました。
- (2017.08.18) [[2017/期末試験総評]]をしました。
- (2017.08.02) [[2017/第4回演習総評]]をしました。
- (2017.07.13) [[2017/第3回演習総評]]をしました。再提出期限は 7/20(木) 8:30 です。
- (2017.07.11) 今週の講義資料は [[2017/Week13]] にアップロード済です。また、最後の演習課題も [[2017/Week14]] にアップロード済です。最後の演習課題の締切は 7/22(土) です。注意してください。
- (2017.07.05) 今週の講義資料は [[2017/Week12]] にアップロード済です。
- (2017.06.27) 今週の講義資料を [[2017/Week11]] にアップロードしました。
- (2017.06.16) 第2回演習の再提出の締切は 6/22(木) 8:30 です。
- (2017.06.15) [[第2回演習総評]]をしました。
- (2017.06.13) 今週の講義資料を [[Week09]] にアップロードしました。公式には来週出題する演習課題も [[Week10]] に置いてあります。
- (2017.06.06) 今週の講義資料を [[Week08]] にアップロードしました。
- (2017.05.30) 今週の講義資料を [[Week07]] にアップロードしました。
- (2017.06.15) [[2017/第2回演習総評]]をしました。
- (2017.06.13) 今週の講義資料を [[2017/Week09]] にアップロードしました。公式には来週出題する演習課題も [[2017/Week10]] に置いてあります。
- (2017.06.06) 今週の講義資料を [[2017/Week08]] にアップロードしました。
- (2017.05.30) 今週の講義資料を [[2017/Week07]] にアップロードしました。
- (2017.05.29) 課題2-3のベースになる GrowMan.java を更新しました。少しコードを足したので参考にしてください。
- (2017.05.25) [[第1回演習総評]]をしました。今後のレポート作りの参考にしてください。なお、第1回演習の再提出の締切は 6/1(木) 8:30 です。
- (2017.05.11) 来週の講義資料等を [[Week05]] にアップロードしました。
- (2017.05.11) 今週の講義資料は既に [[Week04]] にアップロードしてました。
- (2017.04.24) 今週の講義資料などを [[Week03]] にアップロードしました。
- (2017.05.25) [[2017/第1回演習総評]]をしました。今後のレポート作りの参考にしてください。なお、第1回演習の再提出の締切は 6/1(木) 8:30 です。
- (2017.05.11) 来週の講義資料等を [[2017/Week05]] にアップロードしました。
- (2017.05.11) 今週の講義資料は既に [[2017/Week04]] にアップロードしてました。
- (2017.04.24) 今週の講義資料などを [[2017/Week03]] にアップロードしました。
- (2017.04.21) Mac版BlueJで日本語が入力できない不具合があるようです(コピペはできる)。日本語を入力した場合(特に README.TXT)は、他のアプリで編集してください。プログラムの方は、(コメントも含め)頑張って英語で書くことを強くお勧めします。
- (2017.04.21) 来週は、8号館講義室に戻ります。下のスケジュール予定表にあるように、3回講義+1回演習で進む予定です。
- (2017.04.14) 来週は、総合研究9号館演習室1、2で演習です。演習に必要なソフトウェアのインストールなどの宿題がでています。欠席した人はこの先にアクセスするためのパスワードを出席した人から聞いて情報を仕入れてください。
- (2017.03.17) 2017年度ページ立ち上げ。

* シラバス情報 [#c0e9e399]

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

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

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

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

** 到達目標 [#r1120428]

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

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

通常は総合研究8号館講義室2です。演習の週は総合研究9号館演習室1,2です。以下、括弧がついているのは予定で変更の可能性があります。

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

* 受講上の注意 [#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