シラバス参照

講義名 データ構造とアルゴリズム論(遠隔授業) 
英文科目名 Data Structures and Algorithms 
科目ナンバー K00EXP3231 
担当者

森田 彦

科目群 コース科目群 
対象学年 3年 
単位数
開講期間 後期 
曜日・時限・教室 後期 水曜日 1講時 遠隔授業



授業のねらい
 プログラミングⅠ・Ⅱにおいて、Java言語を用いたプログラムの記述の仕方を学習しました。しかし、実際のプログラムを作成する際にはそれだけでは不十分です。例えば「100人分のテストの得点をデータとして読み込み、そのランキング表を作る、つまり得点の高い順に並べて表示する。」という処理を考えた場合、
1.100人分のデータをどのように(プログラム中で)表現するか
2.得点の高い順に並べ替える処理はどのように記述できるか
という点を明らかにしなければプログラムを作成する事はできません。ごく大まかに言えば、1.が「データ構造」の問題で、2.のようにある処理の手順を考える事が「アルゴリズム」の問題です。つまり「データ構造とアルゴリズム」の理解がなければ実際のプログラムを作成する事ができないのです。
 本講義では、プログラミングの世界でよく現れる代表的なアルゴリズムとデータ構造を理解する事にねらいを置きます。プログラミングI・IIを履修して、もう少し自分の考えでログラムを作成できるようになりたいと考えている学生を対象に学習内容を用意します。 
履修者が到達すべき目標
 以下の点を到達目標に置いて学習して下さい。
・並べ替えや探索など、代表的なアルゴリズムの考え方を理解する。
・配列を始め、リスト構造や木構造などやはり代表的なデータ構造の定義と、そのようなデータ構造がどのような処理に適しているのかを理解する。
・基礎的なアルゴリズムとそれに適したデータ構造を組み合わせれば、高度な処理でも実現できる、ということをイメージできるようになる。 
授業の進め方
学修上の助言
 遠隔授業のオンデマンド形式で行います。この方式をとるのは、受講生それぞれの理解度に応じて教材を学習できる環境が効果的と判断したからです。そのような環境を実現するため、学習教材や課題等は全てMoodleのコース上に掲載します。毎週、まずは当該週の学習ポイントを解説したスライドをよく確認して下さい。その上で、学習内容の詳細と課題を記したプリントをよく読み、Moodle上に用意した課題に解答して下さい。質問等があればメールで受け付けます。正解すれば課題提出となり、同時に当該週の出席となります。演習課題としては「基礎課題」と「応用課題」の2種類用意します。毎週新たな単元を学習し、その理解を前提に翌週以降の学習を進めるという様に、1週毎に学習内容を消化して行くという形式をとっているので、学習ペースがつかみやすい反面、当該週の学習を翌週に積み残すと連鎖的に以降の学習に影響を及ぼすことになります。したがって、1週でも課題提出を怠ると挽回が困難になります。履修学生はその点を自覚して下さい。 
