ホーム » 2005 (ページ 3)
年別アーカイブ: 2005
課題+実力判断小テスト
テスト前に危機感を持ってもらうために簡単な 小テスト を行う。 抜き打ちでもあり出席確認として利用する。30分で回答し,解説を参考に自己採点。
割り込み
前回のプロセスの説明を受け、割り込みの説明を行う。 割り込みとして、 入出力割り込み/タイマ割り込み/エラー割り込み/ソフトウェア割り込み の4つを説明。 その使用方法として、以下の内容を説明する。
- タイマ割り込みで処理が切り替わるメカニズム
- プロセスの実行/実行待ち/入出力待ちの状態が切り替わるメカニズム
- OS がデバイスドライバを切替えながら、ハードウェアにアクセスする方式、
- CPUには特権/ユーザのモードがあり、不正アクセスでエラー割り込みが発生すること
- 特権/ユーザモードの切替えに、ソフトウェア割り込みが使われる事
プロセスの話しの中で、マルチタスクの違った例としてマルチプロセッサ方式と、 最近のプロセッサでの、スーパスカラ・SMP・ベクトル・マルチコアなどの方式を 紹介する。
意志決定木の例と演習
一夜漬けに忙しい学生さんは、試験直前の演習だと『実例に取り組むまないでテスト…』に なりやすいので、後半を演習時間とする。
講義では、意志決定木(知識データベース)ということで、 2分木を利用した質問・結論のプログラム例を示す。
補足説明で、構造体内の文字列要素を char* で宣言する場合と、char[] で宣言する場合の違いを説明する。 聞いていなさそうな学生さんも多かったし、テストネタにするのも良いかも。
簡単に一度説明してはいるが、AVL 木と 木の最適化のネタを説明する時間が無かった。 来週の前半にて説明しよう。
間違いだらけの個人情報保護
最近話題の個人情報保護法の解説。 例えば 『学籍番号・氏名を掲示板に張り出してはいけない、は間違い』 といった記事が書かれている。
# 学内に閉じていればOKあるね
参考になります。
ライブラリとOS
言語プロセッサネタの最後として、プログラムのコンパイルから機械語までの コンパイル+リンク・ライブラリなどの用語の説明。 静的リンクと動的リンクの違いを説明する。
次に OS の説明として、カーネル・開発環境・ユーザアプリなどの基本プログラムの 内容を大まかに説明。OS の管理する資源について説明。 CPU には特権モードとユーザモードがあることを説明しながら資源管理の重要性を 説明する。 最後に時間切れぎみであったが、ジョブ・プロセス・スレッドなどの用語と、 バッチ処理とタイムシェアリングシステムの用語を説明する。
情報処理に関する資格試験
JABEE において、情報処理の知識習得を条件とするために、 専攻科生にいずれかの資格の取得か、情報処理の総合試験(技術士試験問題相当)合格 を修了要件としている。 しかし、資格試験の見直しが必要なので、試験内容を追いかけている。 うーむ、細かく『級』が設けられている試験では内容が簡単すぎるものや、 ワープロ操作技能しか要求していない試験も含まれる。
式の表現(2分木)
2分木を使った式の表現の説明。
2分木を使わない場合
式といっても、演算子の優先順位や結合方向などの問題がある事を説明した後、 逆ポーランド記法などがあることを説明し、 逆ポーランド記法のなら、値を計算する事はスタックを使えば簡単であることを説明。
2分木を使った式の表現
今までの知識だけで2分木を使って式を表現すると、 木の枝のポインタは『値』の場合と『木』の場合があるので、どうするか? といった話題から、木を表現するデータ構造の宣言を考えさせる。
struct Exp { int type ; /* 節が数値か演算子か? */ char op ; /* 数値の場合 */ int value ; /* 値の場合 */ struct Exp* left ; /* 左右の枝 */ struct Exp* right ; } ;
このデータ構造の場合の『無駄』をどう対処すべきかを答えてもらう。 授業で提案された方式は、以下の3つであった。
# 案1,案3を組み合わせて、共用体を使ったデータ構造の宣言例を示す。
# あわせてtypeのbit数を減らすために、ビットフィールドを使う場合もあることを紹介
- op と value は同時に使わないから、 value に演算子コードを保存すれば op は不要!
- 数値の場合には、op に数値を表すコードを割り当てれば、type は不要!
- 数値の場合は left , right も NULL なので、type は不要!
最後に、上記データ構造での、式の値を求める eval を説明する。
パソコン甲子園に3名の学生が参加
福島にて開催されたパソコン甲子園に3EIの学生さん3名が参加してきました。 (前川先生の引率にて参加です) コンテストの方式にも慣れていないため、準備万全とはいかず、 FN アルゴリズム本などをもっと持ち込めば良かったみたいですね。 来年は、アルゴリズム本、数学の公式集、理科年表ぐらいは、持ち込みましょう。 /FN 成績では上位に入賞する事はできませんでしたが、始めてのチャレンジとしては、 よい成果ではないでしょうか。
会場では、通信関係機器の持ち込み禁止のなかで4時間缶詰で、 2年生でも簡単に解けそうな数値計算から、ちょっとしたパズル的な問題までの、 様々な問題の中から、1台のパソコンにてプログラムを次々と作成するそうです。
前川先生とも、今の2年生の適当な時期に 『学内のプログラミング甲子園ができるといいねぇ〜』 と雑談。
認証評価実地審査終了
10/31〜11/2の期間に実施していた 認証評価 の実地審査が無事終了しました。 面談に御協力頂いた学生の皆さん、OBの皆さんご苦労さまでした。
昨日は私の担当の実験も視察コースの1つで、質問などを受けました。 選択実験でテーマ数が多く、シラバスに実験テーマが記載漏れとなっていて、 どうして?と質問されて、多少戸惑いましたが….
審査最後の「審査の各項目の確認結果」では、どの項目も問題がなく無事終了でした。 審査結果は、1月の学校への連絡と返答ののち、3月に『正式な審査結果』が 届くそうです。
2分木の課題
2分木の構造にて、
- 名前と生年月日
- 名前と電話番号
のデータにて、入力し2分木を生成し、データ順で表示。 これに加え、以下の処理をできるようにする。
- 同じ名前のデータを探す。
- データを探す時の最悪の検索回数を求める。
- 指定したデータを削除する。