講義コード | 9419J | ||||||
講義名 | アルゴリズム | ||||||
(副題) | |||||||
開講責任部署 | 全体 | ||||||
講義開講時期 | 秋学期 | ||||||
講義区分 | |||||||
基準単位数 | 2.00 | ||||||
時間 | 0 | ||||||
代表曜日 | 木曜日 | ||||||
代表時限 | 1時限 | ||||||
開講学科 | 情報処理学科 | ||||||
必選別 | 選択 | ||||||
履修セメスター | 第2セメスター | ||||||
その他 | e-Learning履修可 | ||||||
担当教員 | |||||||
|
講義概要 | |||||||||||||||||||||||||||||||||||||||||||||||||||
コンピュータに対して、情報を処理し問題を解決させる指示・命令群をプログラム、プログラムを開発することをプログラミングと呼ぶ。本講義は、プログラミング技術を学ぶ上で不可欠となる「アルゴリズムとデータ構造」について学ぶ科目である。 コンピュータは曖昧さを苦手とする。人間が柔軟に対処できることでも、明確な手順が指示されていなければ、コンピュータに仕事をさせることはできない。ここでいう“明確な手順”がアルゴリズムである。そしてもうひとつ、コンピュータに情報を扱わせる場合には、扱いたい情報をコンピュータ上でどのように表現するか、その構造(データ構造)も考えなければならない。プログラミングの実際においては、処理の内容や状況に応じて適切なアルゴリズムとデータ構造を検討する必要が生じる。つまり、「アルゴリズムとデータ構造」こそが、プログラムの両輪となるのである。 本講義では、コンピュータにおける情報の処理方法についてその基本から学習し、いくつかの代表的なアルゴリズム・データ構造を例にあげながら、アルゴリズムの動きを検証・理解する方法、及びその性能評価法を学習することで、エンジニアとして必須の論理的な思考・構成能力を高める。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||
到達目標 | |||||||||||||||||||||||||||||||||||||||||||||||||||
アルゴリズムとデータ構造とは何かという根本を理解した上で、基本的な処理の流れを流れ図や擬似言語で表現できる。また他者のアルゴリズムをトレースすることで、そのアルゴリズムの動作と意味を理解できる。 さらに、探索と整列の代表的なアルゴリズムについて、そのアイデアと特徴を理解し、アルゴリズムとして表現できる。また、配列・リンクトリスト・スタック・キュー・ヒープなどの代表的なデータ構造の特徴を説明でき、アルゴリズムに利用することができる。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||
履修のポイント及び留意事項 | |||||||||||||||||||||||||||||||||||||||||||||||||||
本授業は、情報処理技術者試験「基本情報技術者試験」における、アルゴリズム、プログラム設計、プログラム作成能力に関する内容に関係するほか、本学が実施する「基本情報技術者試験」午前試験免除認定講座の一部である。 また、e-Learningとして履修する場合は、担当教員に事前に申し出るとともに、教材の閲覧や課題の提出だけでなく、定期的なメンタリング指導を受けることが求められることに留意すること。授業の一部をe-Learningで履修することも可能であるので、担当教員と相談すること。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||
講義日程 | |||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||
他の授業科目との関連 | |||||||||||||||||||||||||||||||||||||||||||||||||||
本授業で学んだアルゴリズムとデータ構造を、各プログラミング言語で実際に実現(実装)することは、内容理解の上で非常に重要である。ゆえに、プログラミング関係の授業「プログラミング基礎」「プログラミング1」「プログラミング2」を受講することを強く推奨する。 また、コンピュータのハードウェア・ソフトウェアに関して、「コンピュータシステム」「専門ゼミナール1(宮川)」を履修済みであれば、さらに理解が深まるだろう。 そのほか、ソフトウェア開発プロセス全体について学ぶ「情報処理2」を履修すれば、システム開発におけるプログラミングの位置づけが明確になることが期待される。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||
評価方法 | |||||||||||||||||||||||||||||||||||||||||||||||||||
平常点(出席・課題等)30%+定期試験結果70%を基本点として、授業への取り組み姿勢を勘案した総合評価を行う。 | |||||||||||||||||||||||||||||||||||||||||||||||||||
教科書 | |||||||||||||||||||||||||||||||||||||||||||||||||||
基本情報技術者 大滝みや子先生のかんたんアルゴリズム解法 〜流れ図と擬似言語〜 | |||||||||||||||||||||||||||||||||||||||||||||||||||
ISBN番号 | |||||||||||||||||||||||||||||||||||||||||||||||||||
ISBN4-89797-605-7 | |||||||||||||||||||||||||||||||||||||||||||||||||||
参考図書 | |||||||||||||||||||||||||||||||||||||||||||||||||||
平成22年度イメージ&クレバー方式でよくわかる栢木先生の基本情報技術者教室 (技術評論社) アルゴリズムC(新版) 著者:R.セジウィック (近代科学社) |
|||||||||||||||||||||||||||||||||||||||||||||||||||
オフィスアワー(授業相談) | |||||||||||||||||||||||||||||||||||||||||||||||||||
随時、宮川の研究室に直接訪問して良い。また、Web教材における質問相談フォーラムを活用することを推奨する。 | |||||||||||||||||||||||||||||||||||||||||||||||||||
学生へのメッセージ | |||||||||||||||||||||||||||||||||||||||||||||||||||
プログラミング関係の授業にも関わらず「コンピュータを触らない」ことに違和感を感じるかもしれない。闇雲にコンピュータの前に座ってキーボードを叩いているだけでは、良いプログラムを作成することはできないということを、この授業を通じて理解して欲しい。 プログラマやシステムエンジニア、もしくは情報工学分野への進学を検討している学生には受講を強く推奨する。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||
授業用E-mail | |||||||||||||||||||||||||||||||||||||||||||||||||||
miyakawa@ftokai-u.ac.jp |