第13回図書館総合展ポスターセッション参加のご報告

こんにちは!B4の梶浦です。
只今秋休み真っ最中、みなさまいかがお過ごしでしょうか。
さて報告が遅れましたが、11/9(水)~11/11(金)パシフィコ横浜にて開催された
図書館総合展において、今年もKLCはポスター展示をしました!
ちなみに昨年度の記事はコチラ
今年はこのようなポスターを展示し、10日(木)口頭発表を行いました。
総合展ポスター
なんとつくばリポジトリにもポスターを登録して頂きました!
当日の様子
DSCN2105_convert_20111128080657.jpg
今回のポスターのタイトルは「常に成長し続ける筑波大学春日ラーニングコモンズ(KLC)」です!
今年は図書館に移転して2年目であり、ラーニングコモンズは昨年度よりも少しパワーアップしました。
具体的にはTAを兼任している大学院生がチューターに加わったことで、
より多岐に渡る質問に対応できるようになったり、回答の質が向上したと推測しています。
質問数もそれに伴って昨年度より急増していることが分かりました。
ちなみにポスターの内容は有志のKLCスタッフで考え、
デザインは同じくスタッフの堀さんに担当してもらい素敵なものに仕上がりました!
この場を借りてお礼申し上げます。ありがとうございました。
今後も更なる成長を目指してスタッフ一同精進して参ります!
みなさまどんどんKLCを活用してくださいね!
これからもよろしくお願いします!
(文責:梶浦)

11/25の業務報告

こんばんは、B2の栗山です。
試験週間が終わって、明日からは秋休みですね。
3学期の履修登録が終わっていない方は、履修期間に気をつけて下さいね。
さて、本日の質問と回答です。
============================
<その他>
Q1. Google+は、どのように利用するのか。
A1. Gmailのメールアドレスを持っているか尋ね、アドレスを持っていれば「Google plus」で検索したり、Googleの検索画面の左上に表示されたりしているので、そこから利用することができると回答しました。
(回答:三津石)
============================
今学期のチューター業務は本日で終了です。
3学期もよろしくお願いします!
(文責:栗山)

11/24の業務報告

