山梨大学電子シラバス>検索結果一覧>授業データ



授業科目名 組込みプログラミングI
時間割番号 TJM114
担当教員名 森澤 正之
開講学期・曜日・時限 後期・火・III 単位数 2
<対象学生>
(未登録)
<授業の目的>
「プログラミング入門」ではプログラミングの基礎を学びましたが、本科目では、手続き型プログラミングの知識の大半を学ぶことで、実際のプログラムを作成するために必要な知識と技術を習得します。具体的には、構造体やポインタを含むC言語のデータ型、線形リストなどの動的データ構造、再帰プログラミング、ソートなどのアルゴリズムなどの理解と活用を目標とします。
 なお、同時開講する「組み込みプログラミングI演習」において、その知識を活用するスキルの習得を行います。
<本授業科目による獲得・涵養が特に期待されるコンピテンシー>(能力・資質)
工学部>メカトロニクス工学科向け
記号コンピテンシー(能力・資質) 
JM-A専門2.三分野での活躍を目指す技術者・研究者にとって必要な基礎知識と技術C言語による基本的(データ型、制御構造、関数等)なプログラムが作成でき、組込み用マイコンの基本的なI/O制御プログラムをマイコンの概要と動作の理解の上で作成できる。
JM-B3.三分野のうち、一つ以上のより専門的な技術と知識。少なくとも一分野の技術と知識を十分に身につけ、さらに一つ以上の分野の技術と知識も身につける。2.電気分野動的変数、再帰関数などを用いた線形リスト、木構造、ソートのプログラムが書ける。
JM-C3.情報分野動的変数、再帰関数などを用いた線形リスト、木構造、ソートのプログラムが書ける。
JM-D組込みシステムにおいて、ソフトウェアを開発することができる。
<到達目標>  到達目標とは
目標NO説明コンピテンシーとの対応
JM
1構造体とポインタを使った基本的なプログラムが作成できる。JM-A
2動的メモリ確保とメモリリリースができ、動的変数を使った基本的なプログラムと配列的な使い方ができる。JM-B
3自己参照構造体を使って線形リストやスタック・キューのプログラムが作成できる。JM-C
4線形探索,二分探索,ハッシュ法のアルゴリズムを説明でき、プログラムが作成できる。JM-B
5再帰関数を使った基本的なプログラムが作成できる。JM-C
6ソートのアルゴリズムを説明でき、クイックソートや分布数え上げソートのプログラムが作成できる。JM-D
<成績評価の方法>
目標No割合評価の観点
110%構造体とポインタを使った基本的なプログラムが作成できることを中間試験などで評価する。
215%動的メモリ確保とメモリリリースができ、動的変数を使った基本的なプログラムと配列的な使い方ができることを中間試験などで評価する。
320%自己参照構造体を使って線形リストやスタック・キューのプログラムが作成できることを中間試験などで評価する。
415%線形探索,二分探索,ハッシュ法のアルゴリズムを説明でき、プログラムが作成できることを期末試験などで評価する。
520%再帰関数を使った基本的なプログラムが作成できることを期末試験などで評価する。
620%ソートのアルゴリズムを説明でき、クイックソートや分布数え上げソートのプログラムが作成できることを期末試験などで評価する。
合計100% 
<授業の方法>
・本科目は反転授業形式で行います。受講者は事前に準備された動画資料の視聴とそのノート作成や理解度チェック問題を行ってから授業に参加してもらいます。また、授業のほとんどの時間は、グループワークなどのアクティブラーニングの学習活動を行ないます。
・本科目は「プログラミング入門」(1年次前期)の知識を前提とします。
・本科目は同時開講する「組み込みプログラミングI演習」と密接に関連します。本科目を履修する場合は「組み込みプログラミングI演習」も履修してください。
<受講に際して・学生へのメッセージ>
1年次開講科目「プログラミング入門」と比べると、難度がかなり上がります。しっかり勉強してください。
<テキスト>
  1. 柴田望洋, 新明解C言語 実践編, ソフトバンククリエイティブ, ISBN:978-4-7973-8410-9
<参考書>
  1. 柴田 望洋,, 新・明解C言語で学ぶアルゴリズムとデータ構造, ソフトバンククリエイティブ, ISBN:978-4-7973-9052-0
