プログラミング応用a&b
(総合情報学科2年次配当)

2017年度授業内容
スケジュール表へジャンプ!
 
■このWeb教材を閲覧するWebブラウザは FireFox でお願いします。
  他のブラウザではFlashアニメーションが表示されない場合があります(Google Chromeでの不具合を確認しています)。

----------------------------

重要なお知らせ(前期用)
■毎回,次の回の授業の内容を,このページの下にあるスケジュール表の「資料」リンクをたどって予習すること。
■全員,大学推奨ノートPC(及び電源アダプタ・LANケーブル)を持参すること。


■第8回(11/20)は中間試験です。 (2017/11/20) Updated !
 第8回(11/20)は中間試験です。試験範囲は前期の内容+後期第1〜7回まで学習した内容になります。
 (本科目は前期の「プログラミング応用a」からの積み上げ式ですので,前期の「プログラミング応用a」の
 内容も含まれることになります)。試験時間は60分です。指定教科書『ITText Javaオブジェクト指向プログラ
 ミング』と手書きのノートのみ持ち込み可能です。手書きのノートは,機械コピー&印刷によるものをまったく
 含まないノートのみ手書きのノートと見なして持ち込みを許可します。類似問題はこちらです。類似問題は
 あくまで「これくらいの問題が出る」という参考のために公開しているもので,まったく同じ問題が本番で出る
 わけではありませんし,類似問題には含まれていない事項でも,試験範囲に含まれる内容であれば,本番で
 出題される可能性があります。類似問題の配点も目安に過ぎません。内容は「持ち込み可」である分,難易
 度は高めです。今までの復習としては,第8回の授業資料も参考にして下さい。
教員の指示が無い限り1回で回答して下さい。教員の指示無く複数回解答した場合すべて0点となります。(3回まで解答できる設定にしているのはやむを得ないトラブル対応の為です)
※解答を終了するときは問題ページの最後の「終了」ボタンを押して終了して下さい。
※WebClassのウィンドウは複数開かないこと。ウィンドウを複数開くと解答が登録されない場合があります。

 ・試験時間は60分。125点満点(後で100点満点に換算)。終了時に教員の指示に従って「終了」ボタンを押して下さい。
 ・筆記用具・指定教科書・手書きのみのノート持ち込み可。
 ・携帯・ノートPCは使用不可なので,カバンなどにしまって,見えるところ・触れるところ(机の上など)に出さないこと。
 ・試験はデスクトップPCを使ってWebClass上で行います。
 ・Webブラウザは,WebClassの中間試験のページのみ表示可能。
 ・他人と連絡は一切取ってはいけない。
 ・これらの制限に違反した場合は0点。

試験ページへのリンク(時間になったら教員の指示に従ってクリック)→試験ページ(WebClass)






■2017年度第2回(10/2)からのクラス分け (2017/10/2)
 2017年度第2回(10/2)からのクラス分けを J-Port および WebClass で発表しました。
 WebClassで参照するにはこちらのリンクからコースの教材にアクセスして下さい

■予習用ワークシートの導入について (2017/9/25)
 2017年度後期「プログラミング応用b」より,あらたに「予習用ワークシート」を導入します。第2回以降,その回の予習に基づいて
 各自,印刷・記入し,授業最初の課題提出時に課題と一緒に提出して下さい
。課題と違って,提出機会は一度だけです。無回答の
 欄があると,評価点は無しになりますので注意。予習用ワークシートはチェック後,返却します。自筆の予習用ワークシートは,「自筆の
 ノート」として扱います。
 予習用ワークシートは,こちらからダウンロードして下さい。
 
