卒研・ガイダンス
最初の卒研ということで、クラス全体のガイダンスにて、以下の点を説明。
- 卒研に取り組んだ時間は、日付・時間・内容などを記録する
- 卒研では発表等で資料を作るので日々の記録が重要(ノートを作る)
- 資料提出用のファイル共有の概略説明
斉藤卒研室のガイダンス
各卒研室に分かれた後は…ということで、自分の卒研の学生さん向けにガイダンス。 ネットワーク系テーマや、制御系テーマについて解説し、 どのような内容で取り組むか考えてもらうために、簡単な課題を示す。 また、最初は毎月1回ぐらいのペースで中間報告をしてもらう方針を話す。 その後は、自分のパソコン環境の設定をしてもらう。
2日目は、サーバにユーザ登録をして、パスワード設定やファイル共有の使い方、 Webページの作り方の説明を行う。
オブジェクト指向プログラミング・ガイダンス
専攻科2年向けのオブジェクト指向プログラミングの授業のガイダンス。 最初に授業内容の説明として、大きなプログラムを作るにあたって、分業・再利用が しやすくするためのテクニックとしての、隠蔽化・継承という概念があり、 最終的に、UMLなどの説明をすることを紹介。 その他、レポート中心での内容などを説明する。 受講者は、EIのOB3人+E科OB1人。
最初にオブジェクト指向の概念を説明するために、プログラム言語の歴史を紹介し、 FORTRANで手続き、COBOLで構造体、ALGOLで構造化プログラミングが現れた あたりを説明し、Simulaで シミュレーションの記述としてオブジェクト指向が使われ始めたことを紹介。 また、Smalltalkで、 GUI環境の構築で有用性が認知され、X11,Windowsなどのプログラミングに 波及していったことを紹介。 その元になったのが、C言語にオブジェクト指向を取り入れたC++であり、 これから Java が派生していったことを説明する。
CからC++へ
例年であれば、他学科でC言語理解の浅い人向けの説明を行うけど、今年は構造体なら 理解していそうなので、例年よりはハイペース。以下のようなプログラムを示し、 オブジェクト・メソッド・インスタンス・クラスといった用語を紹介。
struct Person { // オブジェクト(データの構造) char name[ 20 ] ; int age ; } ; void set( struct Person* p , char s[] , int a ) { strcpy( p->name , s ) ; // 初期化メソッド(データの操作) p->age = a ; } void print( struct Person* p ) { // 表示メソッド printf( "%s %d\n" , p->name , p->age ) ; } void main() { struct Person saitoh ; // saitohインスタンス(具体化) struct Person family[2] ; set( &saitoh , "saitoh" , 46 ) ; set( &family[0] , "mitsuki" , 11 ) ; print( &saitoh ) ; print( &family[0] ) ; }