Programming Practice (Java)
Numbering Code | U-LAS30 20009 SJ11 | Year/Term | 2022 ・ First semester | |
---|---|---|---|---|
Number of Credits | 4 | Course Type | Seminar | |
Target Year | All students | Target Student | For all majors | |
Language | Japanese | Day/Period | Tue.4・5 | |
Instructor name | TSUIKI HIDEKI (Graduate School of Human and Environmental Studies Professor) | |||
Outline and Purpose of the Course |
Java は,アプリの制作からシステムの開発まで幅広く用いられている本格的なオブジェクト指向言語です。Pythonや Ruby などの簡易にプログラムを書けることを特徴とする言語に比べて,プログラミングにはある程度の手間がかかるし,言語の習得にも時間がかかりますが,そうして作られたプログラムは高速に動作しますし,型の概念やオブジェクト指向の概念を用いることにより,大規模なプログラムでも見通しよく作成することができ,保守もしやすくなります。また,並列処理,ネットワークなどの機能も充実しており,こういった高度なプログラミング概念を学ぶこともできます。 この授業では,このような プログラミング言語の概念を理解し,Java 言語の特徴を生かしたプログラムを作成できるようになることを目指した演習を行います。また,その応用として,対戦型ゲームのサーバーの作り方を説明し,コンピュータでパズルを解いたり対戦型ゲームの思考ルーチンを作成したりするのに必要な探索的なアルゴリズムについて学びます。そして,オセロの思考ルーチンの作成を試みます。 |
|||
Course Goals |
・オブジェクト指向などのプログラミング言語の諸概念を理解し,それに基づいたプログラムを書けるようになる。 ・探索的なアルゴリズムが使えるようになる。 ・プログラミングを通して自分で問題を解決する姿勢を身につけ、その能力を高める。 |
|||
Schedule and Contents |
Java は本格的なプログラミング言語です。日常的なプログラムから商用のシステムまで幅広く応用できますが,使えるようになるまでに学ぶことは多いです。ですので,プログラミングの基礎から始めますが,基本的な演習にはあまり時間をとらずに,いずれかの言語で多少のプログラミングに触れたことのある人が,この演習でさらに進んだプログラミングを学ぶのに適した授業の進め方を予定しています。 1:オブジェクトとクラス 2:繰り返しと条件分岐 3:クラス変数とクラスメソッド 4:クラスの作成 5:配列 6:再帰呼び出しとパズルなどの探索問題の解法 7:オーバーライドとインターフェース 8:ラムダ式と関数的プログラミング 9:並列処理 10:JavaFX によるGUI制作 11:ネットワークプログラミング 12:ゲームの思考ルーチン 13:プログラム制作 14:発表会 15. フィードバッ ク 最後に,プログラミング作品の制作に取り組みます。オセロの思考ルーチンを標準的な題材として考えていますが,それ以外に,自分で興味を持った問題に取り組んでも構いません。プログラミングを通して自分で問題を解決する能力を高めることに主眼をおいています。最後に,プログラミング作品の発表を行います。発表会の一部として,オセロの思考ルーチンを作った人同士の対戦を行います。 |
|||
Evaluation Methods and Policy | プログラミング作品とその発表会、および、授業への参加度を通じて、プログラミング概念の理解度、プログラミングの能力、アイデアの面白さ、授業への取り組み方などをみます。割合については授業中に指示します。 | |||
Course Requirements | プログラミングの基礎から始めますが,基本的な演習にはあまり時間をとらずに,いずれかの言語で多少のプログラミングに触れたことのある人が,この演習でさらに進んだプログラミングを学ぶのに適した授業の進め方を予定しています。ですので,プログラミングの経験のない人は,他のプログラミング演習科目や,プログラミングを内容に含む情報基礎演習を先に受講したり,あらかじめプログラミングの自習をしておくことを推奨します。 | |||
Study outside of Class (preparation and review) | 理解の遅れている人は、教科書をじっくり読んで復習をし、自分の持っているパソコンやメディアセンターのパソコンで、演習課題やその他のプログラミングを行ってください。 | |||
Textbooks | Textbooks/References | すべての人のための JAVA プログラミング第3版, 立木秀樹・有賀妙子, (共立出版), ISBN:978-4-320-12423-3 | ||
Related URL | https://www.i.h.kyoto-u.ac.jp/users/tsuiki |