<授業計画の概要>
1タイトル関数の復習・構造体の基本
事前学習
事後学習
【事前学習】特になし
【事後学習】授業内容の振り返りを行う
授業内容C言語の関数の使い方を復習する。次に構造体とは何かを学び,その基本的な使い方を習得して簡単なプログラムが作成できるようになるためのグループワークを行う。
2タイトル構造体の配列・ポインタの基本
事前学習
事後学習
【事前学習】講義動画資料を視聴して、ノートを作成する。さらにオンラインの理解度チェック問題を行う。
【事後学習】授業内容の振り返りを行う
授業内容構造体の配列を用いたプログラムについて学ぶ。次に、ポインタ基本を学び、ポインタを用いて変数を操作できるようになるためのグループワークを行う。
3タイトルポインタと配列・メモリの動的割り当て
事前学習
事後学習
【事前学習】講義動画資料を視聴して、ノートを作成する。さらにオンラインの理解度チェック問題を行う。
【事後学習】授業内容の振り返りを行う
授業内容ポインタを使った配列変数の操作について学ぶ。次に、動的変数について学び、それを用いた基本的なプログラムを作成方法を学ぶ。
4タイトル構造体に対するポインタ
事前学習
事後学習
【事前学習】講義動画資料を視聴して、ノートを作成する。さらにオンラインの理解度チェック問題を行う。
【事後学習】授業内容の振り返りを行う
授業内容自己参照構造体の定義と構造体へのポインタを使った基本的なプログラムを作成について学ぶ。また、関数の引数にポインタ変数を使ったときの動作を学ぶ。
5タイトル線形リスト1
事前学習
事後学習
【事前学習】講義動画資料を視聴して、ノートを作成する。さらにオンラインの理解度チェック問題を行う。
【事後学習】授業内容の振り返りを行う
授業内容線形リストとそのデータ構造について学ぶ。線形リストの基本的な操作の説明ができるようになるためのグループワークを行う。
6タイトル線形リスト2
事前学習
事後学習
【事前学習】講義動画資料を視聴して、ノートを作成する。さらにオンラインの理解度チェック問題を行う。
【事後学習】授業内容の振り返りを行う
授業内容線形リストをさらに学んで習熟し、応用的な挿入や削除などのプログラムを作成できるようになるためのグループワークを行う。
7タイトル中間試験とこれまでの振り返り
事前学習
事後学習
【事前学習】 第1回からこれまでの授業の内容を復習する
授業内容中間試験とこれまでの総括や振り返りを行う。
8タイトルスタックとキュー・データベースの基礎
事前学習
事後学習
【事前学習】講義動画資料を視聴して、ノートを作成する。さらにオンラインの理解度チェック問題を行う。
【事後学習】授業内容の振り返りを行う
授業内容スタックとキューについて学ぶ。また、データベース(表)と探索の基本を学ぶ。
9タイトル探索アルゴリズム(線形探索,二分探索,ハッシュ探索)
事前学習
事後学習
【事前学習】講義動画資料を視聴して、ノートを作成する。さらにオンラインの理解度チェック問題を行う。
【事後学習】授業内容の振り返りを行う
授業内容線形探索,二分探索,ハッシュ法(チェイン法)のアルゴリズムを学ぶ。それらについて説明でき、そのプログラムをかけるようになるためのグループワークを行う。
10タイトル再帰プログラミング1
事前学習
事後学習
【事前学習】講義動画資料を視聴して、ノートを作成する。さらにオンラインの理解度チェック問題を行う。
【事後学習】授業内容の振り返りを行う
授業内容再帰プログラミングの基礎を学び、漸化式を再帰関数を用いてプログラミングできるようになるためのグループワークを行う。
11タイトル再帰プログラミング2
事前学習
事後学習
【事前学習】講義動画資料を視聴して、ノートを作成する。さらにオンラインの理解度チェック問題を行う。
【事後学習】授業内容の振り返りを行う
授業内容一般的な再帰プログラミングについて学ぶ。再帰を用いたプログラムを作成できるようになるためのグループワークを行う。
12タイトルクイックソート1
事前学習
事後学習
【事前学習】講義動画資料を視聴して、ノートを作成する。さらにオンラインの理解度チェック問題を行う。
【事後学習】授業内容の振り返りを行う
授業内容クイックソートのアルゴリズムを学ぶ。
13タイトルクイックソート2
事前学習
事後学習
【事前学習】講義動画資料を視聴して、ノートを作成する。さらにオンラインの理解度チェック問題を行う。
【事後学習】授業内容の振り返りを行う
授業内容クイックソートのプログラムについて学び、それを作成できるようになるためのグループワークを行う。
14タイトル分布数え上げソート
事前学習
事後学習
【事前学習】講義動画資料を視聴して、ノートを作成する。さらにオンラインの理解度チェック問題を行う。
【事後学習】授業内容の振り返りを行う
授業内容分布数え上げソートのアルゴリズムについて学ぶ。
15タイトル総括・まとめ・振り返り
事前学習
事後学習
【事前学習】中間試験以降の授業の内容を復習する。
授業内容期末試験を行う。
全体のまとめ・総括と振り返りを行う。
<備考>
(未登録)