アクティブ・ラーニングの要素の有無
毎回、学習内容に則したMoodle上の課題に取り組み、正解するまで解答してもらいます。 
ICTを活用した双方向型授業の有無
メールを通じて質問を受け付けます。また、必要な場合は、テレビ会議システムを用いたオンライン相談コーナーにより、オンラインで指導します。 
授業内容・計画
回数 授業、事前・事後学修の内容 時間
1 事前   シラバス記載内容の確認  2.0 
授業   講義ガイダンス+「プログラミング」の復習課題 
事後   復習課題の再確認  2.0 
2 事前   Moodleに掲載している学習プリントの事前確認  2.0 
授業   第1章 アルゴリズムの表現 -流れ図 
事後   学習内容の復習(課題プログラムの作成を含む)  2.0 
3 事前   Moodleに掲載している学習プリントの事前確認  2.0 
授業   第2章 配列を使った処理 
事後   学習内容の復習(課題プログラムの作成を含む)  2.0 
4 事前   Moodleに掲載している学習プリントの事前確認  2.0 
授業   第3章(前半) ファイルを用いたデータ入出力1 
事後   学習内容の復習(課題プログラムの作成を含む)  2.0 
5 事前   Moodleに掲載している学習プリントの事前確認  2.0 
授業   第3章(後半) ファイルを用いたデータ入出力2 
事後   学習内容の復習(課題プログラムの作成を含む)  2.0 
6 事前   Moodleに掲載している学習プリントの事前確認  2.0 
授業   第4章 レコード構造を使った処理 
事後   学習内容の復習(課題プログラムの作成を含む)  2.0 
7 事前   これまでの学習の総復習  2.0 
授業   第1回理解度確認テストと(テスト内容に関連した)課題 
事後   正答できなかった箇所を中心とした復習  2.0 
8 事前   Moodleに掲載している学習プリントの事前確認  2.0 
授業   第5章(前半) 整列(ソート)のアルゴリズム1 
事後   学習内容の復習(課題プログラムの作成を含む)  2.0 
9 事前   Moodleに掲載している学習プリントの事前確認  2.0 
授業   第5章(後半) 整列(ソート)のアルゴリズム2 
事後   学習内容の復習(課題プログラムの作成を含む)  2.0 
10 事前   Moodleに掲載している学習プリントの事前確認  2.0 
授業   第6章 探索のアルゴリズム 
事後   学習内容の復習(課題プログラムの作成を含む)  2.0 
11 事前   Moodleに掲載している学習プリントの事前確認  2.0 
授業   第7章 再帰処理 
事後   学習内容の復習(課題プログラムの作成を含む)  2.0 
12 事前   Moodleに掲載している学習プリントの事前確認  2.0 
授業   第8章 連結リスト 
事後   学習内容の復習(課題プログラムの作成を含む)  2.0 
13 事前   Moodleに掲載している学習プリントの事前確認  2.0 
授業   第9章 木構造 
事後   学習内容の復習(課題プログラムの作成を含む)  2.0 
14 事前   Moodleに掲載している学習プリントの事前確認  2.0 
授業   第10章 スタックとキュー 
事後   学習内容の復習(課題プログラムの作成を含む)  2.0 
15 事前   これまでの学習の総復習  2.0 
授業   第2回理解度確認テストとまとめ 
事後   正答できなかった箇所を中心とした復習  2.0 
授業科目に関連する実務経験の内容とその経験を活かした授業の展開
実務経験なし。 
成績評価の基準と方法
課題に対するフィードバックの方法
 成績は、基礎課題50%、2回のテストの平均点50%でつけます。これに応用課題を1題提出するごとに1点加点します。
 例えば基礎課題を全て提出し、テストの平均点が50点、応用課題を5題提出した場合は、
成績=50+25+5=80
となります。こうして算出した「成績」が60点未満の場合は、単位を取得することができません。 
テキスト
No 著者名 書籍名 出版社 ISBN/ISSN
1.   『教科書は用いません。』     
参考文献
No 著者名 書籍名 出版社 ISBN/ISSN
1. 近藤嘉雪  『Javaプログラマのためのアルゴリズムとデータ構造』  ソフトバンクパブリッシング  ISBN 4-7973-2660-3 
関連ページ
1. 「データ構造とアルゴリズム論」  https://moodle.sgu.ac.jp/course/  札幌学院大学オンラインキャンパス上のコース 
2. 教育研究業績  http://researchmap.jp/read0021721   
備考
1.「プログラミングI・II」の学習内容の理解が、受講の前提となります。したがって同科目を修得していない学生の履修は困難です。
2.Javaプログラム開発環境を自己所有のノートPCにインストールし、それを用いて学習することを奨めます。要領はMoodleのコースに掲載します。
3.本科目で学習する内容は、情報処理技術者試験の中の「ITパスポート試験」および「基本情報技術者試験」のテクノロジ系にある「アルゴリズムとプログラミング」分野に該当します。これらの資格取得を希望する学生は受講すると役立ちます。 
教員e-mailアドレス
hiko"あっとマーク"sgu.ac.jp 
オフィスアワー
月曜日の昼休み(12:30~13:00)
水曜日の昼休み(12:30~13:00)
 場所:いずれも森田研究室(S-502) 
画像
ファイル


PAGE TOP