#author("2018-09-02T13:34:07+00:00","ocha","ocha")
#author("2018-10-04T06:17:57+00:00","ocha","ocha")
//#contents

*ヒューマンインタフェース 2018年前期 [#xbc26b1a]


**ヒューマンインタフェースのレポート [#fa42ea61]
*マルチメディアプログラミング実習 2018年度後期 [#s6662b38]

提出は任意です.もし良いレポートを提出いただけたら出席点の加算に使用します.

-締め切り2018年8月31日金曜日
-形式分量:A4, ページ数は1-3ページ程度
-提出先・提出方法:PDFにしてsiio@is.ocha.ac.jpまでメール添付で送付

メールの標題は「ヒューマンインタフェースレポート: 16205XX」としてください。数字部分は出席番号です。
提出いただいた方はこのページでお知らせします。提出してしばらく経つのに、 自分の番号がなかなか表示されない場合は,受付されていないかもしれません.もう一度催促してください 
(提出を確認出来るよう締め切りより早めに提出していただくことをお勧めします)。

提出状況は、この下に、学籍番号と受理日で案内します。
もし、学籍番号が公表されたくない場合は、確認用の秘密の仮名を提出メールの中でお知らせください。
学籍番号の代わりにその名前を使います。

**欠席状況 [#o4d380f5]
3/4以上出席してください。(欠席は3回まで)欠席4回で自動的に不可になります。
欠席3回以下なら不可にはなりませんが、成績が下がるかもしれませんので、心当たり無ければ連絡ください。

|学籍番号|受理日|
|1620415|2018年8月|
|1620504|2018年8月|
|1620515|2018年8月|
|1620520|2018年8月|
|1620525|2018年8月|
|1620535|2018年8月|
|1620537|2018年8月|
|1620542|2018年8月|
|1620560|2018年8月|


(2018年9月2日現在)
**授業予定 [#m902f1d1]

***レポートの課題 [#c9d0add0]

-身の回りの携帯機器、家電製品、機械製品、コンピュータソフトウェア、 道具、日用品、調度品、設備などから、 使いにくいと思われる道具を見つけ出して欲しい。
-そして、それがなぜ使いにくいのかを、 授業で説明した、 制約、マッピング、Affordance、モデル、 エラー対策、 標準化、直接操作、メタファー、モードなどの用語を使って分析せよ。 (全部の用語を使う必要は無い)
-また,自分ならこのように設計して使いやすくするというアイディアを、 これも授業で使った用語を交えて、述べよ.


**javaのマニュアル [#beafbfad]

**出席状況 [#te5cda59]
//http://sdc.sun.co.jp/java/docs/j2se/1.5.0/ja/docs/ja/api/index.html
//http://java.sun.com/javase/ja/6/docs/ja/api/index.html
//http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/index.html
//http://docs.oracle.com/javase/jp/6/api/
http://docs.oracle.com/javase/jp/8/docs/api/index.html

学部「ヒューマンインタフェース」は出席重視の授業です.そのため70%以上出席お願いします. 授業回数が13回ですので,欠席が3回を超えた場合は単位が出ません. 以下に授業全体の欠席状況を示しておきます. 欠席回数は成績に大きく影響しますので、間違いありましたら至急お知らせください.公欠届のある日は出席としてあります。
** 出来上がったプログラムの提出方法 [#bd9cbbf8]
- フォルダを作ってその中にjavaファイルとclassファイル
//と、取扱説明書ファイルと、それ以外に必要なファイルがもしあればそれら
を入れてください。
フォルダの中のclassファイルをダブルクリックしたらプログラムが起動することを確認してください。
-このフォルダに名前を付けてください。フォルダの名前は、「出席番号+氏名(ローマ字の姓名)+必要ならばバージョン番号の数字」にしてください。たとえば09020999siioitiro01のように。なお全部半角英数字でお願いします。
-このフォルダを圧縮してください
--フォルダを選択してファイルメニューから圧縮を選択します
-圧縮したファイルを以下の手順で
 /home/isstaff/siio/Public/Drop Box/.
に提出してください。ターミナル.appからなら
 cp 123456siioitiro.zip /home/isstaff/siio/Public/Drop\ Box
としてください。ファインダーからなら、メニューから「移動」「フォルダへ移動...」を選んで
以下のように入力して、移動ボタンを押して、そこに現れるドロップボックスホルダに、ドラッグアンドドロップしてください。

|学籍番号|4月12日|4月19日|5月17日|5月24日|5月31日|6月7日|6月14日|6月21日|6月28日|7月5日|7月12日|7月19日|7月26日|欠席回数|
|1620415|出|出|欠|出|出|欠|欠|欠|出|出|出|出|出|4不可|
|1620501|出|出|出|出|出|出|出|出|出|出|出|出|出|0|
|1620503|出|出|出|出|出|出|出|出|出|出|出|欠|出|1|
|1620504|出|出|出|出|出|出|出|出|出|出|出|出|出|0|
|1620505|出|出|出|出|出|出|出|出|出|出|出|出|出|0|
|1620506|出|出|出|欠|出|出|出|出|出|出|出|出|出|1|
|1620507|出|出|出|出|出|出|出|出|出|出|出|出|出|0|
|1620508|出|欠|出|出|出|出|出|欠|出|欠|出|出|出|3|
|1620509|出|出|出|出|出|出|出|出|出|出|出|出|欠|1|
|1620510|出|出|出|出|出|出|出|出|欠|出|出|出|出|1|
|1620512|出|出|出|欠|出|出|出|出|出|出|出|出|出|1|
|1620513|出|出|出|出|出|出|出|出|出|出|出|出|出|0|
|1620514|出|出|出|欠|出|出|出|欠|欠|欠|欠|欠|欠|7不可|
|1620515|出|出|出|出|出|出|出|出|出|出|出|出|出|0|
|1620516|出|出|出|出|出|欠|出|出|欠|出|出|出|出|2|
|1620517|出|出|出|出|出|出|出|出|出|出|出|出|出|0|
|1620518|出|出|出|出|出|出|出|出|出|出|出|出|出|0|
|1620519|出|出|出|出|出|出|出|出|出|出|出|出|出|0|
|1620520|出|出|出|出|出|出|出|出|出|出|出|出|出|0|
|1620521|出|出|出|欠|出|出|出|欠|出|出|出|出|出|2|
|1620523|出|出|出|出|出|出|出|出|出|出|出|出|出|0|
|1620524|出|出|出|出|出|出|欠|出|出|出|欠|欠|出|3|
|1620525|出|出|出|出|出|出|出|出|出|出|出|出|出|0|
|1620526|出|出|出|出|出|出|出|出|出|出|出|出|出|0|
|1620527|出|出|出|出|出|出|出|出|出|出|出|出|出|0|
|1620528|出|出|出|出|出|出|出|出|出|出|出|出|出|0|
|1620529|欠|欠|欠|欠|欠|欠|欠|欠|欠|欠|欠|欠|欠|13不可|
|1620532|出|出|出|出|出|欠|出|出|出|出|出|出|出|1|
|1620533|出|出|出|出|出|出|出|出|出|出|出|出|出|0|
|1620534|出|出|出|出|欠|出|出|出|欠|出|出|欠|出|3|
|1620535|出|出|出|出|出|出|出|出|出|出|出|出|出|0|
|1620536|出|出|出|出|出|出|出|出|出|出|出|出|出|0|
|1620537|出|出|出|出|出|出|出|出|出|出|出|出|出|0|
|1620538|欠|欠|欠|出|欠|欠|欠|欠|欠|欠|欠|欠|欠|12不可|
|1620539|出|出|出|出|出|欠|出|出|欠|出|出|出|出|1|
|1620540|出|出|出|出|出|出|出|出|出|出|出|出|出|0|
|1620541|出|出|出|出|出|欠|出|出|出|出|出|欠|出|1|
|1620542|出|出|出|出|出|出|出|出|出|出|出|出|出|0|
http://siio.jp/gyazo/dropbox.png
--書き込み専用なので確認できないけどokですかという意味のダイアログが出るかと思いますが問題ありません。
-レポート提出用フォルダは書き込み専用で見ることができません。アップロードできたかどうか不安でしたら教員まで質問してください。
-授業中でしたら、[[ココを見ると:http://siio.jp/lecture/java_report.html]]一覧をみることができます。
-同じ名前のフォルダを投げ込むと、エラーになります。ということで新しいバージョンができたら別の名前のフォルダを作って提出し直してください。(フォルダ名最後に数字をつけてください)

** 講義開催予定 [#b3cac191]

-4/12
-4/19
-4/26 休講
-5/10 休講
-5/17
-5/24 
-5/31
-6/7 
-6/14
-6/21
-6/28
-7/5
-7/12
-7/19
-7/26
-8/2 試験週間のため授業はありません
***教科書 [#a7e1ce26]

http://gyazo.com/de3288074dae1c75f6df4ef3c0b9b3d4.png

**宿題 [#c73b3aac]
http://www.amazon.co.jp/dp/4883732258/

下のリンク先のソースコードをコンパイルして、応答速度を図るプロログラムを作ってください。これを使って、みなさんの応答速度を図って、次回(2018年6月7日)報告してください。
買ってください。もしくは、先輩から安く譲ってもらってください。

http://lab.siio.jp/index.php?CSL11HCI#k497ebbd
*** この講義の目的 [#l5592b29]
+Javaでプログラムする
+オブジェクト指向の概念を理解してプログラミングする
+GUIプログラミングをする

*** この講義の順序 [#gcf48d66]
+Javaになれる(C言語などのプログラミング手法の復習)
+オブジェクト指向について理解する
+GUIプログラミングについて理解する(イベント駆動)
+お絵描きプログラムを作ってみる

**宿題 [#x69779a5]
*** 成績評価 [#c732dbb9]
+お絵描きプログラムの完成度,作り込み
+毎回の宿題の達成(参考程度)
+出席状況(参考程度)

***GUI黎明期のPC性能を調べてください(2018.4.19) [#ba9db6ff]
-GUI黎明期PCのCPU名、CPUクロック、メモリ容量、画素数を調べてください
--現在,Windows を使っている人は,最初の Windows が出荷された 1985 年当時に使われていたIBM PC/AT
--Mac OS Xを使っている人は,1984に出荷された最初の Macintosh 
-今あなたが使っているコンピュータと比較してください. 
-次回の授業(5/17)最初に配布するA5サイズの用紙に各自で記入して提出してもらいます


//**宿題
//
//***人の反応速度を測定するプログラムを作って測定してください。(2014.4.24) † [#jbad7411]
//-連休明けの授業(5/15)の開始時に、A4, 1枚(両面印刷でも可)で提出してください。
//--用紙の上辺に学籍番号、学年、氏名を1行で書いておいてください。
//-C 言語では,次のようなプログラムで、”hit now”という文字を表示した後、リターンキーが押されるまでの時間を測定できます。
//--http://siio.jp/hci/hitnow.c
//--このプログラムは固定時間(5秒)後にhit nowが表示されます。乱数を使って表示までの時間を変える改良をしてもらっても良いです。(改良したらそのこともレポートしてください)
//-これによりあなたの応答速度を複数回実測して、人の応答速度が 300ms 程度であることを確認してください。 
//-また個人差や年齢などで結果は変わるかもしれません。周りの複数の人に被験者になってもらって調査しても面白いかもしれません。
//-また何度も測定することで、習熟して速度が向上したり、それでも限界があったり、さらには、逆に疲労により速度が低下することがあるかもしれません。
//--そのような現象が観察できたら、これも報告してください。(教科書8章の学習曲線を参考にしてください)
**第1章および第2章 [#y3ae1beb]

**教科書 [#ta8dbb5f]
http://ec2.images-amazon.com/images/I/51SsP4P1UiL._SL500_AA300_.jpg

http://www.amazon.co.jp/dp/4781912605/
*** terminalを起動する [#ia8beba9]

**授業資料 [#s6bf1fc3]
+http://siio.jp/lecture/humaninterface/HCI_c1.ppt.pdf
+http://siio.jp/lecture/humaninterface/HCI_c2.ppt.pdf
+http://siio.jp/lecture/humaninterface/HCI_c3.ppt.pdf
+http://siio.jp/lecture/humaninterface/HCI_c4.ppt.pdf
+http://siio.jp/lecture/humaninterface/HCI_c5.ppt.pdf
+http://siio.jp/lecture/humaninterface/HCI_c6.ppt.pdf
+http://siio.jp/lecture/humaninterface/HCI_c7.ppt.pdf
+http://siio.jp/lecture/humaninterface/HCI_c8.ppt.pdf
+http://siio.jp/lecture/humaninterface/HCI_c9.ppt.pdf
+http://siio.jp/lecture/humaninterface/HCI_c10.ppt.pdf
//#ref(How2Java/terminal.png)

(授業開始直前や直後に差し替えされている可能性があります。)
http://siio.jp/gyazo/7366bfab668207c6598c4d88ef70d2d4.png

**教科書サポートページ [#b385f64d]
- terminalは、/Applications/Utilities/の中にあります。
ちなみに、/Applicationsはファインダでは/アプリケーションと日本語として見えます。
/Applications/Utilities/は、/アプリケーション/ユーティリティ/と日本語として見えています。

-http://lab.siio.jp/index.php?CSL11HCI
- ダブルクリックすると起動します。
よく使うことになると思いますので、dockにドラッグアンドドロップして
登録しておくと良いかと思います。


- ターミナルから、javacとタイプしてみてください。Javaがすでに入っているので、
オプションの説明が日本語で出てくると思います。


//**宿題:ボタンを押すたびに点灯/消灯を繰り返す(トグルする)プログラム (2015/7/17提出) [#a9dc7742]
//
//以下は、Arduinoの2ピンに接続された押しボタンスイッチを押すとLEDが点灯するプログラムです。これを改造して、押し//ボタンスイッチを押すたびに、点灯/消灯を切り替えるプログラムを作ってください。
//ちなみにHIGHとLOWはintの値で、int型の変数で保存することができます。
//
// int outpin=13; //An LED is connected to ping 13
// int inpin=2;  //A switch is connected to pin 2
// 
// void setup() {                
//   // initialize the digital pin as an output and input.
//   pinMode(outpin, OUTPUT);     
//   pinMode(inpin, INPUT);
// }
// 
// void loop() {
//   if ( digitalRead(inpin) == HIGH) {
//     digitalWrite(outpin, LOW);   // set the LED on
//   }
//   else {
//     digitalWrite(outpin, HIGH);    // set the LED off
//   }
//   delay(30);              // wait for 30 msecond
// }
***おすすめテキストエディタCotEditor[#c7258b9c]

https://coteditor.com/img/appicon/128@2x.png

//**宿題:人の反応速度を測定するプログラムを作って測定してください。(2015.5.1) [#f5834458]
//-連休明けの授業(5/8)の開始時に、A5, 1枚に書いて提出していただきます。
//-C 言語では,次のようなプログラムで、”hit now”という文字を表示した後、リターンキーが押されるまでの時間を測定でき//ます。
//--http://siio.jp/hci/hitnow.c
//--このプログラムは固定時間(5秒)後にhit nowが表示されます。
//-- 乱数を使って表示までの時間を変える改良をしてもらっても良いです。(改良したらそのこともレポートしてください)
//-これによりあなたの応答速度を実測して、人の応答速度が 300ms 程度であることを確認してください。(複数回実測して平均とってもらえるとさらに正確ですね)
//
//
- Javaのプログラムを作るテキストエディタです。一番簡単にはterminalからviとかemacsとかpicoとかタイプして
エディタを呼び出せば良いです。

- でも日本語の設定などが結構難しいので、GUIベースのエディタを使ってみましょう。

- いくつかありますが、おすすめの一つはCotEditorという、便利なフリーウェアのテキストエディタです。

- これも便利なのでdockに入れておくとよいと思います。


こちらからダウンロードできます。
演習室のOSにあわせたバージョンをダウンロードして~/Applicationsにコピーします。

https://coteditor.com/archives.ja

*** 超簡単なプログラム(hello world)を作ってみる [#v4ccc293]


- ターミナルから、vi Hello.javaとかemacs Hello.javaとかpico Hello.javaとかタイプしたり、
もしくは、cotEditerを起動して作成します。

- ここで、以下のようなプログラムを書いてみます。

 class Hello {  
 public static void main (String args[]) {
         System.out.println("hello java world!");
         }
 }

http://siio.jp/gyazo/20121004010107.png


- これをHello.javaという名前で保存して、コンパイル実行します。すると以下のようになります。

 javac Hello.java  (コンパイルする)
 java Hello      (実行する。.javaなどの拡張子は不要)
 hello java world!   (結果)


- 次に簡単なウィンドウを出してみましょう。

授業の最後の方で紹介する,Swingというフレームワークを使ってウィンドウを出してみます.


 import javax.swing.JFrame;
 public class SimpleWindow {
 
        public static void main(String argv[]) {
                JFrame f = new JFrame("私が作った最初の窓");
                f.setSize(200,100); 
//                f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                f.setVisible(true);
        }
 
 }

これをSimpleWindow.javaという名前で保存して、

 javac SimpleWindow.java
 java SimpleWindow

とタイプしてコンパイル/実行します。
このプログラムは,ウィンドウのクローズボタンを押しても終了しません.
プログラムを停止するには,ターミナルでコントロール-cを押します.

#ref(How2Java/simplewindow.png)




------
このページについてのお問い合わせはsiio@is.ocha.ac.jpまで。


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS