科目名 |
情報科学2 |
担当教員 |
星野 孝総 |
対象学年 |
1年 |
クラス |
学部:自然002 |
講義室 |
C−1WS |
開講学期 |
2学期 |
曜日・時限 |
月1,木1 |
単位区分 |
選択 |
授業形態 |
一般講義 |
単位数 |
2 |
準備事項 |
|
備考 |
|
授業の詳細1 |
講義の目的 現代社会では、切符の予約、預金の引き落としなど日常生活においてコンピュータによる処理が深く浸透している.工学部の卒業生として今後、工業界で活躍していくためにはコンピュータが如何なる処理を行っているかを知っておくことは必須である.コンピュータが処理を行えるのは、その中にプログラムが組み込まれていることによる.プログラムはコンピュータの本質であり、情報科学とは、プログラムの作成方法とその実行方法を習得するものである.本講義は情報科学1で学んだプログラミング言語の基礎を発展させるものであり、命令の数を増やすことにより、初級のプログラミング技術を習得することを目的とする.また、プログラミング技術の習得を通じて、物事に対し筋道を立てて考える論理的思考力をつけさせることも目的とする. |
授業の詳細2 |
講義の進め方 プログラミング技術の習得が段階的にできるよう、講義は次の順で進める. (1) 最初に今回の講義で学ぶプログラミング技術の概念を解説する. (2) 次に教科書の例題でその具体的使用法を体得する. (3) さらに、例題の一部を改変した練習問題を解くことにより理解を深める.例題、練習問題を解いている時にはTAが巡回しており、随時質問を受付け、また、適切なアドバイスを行うことによりスムーズにプログラミングができるようになっている. (4) 例題、練習問題の中で不明な箇所があった場合はe-Learningにより解決することもできる. (5) 講義の最後には本日、学んだことのまとめを行う. (6) 重要な単元については別途演習時間を設け、問題を多く解くことにより理解度を深める.
講義資料は,HPにて公開する. これを参考にして勉強すること. 講義における段階的理解、および、講義資料を活用すれば、プログラミング技術の習得が可能となる. |
授業の詳細3 |
「達成目標」 1.与えられた演習問題を解くためのアルゴリズムを発想することができる. 2.数値計算、関数理解でといった演算系の概念が理解できプログラムに記述できる. 3.配列と再帰の概念が理解できプログラムが作れる. 4.機械語についてコンピュータアーキテクチャとの関連において理解し,実際に計算がどのように進むかを理解する. 5.計算量の概念を理解し,計算容易な問題と計算困難な問題の区別をつけることが出来る. 6.どのようなコンピュータを用いても解けない計算不能問題が存在することを理解する. |
授業の詳細4 |
講義計画 1.ガイダンス,OSXの使い方,パカルのコンパイルの仕方(復習) K-WSのパソコンに実装されているプログラミング環境の使用法を復習を兼ねて説明する.コーディングからプログラムの起動までがスムーズに行えるようにする.また、補助教材であるe-Learningシステムの使用法についても説明する.
2.プログラミングの流れ コンパイルエラーの見方(復習) 与えられた問題を解くために問題をアルゴリズムに落とす方法、アルゴリズムをプログラムに翻訳する方法、プログラムのデバグの方法、実行して得られた結果の検証法など、プログラム開発の一連の流れを説明する.
3.関数(教科書3章の復習) 関数は、変数を変えて関数の値を反復計算できる.プログラミング技法としてはループがあり、ループの回し方、停止法、テスト法について説明する.
4.配列(教科書3章の復習) 配列とは情報を格納する箱のようなものである.配列の概念を説明し、その使用法について述べる.配列のアドレスを指定することにより配列の中に格納された情報を取り出すことが出来る間接指定の概念について説明する.
5.配列とサブルーチン(教科書4章の復習) 配列を引数とするサブルーチンについて説明する.
6.総和(教科書3章)、階乗(教科書4章) 配列に格納された数の累算方法について説明するとともに、総和を求める実際の応用例を示す.また、ループを用いた階乗の計算方法を説明する.
7.最大値と最小値(教科書3章) 関数の学習の項では、変数の値を変えて関数の値が変化する様子を観察することにより、関数の最大値を人間が見つけていた.ここでは、ループを循環する毎に関数の値が前回より大きいか否かを検査する機能をプログラムの中に組み込むことにより、コンピュータが最大値を見出す技法について説明する.
8.まとめ/習熟度確認 1.〜7.での習得事項に関して理解度の確認をおこなう. |
授業の詳細5 |
9.再帰T(教科書4章) 再帰とは、定義の対象となる関数がその定義の中で使われるものである.プログラム的には自分で自分を呼び出すサブルーチンがこれに相当する.
10.再帰U(教科書4章) 再帰を用いた例として、階乗の計算、ソート法について解説する.
11.アルゴリズムと計算量I(教科書第11章) かなり大きな計算量であっても合理的な時間内に計算できるという計算容易の概念について説明する。また、氏名、身長、体重からなるリストから、ある特定の身長と体重を持つ人の氏名を全部集める計算の例について解説する. 12.アルゴリズムと計算量II(教科書第11章) 計算容易の例として、複数の数を昇順に並べる問題を用いてこれに要するプログラム実行時間を調べる。さらに、計算式が情報検索の対象となるデータ数nの多項式であれば計算容易であることを説明し、先の複数の数を昇順に並べる問題がこれに該当するか否か議論する.
13.計算困難問題(教科書11章) nの増加に伴い多項式よりも速い速度で実行時間が増加していく計算を計算困難な計算という。一例として多重ループ問題を取り上げ、計算時間を測定する.
14.計算不能問題(教科書13章) どのようなコンピュータを用いても解けない問題を計算不能問題という。Pascalのプログラムで計算できない計算不能関数、プログラムを読み取るプログラムを解説する.
15.まとめ/習熟度確認 9.〜14.での習得事項に関して理解度の確認をおこなう.
16.解説 全員の理解度について補足・解説を行う. |
授業の詳細6 |
成績評価 習熟度確認、演習課題、出席課題の評価から達成目標への到達度を評価する. ◆C:総合的に見て達成目標の60%に到達した場合 ◆B:総合的に見て達成目標の70%に到達した場合 ◆A:総合的に見て達成目標の80%に到達した場合 ◆AA:達成目標の各項目全てについて90%に到達した場合 |
授業の詳細7 |
◇テキスト 『やさしいコンピュータ科学』,Alan W. Biermann 著, 和田英一監訳(アスキー) ◇参考書 必要に応じて配付する. ◇備 考:なし ◇履修の前提となる必須科目:なし ◇事前の履修が望ましい科目:「コンピュータ・リテラシー」、「情報科学1」 |
授業の詳細8 |
詳細な情報は,以下のHPを参照すること. http://www.ele.kochi-tech.ac.jp/hoshino/#LocalLink |
授業の詳細9 |
|
授業の詳細10 |
|