Algorithms and Data Structures

アルゴリズムとデータ構造A,B

情報理工学部情報システム工学科2年次(再履修クラス)(2014年度)

アルゴリズムとデータ構造A:春学期月曜日5限
アルゴリズムとデータ構造B:春学期金曜日4限

担当:磯 直行


「アルゴリズムとデータ構造」の講義情報が書かれています.

情報系学科では下記の科目が就職や資格試験での必須の内容ですので,必ず修得してください.


講義概要

コンピュータゲームの開発やロボットの操作,携帯電話やカーナビ ゲーションシステムなど,電子的な機械(コンピュータ)を自由に操るためには, ハードウェアの知識だけでなく,ソフトウェアとしての

プログラミングの知識は欠かすこと ができない

もしこのようなマルチメディア機器を自由に扱うことができなけれ ば,作ったゲームは面白くもなく,作品もつまらないものになって しまう.
プログラム技術を少し学べばちょっとした簡単なプログラムは書けるよう になるが,

少し複雑になるとプロのプログラマで もいきなりプログラミングするのは難しい

状況になる.これは,

「アルゴリズム」+「データ構造」=「プログラミング」

と言われるように,「アルゴリズム」と「データ構造」をしっかり 考えてからでないとプログラムを作ることができないからである.

頭の中ではできるのにプログラ ミングができない

と思っている人は

「プログラミングが苦手」と思い込んでいるだけ

で,うまくプログラミングするコツを知らないだけなのである.

誰もが知っているように

「コツ」はプログラミングを行った時間(経験)により習得できるもの

である.つまり単にプログラミングの練習が不足しているだけである.

自転車に補助輪なしで乗れるよう に何度も練習

したり,

漢字を覚えるために同じ漢字を何 度も書いて書きとり練習

したことを思い出してプログラミングも多少強制的に練習をしよう.

時にはプログラミングで悩むこともあるが,

自分で作ったプログラムが思う通 りの動作をした時は感動ものである.
(自転車の場合は怪我をすることもあるが,乗れた時は感動する!)

そして,そう思える頃には

知らないうちにプログラミング技術が身についている

はずである.

本講義では

「アルゴリズム」とそれを実現するために必要な「データ構造」 について学ぶ.

アルゴリズムの随所に現れる基本的なデータ構造をプログラミング しながら理解を深める.

そのため,本講義では

プログラミング能力に応じたクラス分け

を行って講義を進める.よって,

プログラミングの実力がない人は
ベーシッククラスに所属し,
アルゴリズムとデータ構造の知 識と基本プログラミング技術の習得を,

プログラミングの実力がある人は
アドバンストクラスに所属し,
アルゴリズムとデータ構造の知 識と応用プログラミング技術の習得を

目的とする. もちろん,

全員がアドバンストクラスに所属することが望ましい.

最後に,「データ構造」と「アルゴリズム」は

「就職試験」や「情報処理技術者試験」等の情報系の試験には
必ず 出題されるほど基本中の基本

の事項なので,ぜひ頑張ろう.

自転車の話で例えれば,

「プログラミング」は「運転をするための練習」
「アルゴリズムとデータ構造」の講義は「うまく運転するための知識の修得」

のことである.

「へたくそのまま運転(プログラミング)されてはみんなが迷惑」

なので,

「しっかりアルゴリズムとデータ構造(知識)を習得しよう!」

これが情報の世界で「アルゴリズムとデータ構造」がとても重要で,必修科目になっている理由である.
「プログラミング」はプログラミング言語が変わっても練習す れば良いが,

「アルゴリズムとデータ構造」はプログラミング言語が変わっても 一切変わらない根本原理

であることにも注意しよう.


講義に関する情報

講義の方法や講義日程等についての情報が書かれています.

実習に関する情報

実習課題や,実習方法が書かれています.

単位修得の方法

最初の講義でも問い合わせますが, 「2006年度以前入学生」についてはカリキュラム・担当者の違 いから特別対応を行ないます.必ず申し出て下さい.

2007年度以降入学生

