『プログラミング応用a』『同演習』『プログラミング応用b』『同演習』 水曜3〜4限
(総合情報学科・情報システム学系2年次配当)
担当教員:斎藤・大城・佐藤・秋山・北風・平塚・渡辺・須賀


2024年度授業内容

スケジュール表へジャンプ! Webブラウザは FireFoxでお願いします(HTMLアニメーション対応のため)。

●2024年度のクラス分けと課題の提出先ついて (2024/04/23 Updated!)
 クラス分けはJ-Port掲示板に掲示されています。こちらからも確認できます(表に掲載されていない人はクラス分け表上部に
 記載のルールによってクラスが決まるようになっています)。
 課題は,必ず自分のクラスの『プログラミング応用a演習』用WebClassコース(以下のリンク先)で確認・提出をして下さい。
 第2回の授業以降は,自分の所属していないクラスのWebClassコースはアクセス自体出来なくなります。
  A(大城)クラス:リンク
  B(斎藤,秋山)クラス:リンク
  C(佐藤)クラス: リンク
  D(北風)クラス:リンク
  E(渡辺)クラス: リンク
  F(平塚)クラス:リンク
  G(須賀)クラス: リンク

【重要】7/17(水)の回だけEクラス(担当教員:渡辺先生, 1-323実習室)の学生は別教室授業を実施します。 (2024/07/10 New!)
 7/17(水)の回だけ,Eクラス(担当教員:渡辺先生, 1-323実習室)の学生はこちらの表で(学籍番号別に)指定された教室で授業を実施します。
 ※必ず上記リンク先の表で指定された教室で授業を受けて下さい。指定されていない教室に移動すると吸われる席が不足します。

●期末試験(7/24)について (2023/07/24 Update!)
  第15回(7/24)の「プログラミング応用a」(3限)授業内で期末試験を実施します。

■2023年度前期「プログラミング応用a」期末試験について:

      J-Port: 5092 (13:20までに登録。トラブルで登録できない場合,13:20までにクラス担当の教員に申し出よ。13:20以降は対応しない。)

13:10 受験者は各教室に集合。J-Port で出席をとる。各自,デスクトップPCにログインし,このページ(授業取りまとめページ)だけを
   Webブラウザで開いておくこと。
 
13:15
注意事項説明開始。
   ・今回は対面受験者のみ受験可能。
   ・下の事前予告欄の注意事項を説明。
   ・携帯電話やタブレット機器などをかばんなどにしまって,実習室デスクトップPCにログイン
    ※学内IDを停止されている学生は,IDが使用できるようになったら後日追試を行います。申込方は下欄「事前予告」の「日試験を受けられない場合」参照。

   ・本ページをWebブラウザでひらいておくこと。
      http://www.ohshiro.tuis.ac.jp/~ohshiro/progaa/
    ※試験前はWebClassのページは一切開いていてはいけない。
   ・WebClassの試験中は,WebClassのページをWebブラウザの単一のウィンドウ・タブで表示すること。
   ・WebClassの試験はできるだけ1回で解答すること。
    WebClassの試験中に,WebClassのページを複数のウィンドウ・タブで表示するとエラーになって解答した内容が無くなるので注意。
    もしこの注意事項を守らずエラーを起こしてしまった場合は,速やかに再度受験をし直すこと(以前の解答内容は消えます。受験時間の延長はしません)。
   ・試験中に試験ページを閉じないこと。閉じてしまった場合は,速やかに再度受験をし直すこと(以前の解答内容は消えます。受験時間の延長はしません)。
   。その他の詳細な注意点は,下記の予告時の内容を参照のこと。

13:25 教員の合図にしたがって一斉に下記のテスト移動用ボタンをクリックして,WebClass上の期末試験を受ける。14:25までの60分間。


(教員の指示があるまでボタンを押したり試験ページを開かないこと。教員指示の前に問題ページを開いたら0点とする)

14:25 各自WebClass上で試験開始から60分経過したらテスト終了。
14:40 デスクトップPCからログオフ(サインオフ)するのを忘れないように。
    授業評価アンケート
のお知らせ

※本日4限の「プログラミング応用a演習」は通常通り実施します。
 3限に教室移動した学生は元の教室に戻って受講して下さい。



