授業情報/Course information

開講学期/Course Start 2022年度/Academic Year   前期/First
開講曜限/Class period 月/Mon 5 , 月/Mon 6
授業区分/Regular or Intensive 週間授業
対象学科/Department システム理化学科数理情報システムコース
対象学年/Year 3年 , 4年
授業科目区分/Category 教育課程 システム理化学科
必修・選択/Mandatory or Elective 必修
授業方法/Lecture or Seminar 演習科目
授業科目名/Course Title 情報学基礎演習B/Informatics Basic Practice B
単位数/Number of Credits 1
担当教員名/Lecturer 髙岡 旭 (システム理化学科数理情報システムコース) , 鈴木 元樹 (システム理化学科数理情報システムコース)
時間割コード/Registration Code J4133
連絡先/Contact 髙岡 旭(E-mail: takaoka_at_mmm.muroran-it.ac.jp (_at_を@に変えてください))
オフィスアワー/Office hours 髙岡 旭(特に指定しない.面談などを希望する場合,まずメールで連絡をすること.)
実務経験/Work experience
更新日/Date of renewal 2022/02/28
授業のねらい
/Learning Objectives
プログラムはデータ構造とアルゴリズムから構成されている.基本的なアルゴリズム問題に取り組むことにより,数理情報の問題を解くプログラミングの構造的な基本を獲得することを目指す.
到達度目標
/Outcomes Measured By:
1.ユークリッドの互除法,及び基本的なデータ構造であるスタック,キュー,リスト構造,木構造について理解し,プログラムとして実装することができる.
2.各種の整列アルゴリズムと探索手法について理解し,プログラムとして実装することができる.
授業計画
/Course Schedule
総授業時間数(実時間):45分×2時限×15回=22.5時間

第1回:データ構造とアルゴリズムの復習
第2回:Cプログラミング1(ポインタ)
第3回:Cプログラミング2(構造体,メモリの動的確保)
第4回:Cプログラミング3(文字列,ファイル入出力)
第5回:ユークリッドの互除法
第6回:多項式の計算方法
第7回:繰り返しと再帰構造
第8回:データ構造1(スタック・キューの実現)
第9回:データ構造2(リスト構造・木構造の実現)
第10回:数理情報に関する演習前半課題
第11回:整列手法1(バブルソート・選択ソート・挿入ソート・シェルソートの作成)
第12回:整列手法2(マージソート・クイックソートの作成)
第13回:探索手法1(線形探索法の作成)
第14回:探索手法2(2分線形探索法の作成)
第15回:数理情報に関する演習後半演習課題

(定期試験は実施しない)

※授業時間だけでなく,計算機室の開放時間も有効活用して,主体的に演習に取り組み,自習するようにしてください.

※各回の学修時間の目安は,事前・事後合わせて4時間必要です.

※新型コロナウイルス感染症の流行状況に伴い,学生への十分な周知のもと,授業計画・授業実施方法を変更する可能性があります.
教科書
/Required Text
C言語によるはじめてのアルゴリズム入門 河西朝雄著  技術評論社 2017(ISBN:9784774193731)
参考書等
/Required Materials
やさしく学べるC言語入門 : 基礎から数値計算入門まで 皆本晃弥著  サイエンス社 2015(ISBN:9784781913599)
プログラミング言語C : ANSI規格準拠 B. W. カーニハン, D. M. リッチー著 ; 石田晴久訳  共立出版 1994プログラミング言語C : ANSI規格準拠 B. W. カーニハン, D. M. リッチー著 ; 石田晴久訳  共立出版 1989(ISBN:9784320026926)
教科書・参考書に関する備考 上記の他,必要に応じて資料を配布する.
成績評価方法
/Grading Guidelines
学習目標1について提出されたレポートとソースコードにて評価する(50%).
学習目標2について提出されたレポートとソースコードにて評価する(50%).

総合100%のうち,60%以上の場合に合格とする.

新型コロナウイルス感染症の流行状況に伴い、学生への十分な周知のもと、成績評価方法は変更する可能性があります。
履修上の注意
/Notices
・関連科目であるデータ構造とアルゴリズム,及び情報学基礎演習Aで扱った内容は既に知っているものとして授業を行う.必要ならば復習しておくこと.
・C言語の文法のうち,入出力,演算,制御構文(if文,while文,for文),配列(一次元配列,多次元配列),及び関数は既に知っているものとして授業を行う.必要ならば復習しておくこと.
・出欠席は評価対象としない.
・授業の変更や緊急時の連絡は授業中またはMoodleで通知する.
・個別連絡の場合,大学から配布されたメールアドレスへ通知することがある.
・不合格となった者は,再履修すること.
教員メッセージ
/Message from Lecturer
・新型コロナウイルス感染症の流行にそなえて,学生には各自,自宅でC言語を学習できる環境(C言語で書かれたプログラムをコンパイル・実行できる環境)を整えることを推奨します.
学習・教育目標との対応
/Learning and Educational Policy
学生便覧「学習目標と授業科目との関係表」参照
関連科目
/Related course
プログラミング演習,データ構造とアルゴリズム,情報学基礎演習A
No. 回(日時)
/Time (date and time)
主題と位置付け(担当)
/Subjects and instructor's position
学習方法と内容
/Methods and contents
備考
/Notes
該当するデータはありません
Active learning 1-1
/主体的学修(反転授業,小テスト,振り返り 等)
各自でプログラム作成を行う.
Active learning 1-2
/上記項目に係るALの度合い
50%超
Active learning 2-1
/対話的学修(グループ学習,協働,調査体験 等)
該当なし
Active learning 2-2
/上記項目に係るALの度合い
該当なし
Active learning 3-1
/深い学修(複数科目の知識の総合化や問題解決型学修 等)
該当なし
Active learning 3-2
/上記項目に係るALの度合い
該当なし