履修方法
「アルゴリズムとデータ構造A」と 「アルゴリズムとデータ構造B」はペアの科目です. 2科目を同時に履修してください.
定期試験
基本的に講義で行った内容について,定期試験で評価します. 試験はあくまで「アルゴリズムとデータ構造」に関する内容のみ出題します (プログラミング技術に関する内容は,「プログラミング」の担当 なので出題しません). 60点が合格点です(出席が不足して受験資格がない場合や,60点に満たない場合は不合格になります).
出席
毎回出席をとります.出席確認の時間は講義毎に異なります. 遅刻やトイレ等でその場にいないときは欠席と判定します.学生便 覧にも記載されている通り,出席の数が総授業時間数の3分の2以 上出席していない時は定期試験の受験資格を失うので注意します(定期試験を 受験しても合格できません).
なお,出席は基本的に成績には影響せず,定期試験の受験資格以外には使用しません.
レポート
プログラミング実習の結果を毎回レポートとして提出します.
合格の条件は,全ての課題を「期限内に提 出し受理されること」です.「提出」しただけでは合格で きません.必ず「受理」されることが必要です
レポートが期限までに提出されていても,著しい内容不足等があっ た場合には受理されないことあります. 受理されない場合には,レポートを返却し,期限を定めて「 再提出」を求めます.指定された再提出期限までに必ず提出してください.
また,「期限後の提出」や「提出場所間違い」は提出されていないことと みなされます(不合格になります).
なお,病気や,忌引き,国代表する競技会参加等によりレポートが提出で きなかった場合には,診断書,葬式案内,競技会参加者名簿等の証 拠書類の提出があれば提出期限を延長します.相談してください. 就職活動や国代表以下の部・サークル活動は,正当な理由ではあり ません.上記の受験資格を失わない範囲で自己責任の上で欠席してくだ さい.
このちょっと厳しめのレポート提出は,社会に出てから 「契約を守る」=「約束を守る」ことの練習を兼ねています.まだ 学生だから,という甘えは許されません. なお,以前行なっていた「クラス分け試験」は実施しません.
評価
定期試験をはじめとして,レポートの提出,プログラミング実習等 に関する評価をもとに 「アルゴリズムとデータ構造A,B」の成績が決まります. (アルゴリズムとデータ構造A,Bともに同じ成績になります)
定期試験の結果が合格点(60点)に到達しない場合や,1度でも レポートの提出が遅れたり,受理されなかったレポートが再提出期限まで に提出されなかった場合は,アルゴリズムとデータ構造A,Bとも不合格になります (片方のみ合格や片方のみ不合格と言うことはありません).
なお,出席は基本的に定期試験の受験資格取得(3分の2以上の出 席)の場合にのみ使用しますが,試験結果がボーダーライン上の場 合も考慮します.

2006年度以前入学生

基本的に前記の2007年度以降入学生と同様です.
ただし, 「アルゴリズムとデータ構造A(旧科目名:アルゴリズムとデータ構造)」, 「アルゴリズムとデータ構造B(旧科目名:アルゴリズムとデータ構造実習)」のい ずれか一方のみ合格している学生は必ず4月中に申し出て下さい. 特別対応を行います.

特別対応=「定期試験60点以上」または「レポートをすべて期限内に提出」のいずれかを満足
(どちらにするかは各自で決めて良い,もちろん両方ともクリアす ることを狙うとなお良い.4月中に必ず申し出ること)
出席は成績考慮しない.

(講義で多くの指示が出るのですべての講義に出席することが望ま しいが,自己責任で現役の学生と連絡を密にすることで対応して も良い.
過去の実績から言うと講義に出席していない学生はほぼ不合格となる 傾向があるので注意すること.
なお,レポート提出を選んだ場合は,再提出を含め,他の学生と同 様に指定された提出期限を守っていただきます.)

特別対応登録者リスト

アルゴリズムとデータ構造Aのみ受講者

アルゴリズムとデータ構造Bのみ受講者 (このリストに登録されていない人は特別対応が適用されず,現役 生と同じ扱いになります.4月末日までに教員まで直接申し出て下さい.)
2008.03.31.
2014.04.07.(最終更新)
fmiso at sist.chukyo-u.ac.jp