●プログラミング時のトラブルについて (2017/5/22)
 プログラミング演習時に理解不足によるトラブルが発生しているようです。いくつかポイントをあげます。
  (a)ソースファイル名を正しく決める(第2回「3.最も単純なJavaプログラムに学ぶ初歩知識」の「Javaの約束事」内。分かりやすいように記述を追加しました。)。
 次の(b)〜(e)は,プログラム上の間違いが無くても起こるトラブルの回避方法です。理由と詳細は Eclipseでのコンパイル・実行に関する資料を再確認すること。
  (b)プログラムごとに必ずプロジェクトを新たに作ること。特に指定されない限り,初心者がひとつのプロジェクトを再利用して使い回すのはトラブルの元です。
  (c)新しいプロジェクトを作る前に,Eclipseの「ファイル」メニュー→「すべて閉じる」を選んで,以前のプロジェクトのソースファイルのウィンドウをすべて閉じておくこと。
  (d)同じソースファイルを編集しなおして,コンパイル&実行しても,変更した内容が反映されない場合は,ソースファイルを保存してから, 再度,コンパイル&実行してみる。
  (e)コンパイル&実行時に,以前のプロジェクトのプログラムが実行されてしまう場合は,
     (1) 前のプロジェクトのソースファイルの編集ウィンドウが開いている場合はそれらをすべて閉じてから,再度,コンパイル&実行してみる。
     (2) それでも症状が変わらなければ,適切な実行構成を選んで再確認すること。
     (2) それでも症状が変わらなければ,実行構成を作り直して再確認すること。







■予習確認小テストについて
 ガイダンスでお伝えしたように,本授業は予習前提で授業を行います。そのため,第2回から5分程度の
予習確認証テスト(WebClass使用)を授業開始直後に行います。予習確認小テストの結果は,演習評価
の一環として成績の評価に算入させます。各回の予習確認小テストはスケジュール表に記載されていま
すので,c-learningの出席登録・課題提出が終わり次第,各自で実行して下さい(その際,私語は慎むように)

 初めて本授業のWebClass上のコースにログインすると,このコースのメンバーになるかどうか尋ねられます
ので「メンバーになる」ボタンを押して下さい。すると,クラス分けを掲示した資料が表示されます。

■提出課題の評価について
  ガイダンスでお伝えしたように,本授業は
毎回提出課題が出題されます提出課題は次回の授業の
c-Learning出席登録後にSA/TAに提出して下さい。提出された課題はチェックされ,正解の場合は
受理されますが,不正解の場合は再提出を求められます。1回目の提出で合格した場合は5点とし,
再提出の回数が増える毎に4点→3点→2点→1点と評価は下がっていきます。できるだけ少ない回数

で合格するように頑張りましょう。返却された課題の再提出は,その回の演習時間および次の回の授業
(出題回の次の次の回)冒頭時のみ行えます
最初の提出はあくまで出題回の次の回の授業開始時
のみであることに注意して下さい
。また,出題日になっていない提出課題の問題は出題日までに改善の
ため変更される可能性がありますので注意して下さい


■レポート用紙や印刷物のレポート提出の一般的な注意点

 授業時間内の印刷は,解説が終わった後の演習時間しか認めません。解説開始の遅延や妨害になりまってしまうためです。
 ※ガイダンスで伝達したように2枚以上になる場合は,必ずホッチキスでとめて提出すること(でないと受け取りません)。
 ※ガイダンスで伝達したように,最初の提出は指定された提出日の授業開始後の受け取り終了後は受け取りません(上記参照)。
  受け取ると,授業そっちのけで「内職」をしてしまう者が出るためです。
 ※プリントトラブルは提出遅延理由としては認めません。 授業遅延の原因になり,他の学生の迷惑になります。もとより,提出時
  までにすぐ提出できるように準備しておくことまで含んで 「課題」であることに注意して下さい
。授業直前に印刷トラブルで提出
  時間に間に合わないのは自己責任です。ちなみに社会でも直前にあたふた間に合わせで物事を行うのは,不慣れな内容であっ
  たり仕事で多忙であるなど特別な理由でも無い限りやってはいけないことで,遅れた場合は自己責任とみなされます(迷惑を掛
  けたまわりからはあまりよく思われません )。「印刷してホッチキスでとめる」ぐらいは,本学2年生以上なら誰でもできてしかるべき
  ですし,学生の立場であるなら授業に関しては多忙なども遅延の理由になりません。

■実行結果の印刷の仕方
  課題問題などで,実行結果を印刷する必要がある場合は, 画面のスクリーンショットを撮って印刷すれば良い。
  スクリーンショットは,キーボードの Print Screen (Prt Sc) キーを押すと画面全体がコピーされる。
  Print Screen (Prt Sc) キーは,キーボードの右上付近にある。
  画面をコピーしたら, Windows 標準アプリケーション(Windows アクセサリ)の「ペイント」 を起動して
  「貼り付け(ペースト)」を行うと,スクリーンショットの画像書類を作成できる。そのまま「ペイント」で印刷すれば良い。 
  (参考:Alt キーを押しながら Print Screen (Prt Sc) キーを押すと一番手前のウィンドウのみをコピーできる。)


■提出課題の評価方法(SA/TAの皆さんへ)
   こちらのガイドに従って,提出課題の受け取り・チェック・記録・返却を行ってください。

携帯電話の使用制限について
    c-learningでの出席登録後(授業開始後15分経過以降)は,携帯電話はしまって触らないようにして下さい。
   もし,それ以降に表に出している場合や見たり触ったりしている場合は教員側で授業が終わるまで預かります。


■ソフトウェアコンテストに応募しよう!
  2017年度も総合情報学科ソフトウェアコンテストを開催します。参考までに昨年度のお知らせはこちら。今年度の〆切
  時期や賞品総額も昨年度と同様ですので,ぜひ,参加してみて下さい。 プログラミングは,実際にソフトウェアを作成すること
  で技術として本当に身につけることができます。豪華賞品もありますので,この機会にチャレンジしてみてください。(情報系
  の就職を考える場合,就職活動が3年生の冬から始まりますので,3年生までに何かしらの作品を作る経験をしておいた方
  が,就職に役に立ちますよ)

 ■テキスト・参考書
 テキスト:『ITText Javaオブジェクト指向プログラミング』(布広永示 編著、オーム社) 
 参考書 :『やさしいJava(第6版)』(高橋麻奈、ソフトバンク)

 ■ノートは必ずとりましょう(重要)。
  ノートに要点をまとめたりすることで,学習した内容が記憶に残るようになります。
  (参考:コーネル式ノートによる「講義ノートの取り方と復習のコツ」
  本授業では,各自のノートをチェックして評価の材料とする場合があります。

 ■「大学設置基準」で定められた自学自習の時間について(重要
  大学の授業は「大学設置基準」という国の省令により,1コマ1回の授業に対しその3倍の時間
  を自習時間に使うように定められています。つまり,90分の授業な ら,予習復習を毎回270分
  行うように定められているのです。大学生は自らアクティブに学習することが求められている
  ことを肝に銘じて下さい。なお,本授業では予習復習に毎回最低1時間はかけていただきたいと
  考えています。(このことに関してより詳しい解説はこちら。興味がある人は授業外の時間に読
  んでみて下さい)

 ■定期試験は,かならず受験すること。受験しないと不可となって単位は出ません
 ■授業前までに,各回の講義内容を予習することを前提で授業を進めます
 
 ■禁止事項:
  授業中にプログラミング課題を出されたとき,似たようなプログラムをコピー・修正して目的のプログラム
  に仕立てようとすることは絶対にしないで下さい
。講義の内容から,「仕組み」を理解して,その仕組みを
  使って自分でゼロから作成する努力をしなければ,基礎的な知識・技能というものは身につきません。

■Web資料の閲覧には FireFox を使用して下さい。
  他のWebブラウザだと,ソースコードのダウンロードなどいくつか不都合が起きます。

「プログラミング応用a」スケジュール

(予習ワークシートは,こちらからダウンロードして下さい。)
第1回 4/17 ガイダンス 授業WEB資料リンク 教科書該当部分 参考書該当部分 予習確認小テスト

第2回

4/24 開発環境 Eclipse の使用方法
1年次の復習と応用1・式の実行順、変数と構造文

資料 

P16〜P32 第1〜6章 リンク
第3回 5/1 1年次の復習と応用2・配列とメソッド1 (メソッド) 資料
static メソッド定義ドリル1
P67,P73〜P74

8.4〜8.6, 9.2

リンク
第4回  5/8 1年次の復習と応用3・配列とメソッド2 (配列) 資料 P33〜P35 第7章 リンク
第5回  5/15 クラス定義の基礎 資料 第2章(2.2.4および2.4をのぞく) 8.1〜8.3, 9.5, 10.4 リンク(第5回)
第6回 5/22 オブジェクト生成とその利用 リンク(第6回)
第7回  5/29 オブジェクトの初期化・コンストラクタ 資料 2.2.4「コンストラクタの定義」, 1.1.3「デフォルトコンストラクタ」, 3.1.4「自身のコンストラクタの明示的な呼び出し」 9.3〜9.4 リンク
第8回  6/5 中間のまとめと復習 (中間試験)

 

第9回  6/12 文字列を表すStringクラス
モジュール化その1 (メンバアクセス制御とアクセッサ)

資料

2.4「アクセス制御」, 1.1.5「finalフィールド」

9.1, 10.2 リンク(第9回)
第10回  6/19 モジュール化その2 (パッケージ化とインポート、パッケージレベルでのアクセス制御) 1.1.7「パッケージとアクセス修飾子」 第13章 リンク(第10回)
第11回  6/26 継承の基礎1 資料   継承サマリー 3.1, 3.3 11.1, 11.3 リンク
第12回  7/3 継承の基礎2   11.2, 11.4 リンク
第13回  7/10 抽象クラス・抽象メソッド 資料 3.2.1〜3.2.2 12.1 リンク
第14回  7/24 インタフェイス 資料 3.2.3 12.2〜12.3 リンク
第15回  7/31 まとめ 理解度アンケート(WebClass) 布広クラス, 村上クラス, 大城クラス, 河野クラス平塚クラス, 渡辺クラス

●Java SE6 API ドキュメント  ●Java SE6 JDK プログラマーズ・ガイド
●Java SE7 API ドキュメント  ●Java SE7 JDK プログラマーズ・ガイド


「プログラミング応用b」スケジュール

(予習ワークシートは,こちらからダウンロードして下さい。)
第1回 9/25 ガイダンス 授業WEB資料リンク 教科書該当部分 参考書該当部分 予習確認小テスト

第2回

10/2

前期の復習演習1

資料  ヒント キーボードからの入力についての補足 (次回提出)

    リンク

第3回

10/9

前期の復習演習2

資料 ヒント キーボードからの入力についての補足 用語補足 (次回提出)

    リンク

第4回

10/16

JavadocAPIドキュメントの利用方法、アノテーション

資料 演習課題(問4はチャレンジ問題で出来なくても提出OK)そのソースファイル
(次回授業開始時に提出)

該当箇所無し 該当箇所無し リンク

第5回

10/30

例外によるエラー制御

資料

1.4 14.1〜14.3 リンク
第6回 11/6 ファイル入出力の基礎1 資料 1.5 14.4〜14.4 リンク
第7回 11/13 ファイル入出力の基礎2 資料 リンク
第8回 11/20 中間のまとめと復習 (中間試験) 資料      
第9回 11/27 スレッド1 資料   第4章 第15章 リンク
第10回 12/4 スレッド2 資料 リンク
第11回 12/11 GUIその1 (AWT/Swingによるウィンドウのデザインと生成) 資料 5.1〜5.5 該当箇所無し
以降は復習小テスト
リンク
第12回 12/18 GUIその2 (AWT/Swingによるイベント処理) 資料 5.7 該当箇所無し リンク
第13回 1/15 GUIその3 (AWT/Swingによる応用的イベント処理) 資料 5.8 該当箇所無し リンク
第14回 1/22 コレクション1 ( Vector) 資料 1.6 該当箇所無し リンク
第15回 1/29 コレクション2 (ジェネリッククラス,Vector<E>, ArrayList<E>) 資料 該当箇所無し リンク