ホーム » スタッフ (ページ 224)
「スタッフ」カテゴリーアーカイブ
薬物乱用防止講習会
近年、大学生による大麻などによる逮捕といった事例として、 身近なところでも薬物乱用が広がっており、数年前より全4年を対象に 「薬物乱用防止講習会」が行われている。
今日は、保護師の方が、取り扱った人の事例を交えながら、薬物乱用の 怖さを語ってくれた。 当初、PRビデオの上映を予定していたが、事前動作確認はされていたものの、 年期の入った古いビデオであるためか、急に動かなくなってしまった。 このため、お話し主体の講演となった。
# おかげで話の繋がりが分かりにくかったかな…
隠蔽化(Complex)の解説+演算子オーバライド
例年どおり、複素数のクラスを直交座標系で記述して、 隠蔽化を考慮してプログラムを書けば、後でデータ構造を極座標系に変更しても 利用者側のプログラムは一切変更不要…というネタで解説する。
今年度は、すでに受講者が電子情報のみになっているので、 例年説明をしていない演算子オーバーライドや"cout<<…<<endl" といった、iostream系の紹介(詳しい解説はしない)を行った。
途中にて、Complex::add( Complex& ) といった宣言で、「引数を参照宣言するのはなぜ?」 といった質問がでる。例で示した複素数といったオブジェクトであれば、関数呼び出しで コピーを伴う「値渡し」でも実行効率は悪くならないが、巨大オブジェクトではコピーを避けるために 「参照渡し」が一般的であるため、実務で見かける機会の多い「参照渡し記述」をしていると説明する。
創造工学:グループ決め&具体化
先週のアイデア草稿について、 全体の講評をした後、 アイデアの具体化に向けたグループ討議をしてもらう。
アイデア草稿では、具体的な方法については考えていなかったが、 その実装方法の問題点ということで、 先週紹介した電子ブロックのネタを実際に使った際に、 具体的にどんな機能が必要だったりその実装の方法を検討した内容を 説明し、同様の検討を時間内に行った。
しかしながら、グループ討議や後半の実装方法検討の際に、 Webで調べて画面を見ているだけで、何のメモも取らない人が多い。 インターンシップでも上司に質問をする際にも、メモを取らずに 質問をしたら相手がどう思うのか?、具体的な資料を作成するときに、 何をキーワードに文書を作るのかも記録が残っていないと… といった注意点を説明する。
浮動小数点、文字、文字列、真偽値
浮動小数点型(float,double)の説明として、小数点のあるN進数の説明の後、0.1が2進数となると無限小数になったり、それにともなうトラブルを紹介。 暗黙の型変換によるトラブルの説明や型キャストの説明を行いながら、浮動小数点に伴うトラブルの事例を紹介する。
次に、ASCIIコード表や文字コードの値について説明し、特殊文字'\n','\r','\f','\a','\t' や'\8進数' , '\x16進数'といった表記法などの説明と、ASCZ文字列の説明。
2010年5月9日(第163回)
誠市、ご縁市開催中でした
- メールテーマ:母の日の贈り物
- 英語の囃子 第34回 吉田三先生、電子情報5年丸山さん
英語 で浦島太郎を読んでみよう
eng100509.mp3
- ブラックサンダーにあうものを探そう!好評(?)につき、第2弾
誠市、ご縁市に出ているものの中から たこ焼き、玄米コロッケ、五平餅、パンなど・・・
創造工学演習のネタ
創造工学演習で作ってみるテーマで、半期かければできそうなネタをいくつか紹介。
パソコンを操作という感覚なしで、ゲームができる事例。 手のひらの動きにあわせて、上からプロジェクタで投影する。
音と位置情報をあわせたものづくりができないか?
- GPSデータつきのTwitterのつぶやきを、自分の位置情報にあわせてサラウンドで読み上げる。
- 音を地図にマッピングし、ユーザの動きに合わせて音が変化する。
- 遠方の音ほど、小さい音で、低音がカットされた音で再生する。 ユーザに方角センサーをつけ、ユーザの向いている方角の音は大きな音で再生する。
再帰処理の処理時間の分析
再帰呼び出しの含まれる処理の、分析について説明を行う。 再帰に慣れていない人のために、fact(N) , pyra(N) , fib(N) のプログラムを示し、 適当な引数での実行結果を答えて貰う。
fact(N):階乗のような再帰であれば、処理の時間も繰り返しになることから、代入法で 簡単に説明ができる。しかし、フィボナッチ数列fib(N)であれば、自身の呼び出し回数も 簡単には説明ができない事例。ということで、まずはハノイの塔の処理ステップの証明を、 (1) 代入法による一般解の予想、(2)数学的帰納法を交えてた証明について 説明を行う。
最後に、フィボナッチ数列の再帰の処理時間を、代入法により示し、ピネの公式より オーダを示す。
C構造体からC++クラスへ
授業3回目にて、電子情報以外の学生さんが受講を取りやめ、 受講者全員が電子情報学生となった。 基本的な部分の説明が不要となるため、細かい内容まで話すことができた。 最初に、前回授業で話すことができなかった、参照渡し(ポインタ渡し,値渡し)を説明した後、 C言語でオブジェクトっぽく書くスタイルを発展させながら、下記のようなC++における、 クラス宣言を説明する。
class Person { private: char name[ 20 ] ; int age ; public: Person( char s[] , int a ) { // コンストラクタ strcpy( name , s ) ; age = a ; } inline void print() const // inline 開いたサブルーチンにする { // const メンバ変数を書き換えないメソッド printf( "%s %d\n" , name , age ) ; } } ; void main() { Person saitoh( "T-Saitoh" , 46 ) , mitsuki( "Mitsuki" , 10 ) ; saitoh.print() ; mitsuki.print() ; }
例年は説明を省略しているけど、const メンバ関数宣言や、inline 宣言による説明を行う。