こんばんは,図書館情報メディア研究科の安永です。
本日は,レポート提出日前日ということもあってか,
沢山の質問がありました。
====================================================
<プログラミング演習I レポート課題2に関して>
Q1.heikin というメソッドで,攻撃力の合計じゃなくて最後のキャラの攻撃力が返ってしまう。
A1.一緒にトレースし,各変数に入っている値を確認し,攻撃力の合計を扱う変数が存在しないことに気づきました。
Q2.変数kyara1,kyara2 をメソッド taiketsu に使えるのか分からない。
A2.特定のキャラ”うさぎ”の攻撃力を求める方法を尋ねると,書くことができました。なので,print(“うさぎ”) と, str=”うさぎ” print(str) を比較し,どのように書き換えれば意図したプログラムが書けるか考えてもらいました。
Q3.「★結果です」が表示された後に,計算結果が表示されない。でもエラーも出てない。
A3.print(“★結果です”)が2カ所あり,一方はその後で計算結果をprint しているのに対して, 他方はその後に何も書いていないことを指摘しました。
Q4.最大攻撃力のキャラを出せない
A4.比較対象となる初期値が上手く初期化されていなかったので、どうすればいいか一緒に考えました。
Q5.対決時に指定したキャラのステータスが表示できない
A5.配列を値とするハッシュの使い方を確認しました。
Q6.配列を値としたハッシュで、特定の値の取り出し方が分からない
A6.プログラミング演習1のページにある「第2回レポート課題」の問答を参考にしてもらいました。
Q8.ハッシュが上手く作れない
A8.キーに指定する変数を間違っていたので、ハッシュの作り方から確認をしました。
Q9.最大攻撃力のキャラは出せたが値が出せない
A9.値が配列でない1つの値しかないハッシュを例にしてキーが分かっているときの値の出し方を示して、すでにハッシュのキーは分かっているので、それを使えば値も取り出せるはずですと伝えました。
Q10.図書館愛やインパクトをカンマで区切って出したいが、どうすればいいのか。
A10.「ruby 配列 カンマ」などで検索すればいくつか方法が出てきますので、検索してみてください、と伝えました。
Q11.戦いが上手く動作しない
A11.戦わせたいキャラ名を一度全て代入してから、戦いの処理をしようとしていたのですが、キャラ名が繰り返しの中で毎回上書きされるようになっていたため、その点を指摘しました。
Q12.攻撃力の比較ができない
A12.配列を値としたハッシュの使い方がよくわかっていなかったようなので、プログラミング演習1のページを参考に解説しました。
Q13.ハッシュの中身が表示されない
A13.ハッシュのキーと値をハッシュを保存するときに使っていた変数で呼び出そうとしていたので、その点を指摘しました。
Q14.undefined method ‘+’ for nill ;nillclassというエラーがどうしてでるのか
A14.キャラの攻撃力の合計を求めるための、自己代入に使っている変数の初期化がおこなわれていないことが原因ですと回答しました。
Q15.最大値ではなく、ハッシュにテキストデータを入れた時の最後のキャラの攻撃力が表示される
A15.whileを使うと、ハッシュの中のキーと値を全て取り出すことはできないと回答しました。では何を使えばよいか、と聞いたところ、質問者はeachをが使えることに気がつきました。
Q16.最大値がが表示されない
A16.最大値を求めるメソッドの中でなんとなくハッシュを定義して、中身がないのに比較をしているのでそれを直すようにと回答しました。最大値を求めるために使うキャラの値が入っているものはなにか、と問いかけたら、ハッシュyuruyuruを引数に指定してメソッドのなかで使うことに気がついてくれました。
Q17.最大値を求めるのにsortメソッドを使いたいが、そうすると最大値とキャラ名が同期しないので、キャラ名だけ取り出せる方法はないか。
A17.それは調べて下さい、私はちょっと分かりません。それよりももとのプログラムに書いてある繰り返しで最大値を書き換えて行く方法の方が楽ですと回答しました。
Q18.プログラムを直したがハッシュの中身が表示されない
A18.リダイレクトしていたファイルを確認したところ、何も中身が保存されていなかったため、エラーが起きていました。
Q19.最大値の比較が上手く行かない
A19.配列に変換する方法を用いていたのですが、質問者の方法だとキャラ名が取り出せない形式だったため、授業でハッシュの値を比較したことがないか確認し、そちらの方法を勧めました。
Q20.最大キャラと値が表示されない
A20.最大キャラを求めるメソッドの要件を満たしていないようでしたので、課題を確認するように伝えました。また、引数の使い方について曖昧だったので、確認をしました。
Q21.攻撃力が最大になるキャラを求めるメソッドで、最大攻撃力のキャラが返り値にならない
A21.0とキャラの攻撃力を比較して、キャラの攻撃力が大きかったらキャラ名を返り値にするというプログラムだと、どのキャラでも返り値になってしまうのでそこを直して下さいと回答しました。
Q22.最大値が求められない
A22.攻撃力を求めるときに、図書館愛とインパクトを、メソッドの外で定義した配列を使って記述していたので、メソッドの外で定義した変数はメソッドの中では使えないのでそれを直して下さいと回答しました。
Q23.ファイル名を間違ってしまったが、後から変更できるか
A23.できます。
Q24.プログラムの説明を確認してほしい。作成したハッシュについての説明を始めにしているのだが、問題ないか。(プログラムの始め数十行ではメソッドの定義をおこなっているが、そちらの説明を後にしてもいいのか)
A24.説明している行番号をきちんと明記していたので、先に説明する事に意味があり、説明からその意味が読み取れるのであれば問題ないと思います、と伝えました。
Q25.undefined method `chomp’ for nil:NilClass と出たが原因が分からない
A25.リダイレクトしたファイルに何も内容が保存されていませんでした。
Q26.平均を求めるときに、メソッドの外で定義した変数がつかえないと教えられたので、その部分を消せば求められるか。
A26.eachを使って値を取り出しているなかで、whileを使って値を配列に代入しているので、一つのキャラの値を百回配列に代入していることになる。さらに配列のインデックスをeachの中で初期化しているので、次のキャラの値を百回代入したときには配列の中身が全部書き変ってしまうことを指摘し、そこを直すようにと回答しました。
Q27.最大攻撃力のキャラ名を表示させたいが、一緒にキャラの攻撃力まで表示されてしまう
A27.メソッドの返り値をキャラ名と最大攻撃力にするのはだめなので、キャラ名だけにして、表示するとき工夫してくださいと回答しました。
Q28.最大値を標準出力するやりかた
A28.メソッドのなかで定義した変数は使えないので、直近の3行のなかにあるものをうまくつかって、表示して下さいと回答しました。
Q29.キャラを対戦させるために攻撃力を比較する方法
A29.攻撃力はハッシュをつかってどう求めればよいか、と聞いたところ、最大キャラを求めるのと同じ方法を使うことに気づいてくれました。
Q30.戦いのとき2人のキャラの比較ができない
A30.図書館愛などの値を取り出そうとしていたのですが、始めにハッシュに保存するときに使っていた変数を再度使って表示させようとしていたために最後に入力された値しか表示されていませんでした。指定したキャラの値を呼び出すにはどうしたらいいか考えてもらいました。
Q31.eachなどの繰り返し文でしか使ってない変数は繰り返しの外では使えないのか?
A31.使いたい変数を初期化した位置によって使用できるか変わります。
Q32.taiketsuメソッドを動かすと最後にnilが表示される。エラーメッセージはでない。
A32.表示するメソッドだったのですが、print文の中で呼び出していたためnilが出ていました。表示するメソッドと値を返すメソッドの違いを確認しました。
Q33.平均が出せない
A33.平均値の計算方法が間違っていたので指摘しました。
Q34.対決をメソッドにしたが、動かない
A34.引数の指定を間違っていたため、指摘しました。
Q35.対決で2人のキャラを比べられない
A35.比較する攻撃力を保存する変数の扱いに誤りがあったため指摘しました
Q36.表示するメソッドと値を返すメソッドの違いがよくわからない
A36.教科書や演習資料等で確認をしました。
Q37.taiketsuメソッドが上手く動かない
A37.表示するメソッドと値を返すメソッドが混同していたため、うまく動いていませんでした。違いを確認しました。
(回答者 西野:Q14-17,21-22,26-29,鈴木:Q4-13,18-20,23-25,30-37,安永:Q1-3)
====================================================
最後まであきらめずに頑張って下さい!
ただ,レポートは,プログラムだけでなく,説明の部分にも配点がありますので,直前までバグと戦って説明が書けなかった,なんてことにならないように気を付けて下さいね!

11/22の業務報告

こんばんは、B2の栗山です。
最近空気が澄んでいて、夜になると星がとても綺麗に見えます。
課題や試験勉強で疲れた時は、星空を見て気分転換してみてはどうですか?
さて、本日の質問と回答です。
============================
<プログラミング演習I>
Q1. 対戦メソッドは作る必要があるか
A1. 対戦メソッドはハッシュと二人のキャラ名を引数にするようにテキストに書いてあったが、それに気付かずメソッドの中でキャラ名の入力から全てやってしまっていました。なのでテキストの要件の通りに書き直すように言いました。
Q2. 対戦の後の二人目のキャラの能力がすべて0になる
A2. 対戦のメソッド内でまずそれぞれの能力値を0で初期化して、そこから戦いの中で能力を変化させていたが、変化した能力以外は初期化されたままの状態になっていたので、初期化する際にそれぞれの能力値を代入したほうがいいとアドバイスしました。
Q3. 実行させたときに一回一回の対決のあとにNilという文字列が出る
A3. 直接の原因はコードを見た限りではわからなかったが、対決のメソッドを実行させる際にprintメソッドの中で実行させてしまっていたのでそこを指摘しました。
Q4. 攻撃力の一覧を出そうとするとすべて同じ値になる
A4. each文の外で攻撃力を計算してそのeachの中でその攻撃力の変数を表示させていました。eachメソッドは何をするものなのかがあいまいなようだったので説明しました。
Q5. 対決させようとするとyuruyuruがないというエラーが出る
A5. メソッドの中では引数として持ってこない限りメソッドの外で定義した変数は使えないことを説明し、また対決メソッドの引数がテキストに書いてあったものと違っていたのでその通りにやるように言いました。
Q6. (Q3.の回答を参考に直したら)二人目のキャラの能力も出るようになったが、値がおかしくなる
A6. どの変数がどの能力を意味する変数なのか自分でわからなくなっていて、そのため変化させる能力が間違っていました。なのでわかりやすい変数名をつけるようにアドバイスしました。
Q7. 平均を求めるメソッドを実行させようとするとyuruyuruを使うところでエラーが出る
A7. メソッドに引数を何も指定していませんでした。メソッドの中ではメソッドの外の変数は使えないという説明をし、メソッドについて復習してみるようにアドバイスしました。
Q8. 平均を求めるメソッドで平均値をreturnしても表示できない
A8. メソッドを定義している部分がendで閉じられていなかったので、そこを指摘しました。
Q9. プログラムの説明を書いてみたので見てほしい
A9. それぞれの変数の役割自体はしっかりわかっていたので、それをどう説明したらいいかわからなかったようです。質問者自身の書いた説明で十分わかりやすかったのでそれで大丈夫だと言いました。
Q10. (Q9.の回答を参考に直したら)プログラムを実行したときに止まらなくなってしまった
A10. 平均値を計算するメソッドの引数がテキストの定義と間違っていて、またwhileで回しながら計算していました。while分の条件はtrueなのに抜ける条件も設定していないために止まらなくなっていました。引数をテキストどおりにするように言いました。
Q11. 始めからよくわからない。第5回のチェック項目を参考に,ハッシュの中身を表示するプログラムを書いたが,表示されない。
A11. each文を使ってハッシュの中身を表示しようとしていましたが、ハッシュの中身が空のままでした。また、each文も、keyとvalueの二つの要素ではなく、キャラ名、図書館愛、インパクト、ゆるさの4つの値を用いようとしていたため、それについても指摘をし、第5回のチェック項目のプログラムを今回のプログラムのどこに当てはめればいいか、ヒントを出しました。
Q12. 攻撃力の平均を求めるメソッドをどう書けばいいのかわからない
A12. まず、each文の使い方が少し違っているようでしたので、それについて指摘をしました。また、一気に平均を出そうと考えるのではなく、メソッドの中で、「各キャラの攻撃力を計算するところ」「攻撃力の合計を計算するところ」「平均値を計算するところ」の3つにわけて考えた方がいいのでは、と言いました。
Q13.課題がよくわからない。どんなプログラムを書けば良いのか全くわからない
A13. 課題の要件を分解して,一つずつこなしていくようにするといいと思います.あとは,実行例の中で,どこがどのメソッドと対応している結果なのかを説明しました.
Q14. ハッシュにキーと値を一つずつ格納していくことはできるようになったが,配列を値の要素としてハッシュに登録していく方法がわからない。
A14. 持ってきてもらったプログラムのなかで,手を加えるべき箇所を示しました.
Q15. 攻撃力の最大値を求めるメソッドがうまく動かない。平均値を求めるメソッドがどうもうまく動いていないらしい。
A15. 攻撃力の最大値を求めるメソッドは,そもそも各キャラの攻撃力を全く利用していなかったので,そのためにうまく動いていませんでした.また,平均値を求めるメソッドについては,返り値を計算式ではなく変数に置き換えて対処してみるよう,提案しました.
Q16. プログラムを実行したら、対決をする部分でエラーが出る
A16. while文の中に、対決結果を表示するメソッドを定義していたので、メソッド定義を行う位置をかえる必要があると指摘しました。また、メソッド定義と実行したいプログラムの記述位置について、補足をしました。
Q17. (Q16.の回答を参考に直したら)、対戦するキャラ名を入力する部分でエラーが出てきてしまった。
A17. リダイレクトする.txtファイルの中身を説明しました。その後、トレースを行い、繰り返し入力を行うwhile文から抜け出す条件(if文)の位置が違うことに気付いてもらいました。
Q18. 攻撃力の最大を求めるメソッドが実行できない。
A18. 繰り返し回数を示す変数 iをどのように使っているのか、質問者に説明してもらったところ、自己代入(i = i + 1)が抜けていることに気付いてくれました。
Q19. .(ピリオド)が入力されて終了するときに、「終了します」と表示させた方がよいか。
A19. 表示させた方が、終了したことが見てわかるのでよいアイディアだと思います。「終了します」と表示させたい場合は、実行結果の表示方法に指定がないか確認をしてから行ってください。
Q20. ハッシュにキャラ名と3つの能力を入れる方法が分からない。
A20. ハッシュと配列の違いがあまり理解できていなかったようなので、説明をしました。またハッシュの作り方のヒントはプログラミング演習のWebページを参照するように言いました。
<設備>
Q21. 一部だけカラーの13枚あるレポートを両面印刷したいが,全部をカラー印刷してしまうと印刷枚数制限が気になるので,できればカラーで印刷する部分を最小限にしたい.
A21. カラーのページと,その裏面にあたるページだけをカラーで印刷し,それ以外のページを白黒で印刷できるよう,ページ指定をして印刷すればそれで最小限になると思います.
(回答者 Q1-Q10:北原、Q11-Q15. Q21:澤木、Q16-Q20:栗山)
=============================
外はとても寒いので、星空を見るときは防寒対策をしっかりしましょう!
(文責:栗山)

11/21の業務報告

こんばんは、鈴木です。
筑波大は今週学期末テストです。でも仮に落としたら来年またとればいいじゃない!(4年生除く)
そうならないように勉強しっかりやりましょう!
では今日の質問と回答です。
******************************
【プログラミング演習1】
Q1. 課題の指示通りに表示ができない。
A1. メソッドに複数の値を指定すると、返り値が配列として返されることを理解してもらうためにpメソッドを使って返り値を確認してもらいました。
Q2. undefined method `[]’ for nil:NilClassの意味が分からない。
A2. 配列オブジェクトであると思い込んでいるものに、値が何も入っていないことを確認してもらうためにpメソッドを使って変数を表示して確認してもらいました。
Q3. 課題の指示である、キャラクター同士の対戦表示ができない
A3. eachメソッドによるブロック内でもifを使うことができるということを指摘しました。
Q4. エラーの原因が分からない
A4. 全角スペースが紛れていたので指摘しました。
Q5. 課題の対戦の数値比較ができない
A5. 1.whieによるループや、eachによるブロック構造の中で、それぞれどのような処理をしたいのかが質問者の中でハッキリしていませんでした。どのような処理をすべきなのかをひとつずつ説明してもらい、一つずつ順に処理を実装してもらいました。
2.Hashy#[]メソッドにおいては、キーである文字列を参照するものであればどんなものでもも引数とすることができるということを理解できていないようだったので、理解してもらいました。
(例)h = {“hoge” => “fuga”}; var = [[“hoge”]]; p h[var[0][0]] #=> “fuga”
Q6. 最大値が出ない
A6. 繰り返し回数を表す変数の値に1を足すタイミングが間違っていたために間違っていたのでそこを指摘しました。
Q7. 繰り返しが止まらない
A7. 繰り返しを制御するための変数に値を加える位置を間違っていたので、処理を追って正しい位置を確認しました。
Q8. 戦いが表示されない
A8. 作成したメソッドを呼び出していませんでした。
Q9. 計算したら小数点まで表示されてしまう
A9. 0.9を掛けていたため、小数点第1位まで表示されていました。質問者の方が別の方法を思いついて解決しました。
Q10. 表示させるメソッドと値を返すメソッドの違いがよくわからない
A10. 表示させるメソッドと値を返すメソッドの違いがよく分からなかったようなので、授業資料等で復習しました。
Q11. エラーの原因が分からない。
A11. エラーの意味を確認し、キャラ名を入力している部分やメソッドを定義している部分とその位置を見直してみるよう答えました。
(回答者:1~5:三津石、6:北原、7~10:鈴木、11:森川)
******************************
課題は余裕をもって取り組みましょう。
(文責:鈴木)