■事前予告
  ・試験範囲は,第1〜14回のJavaによるプログラミングに関する内容。
  ・WebClassで実施。試験時間60分
   第1〜14回の予習確認問題自習用が対策問題(試験問題と同じというわけではない)になっているので,事前
   に満点が取れるように何度も解答してみましょう。
  ・7/18(木)までに,再提出締切を過ぎた課題(第1〜12回)の正解例をWebClassの各クラスの演習用コースで
   公開しますので,参考にして下さい。
  ・授業の録画も公開されていますので,テスト対策に利用して下さい。
  ・対面受験のみ。 指定教室外から受験した場合は0点とします(試験中にIPアドレスで確認予定)。
  ・使用できるソフトは Webブラウザ,Eclipse ,電子ノート用のソフト(Word等)のみ。
  ・筆記用具・教科書・参考書・手書きのノート・ノートPC持ち込み可。
  ・携帯は使用不可なので,カバンなどにしまって,見えるところ・触れるところ(机の上など)に出さないこと。
  ・実習室のデスクトップPCを使ってWebClass上で行います。
  ・Webブラウザは,
     (1)WebClassの期末試験のページ
     (2)本授業のWeb資料のページ(アドレスが http://www.ohshiro.tuis.ac.jp/~ohshiro/progaa/ から始まるページ)
   のみ表示可能。
  ・Eclipse使用可能(それ以外の実行環境は使用不可)
  ・他人と連絡は一切取ってはいけない。ChatGPTなどの人工知能サービスの使用も禁止。
  ・これらの制限に違反した場合は0点

  ・4限は通常どおり「プログラミング応用a演習」を各クラスで実施します。

  ●当日試験を受けられない場合
   公欠扱いの事由(例:新型コロナに罹患した・新型コロナの濃厚接触者になった等)や体調不良で,7/24に期末試験を受験できない
   (できなかった)学生対象に追試を行います。 追試受験を希望する学生は,7/26 に受験できなかった理由を明記したメール
   (可能ならそれを証明する書類の写真を添付して)を大学のメールアドレス(自分のid@edu.tuis.ac.jp)から大城
   宛てに
     ・「2024年度プログラミング応用a期末試験追試受験希望 自分の学籍番号 自分の氏名」というタイトルで
     ・7/27(土) までに
   送って下さい。追試は8/1(木)4限に実施予定です。





●再提出締切を過ぎた課題の正解例を公開開始しています。 (2024/06/1New!)
 再提出締切を過ぎた課題の正解例を順次公開しています。自分のクラスの『プログラミング応用a演習』用WebClassコー
 ス(上記のリンク先)
の教材一覧内の「演習提出課題の正解例」コーナーを参照して下さい。

●2024年度前期の授業録画リンクを公開しました。 (2024/04/28 New!)
 こちらに2024年度前期授業録画リンクの公開を開始しました。
 授業スケジュール表にも記載してあります。

●Javaで文字列やデータ値を表示する方法を簡単に紹介します。 (2024/05/1 New!)
 こちらに,Javaで文字列やデータ値を表示する方法を簡単にまとめました。

●2024年度用のEclipseインストールガイドを公開しました。 (2024/04/17 New!)
 こちらのパワーポイント書類を参考に,第2回の授業前までにEclipseを自分のノートPCに
  インストールしておいて下さい。

■複数のファイルをzipファイルにまとめて圧縮する方法について (2024/05/01 New!)
 こちらを参照して下さい。


演習課題を解くのにChatGPTなどのAIサービスを使用してはいけません(2024/04/12 New!)
  第1回のガイダンスでも案内しましたが,演習課題を解くのにChatGPTなどのAIサービスが
 生成したプログラムを一部でも使用してはいけません。ChatGPTなどのAサービスが生成した
 プログラムコードを含む解答は0点とします。

■4限の「プログラミング応用a演習」は教員の指示なく部屋から出ないこと。 (2024/04/12 New!)
  第1回のガイダンスでも案内しましたが,4限の「プログラミング応用a演習」は教員の指示
 なく勝手に部屋から出ないこと。無断で途中から不在になった場合は欠席扱いにします。

■2024年度の授業の流れ (2024/05/1 New!)


■提出済み演習課題の評価結果確認の方法 (2024/05/1 New!)
 前期ガイダンスでも案内しましたが,提出済み演習課題の評価結果は以下の様にして確認できます。
 (1)自分の所属するクラスのWebClassコースにアクセスする(例:村上クラス所属の場合は,「プログラミング応用b演習(村上クラス)」コース)。
 (2) 上部の「マイレポート」タブを選択。
 (3)以下の様に表示される。


なお, 上部の「成績」メニューから 「集計」を選択し,表示された各課題へのリンクをクリックし,表示されたページの「結果履歴」タブでも概要は分かる。

また,最初の提出で不正解になり,再提出を求められている場合は,(再提出の締切期限前までなら)教材一覧で次のように再提出を求められていることが分かる。


 ※2024年度は採点担当のSA/TAが不足気味で,4限開始時までに提出された演習課題の採点が完了していない
  ことが多くなると思います。遅くとも,当日までには採点は完了すると思われますので,必ず提出した課題
  の採点結果を各自確認し,再提出が指示されている場合は再提出の締切までにサイド提出しておくようにし
  て下さい。

■井関先生が提供しているプログラミング言語自習システムについて (2023/04/19 New!)
  情報システム学系の井関先生が,プログラミング言語自習システムの提供を開始しました。
 Webブラウザがあれば,プログラミングの自習ができます。言語は現在のところ Python, Julia, R, C/C++, Java, JS, PHP, Swift 
 を用意しています。活用してみて下さい。
  ・接続方法
   1.el.mml.tuis.ac.jp に大学のIDとパスワードでログインする.
   2.共通 フォルダをクリック
   3.Jupyter Lab 自習用 をクリック

●ソースファイルの場所の知り方 (2022/04/11 New!)
Eclipse でプロジェクトやファイルの場所を知りたい場合に使える便利な方法を追記しました。
第3回資料ページ→「Eclipseの使い方」→「3. ファイルの追加と編集」→「【9】ソースファイルの場所をWindowsのExlplorerで開く」
直接リンクはこちら

 公開場所は,各クラスの「プログラミング応用a演習」用WebClassコースです。

■予習について
 ・毎回,次の回の授業の内容を予習すること。予習用の動画が事前に掲載されますので予習の際に見るようにして下さい。
  ・予習確認小テスト(自習用)は、 スケジュール表の「予習確認小テスト」欄に毎回分のリンクがあります。「自習用」
  のリンクをクリックして、WebClass上のテストに進んで下さい。授業前までに100点になるまで繰り返すこと 。
  ※初めて予習確認小テストへアクセスしたとき、WebClassの「プログラミング応用a」コースに参加するかきかれ
   ますので、肯定して先に進んで下さい。
 
■全員,大学推奨ノートPC(及び電源アダプタ・LANケーブル)を用意すること。


●プログラミング時のトラブルについて (2017/5/22)
 プログラミング演習時に理解不足によるトラブルが発生しているようです。いくつかポイントをあげます。
  (a)ソースファイル名を正しく決める(第2回「3.最も単純なJavaプログラムに学ぶ初歩知識」の「Javaの約束事」内。分かりやすいように記述を追加しました。)。
 次の(b)〜(e)は,プログラム上の間違いが無くても起こるトラブルの回避方法です。理由と詳細は Eclipseでのコンパイル・実行に関する資料を再確認すること。
  (b)プログラムごとに必ずプロジェクトを新たに作ること。特に指定されない限り,初心者がひとつのプロジェクトを再利用して使い回すのはトラブルの元です。
  (c)新しいプロジェクトを作る前に,Eclipseの「ファイル」メニュー→「すべて閉じる」を選んで,以前のプロジェクトのソースファイルのウィンドウをすべて閉じておくこと。
  (d)同じソースファイルを編集しなおして,コンパイル&実行しても,変更した内容が反映されない場合は,ソースファイルを保存してから, 再度,コンパイル&実行してみる。
  (e)コンパイル&実行時に,以前のプロジェクトのプログラムが実行されてしまう場合は,
     (1) 前のプロジェクトのソースファイルの編集ウィンドウが開いている場合はそれらをすべて閉じてから,再度,コンパイル&実行してみる。
     (2) それでも症状が変わらなければ,適切な実行構成を選んで再確認すること。
     (2) それでも症状が変わらなければ,実行構成を作り直して再確認すること。




■提出課題の評価について
  ガイダンスでお伝えしたように,本授業は
毎回提出課題が出題されます提出課題は次回の授業の開始時間までに,自分のクラスの
「プログラミング応用a演習」用コース(WebClass)で提出して下さい
。提出された課題はチェックされ,正解の場合は受理されますが,
不正解の場合は再提出を求められます。返却された課題の再提出は,次の回の授業(出題回の次の次の回)開始時間まで行えます
授業開始時間に1秒でも遅れた場合は課題は評価しませんので注意してください。

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


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

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

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

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

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

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



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

日程 「プログラミング応用a」
講義内容
授業WEB資料リンク 予習確認
小テスト
内容理解確認小テスト 教科書該当部分

参考書
該当部分

授業録画動画
2024年度 2023年度
第1回 4/17 ガイダンス



        2024年度
録画リスト
2023年度
録画リスト

第2回

4/24

1年次の復習と応用1
(式の実行順、変数と構造文)

資料

自習用
本番用
  P16〜P32 第1〜6章

第3回

5/1

開発環境 Eclipse の使用方法

資料

  小テスト    

1年次の復習と応用2
(メソッドと配列)

資料

static メソッド定義ドリル

自習用
本番用
メソッド:P67,P73〜P74
配列:P33〜P35

第7章, 8.4〜8.6, 9.2

第4回 5/8 クラス定義の基礎 資料

自習用
本番用

小テスト 第2章(2.2.4および2.4をのぞく) 8.1〜8.3, 9.5, 10.4
第5回 5/15 オブジェクト生成とその利用 自習用
本番用
小テスト
第6回 5/22 オブジェクトの初期化・コンストラクタ 資料
自習用
本番用
小テスト 2.2.4, 1.1.3, 3.1.4 9.3〜9.4
第7回

5/29

文字列を表すStringクラス, ここまでの復習 資料 自習用
本番用
小テスト 1.2.3  
第8回 6/5 中間試験

 第1〜7回の内容の復習。

無し 無し
第9回 6/12
モジュール化その1 (メンバアクセス制御とアクセッサ)

資料

自習用
本番用
小テスト

2.4, 1.1.5

9.1, 10.2 2024年度
録画リスト
2023年度
録画リスト
第10回 6/19 モジュール化その2 (パッケージ化とインポート、パッケージレベルでのアクセス制御) 自習用
本番用
小テスト 1.1.7 第13章
第11回 6/26 継承の基礎1

資料

継承サマリー

自習用
本番用
小テスト 3.1, 3.3 11.1, 11.3
第12回 7/3 継承の基礎2 自習用
本番用
小テスト 11.2, 11.4
第13回 7/10 抽象クラス・抽象メソッド1
(その意味と定義の方法)
資料
自習用
本番用
小テスト 3.2.1〜3.2.2 12.1
第14回 7/17 抽象クラス・抽象メソッド2
(抽象クラスとしてのスーパークラスの作例)

なし

小テスト
第15回 7/24 期末試験   無し 無し

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







「プログラミング応用b」スケジュール
日程 内容 授業WEB資料リンク 予習確認
小テスト
内容理解確認小テスト 教科書該当部分 参考書該当部分

2024年度
授業録画動画

2023年度
授業録画動画

第1回 9/25 ガイダンス             録画リスト

第2回

10/2 前期「プログラミング応用a」の復習

課題の補足

       

第3回

 10/9 インタフェイスと実装1 資料
自習用
本番用
小テスト 3.2.3 12.2〜12.3

第4回

10/16 インタフェイスと実装2,
オブジェクト指向のまとめ

資料

  小テスト

第5回

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

資料

自習用
本番用
小テスト 該当箇所無し 該当箇所無し
第6回 10/30 例外によるエラー制御

資料

自習用
本番用
小テスト 1.4 14.1〜14.3
第7回 11/6 中間のまとめと復習 (中間試験) 資料        
第8回 11/13 ファイル入出力の基礎(文字データ入出力、ファイル操作) 資料 自習用
本番用
小テスト

1.5

14.4

第9回 11/20 コレクション1(ジェネリッククラス、 Vector<E>、 ArrayList<E>) 資料 自習用
本番用
小テスト 1.6 該当箇所無し
第10回 11/27  スレッド1 資料 自習用
本番用
小テスト 第4章 第15章
第11回 12/4 スレッド2 資料 自習用
本番用
第12回 12/11 GUIその1 (AWT/Swingによるウィンドウのデザインと生成) 資料 自習用
本番用
小テスト 5.1〜5.5 該当箇所無し
第13回 12/18 GUIその2 (AWT/Swingによるイベント処理) 資料 自習用
本番用
小テスト 5.7 該当箇所無し
第14回 1/8 GUIその3 (AWT/Swingによる応用的イベント処理) 資料 自習用
本番用
小テスト 5.8 該当箇所無し
第15回 1/15 まとめ,期末試験


       
付録1   ファイル入出力の基礎2
(バイト(バイナリ)データの読み書き)
資料

自習用
本番用

     
付録2  

コレクション2
( イテレータ処理、Map、その他の代表的コレクションクラス)

資料 自習用
本番用