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



授業科目名 組込みプログラミングI演習
時間割番号 UJM209
担当教員名 西﨑 博光/森澤 正之/レオ チー シャン
開講学期・曜日・時限 前期・火・I 単位数 2
<対象学生>
工学科2年次以上
<授業の目的>
同時開講科目「組込みプロブラミングI」で学ぶ内容に関して,コンピュータ端末を用いたC言語のプログラミング演習を行う科目である。本科目では,C言語のデータ型,データ構造とアルゴリズム,手続き表現の基本と,プログラムをコーディングするのに必要とされる知識と応用技術を習得することを目標とする。本科目を合格で修了したものは,C言語の基礎プログラミングができると言っても良い。なお,本科目で習得したプログラミング技術は,後続科目である「組込みプログラミングII」「メカトロニクス実習III(情報)」でも用いるため,全学生が習得することが望ましい。
<本授業科目による獲得・涵養が特に期待されるコンピテンシー>(能力・資質)
工学部>工学科向け
記号コンピテンシー(能力・資質)説明 
工-A専門②専門的知識専門分野の基礎的知識を体系的に理解して説明
<到達目標>  到達目標とは
目標NO説明コンピテンシーとの対応
工学
1C言語における構造体・ポインタの基礎的なプログラミング技法を理解し、実装できる。工-A
2C言語における各種データ構造(スタックやキューなど)を理解し、関連するアルゴリズムをC言語で実装できる。工-A
3C言語における各種アルゴリズム(ソートや探索)について理解し、関連するアルゴリズムをC言語で実装できる。工-A
<成績評価の方法>
目標No割合評価の観点
120%演習課題ならびに試験で理解度ならびにプログラミングスキルを評価する。
240%演習課題ならびに試験で理解度ならびにプログラミングスキルを評価する。
340%演習課題ならびに試験で理解度ならびにプログラミングスキルを評価する。
合計100% 
<授業の方法>
本科目の履修者は「プログラミング入門」(1年次前期開講,2024年度より「C言語プログラミング」に振替)の単位を取得しており,C言語の基礎知識を持っていることを前提として進める。本授業の履修者は,C言語プログラミングを復習して望むこと。

教育方法・授業方法は次のとおりである。
- 毎回,C言語のプログラミング課題を課し,その課題を取り組む形で授業を進める。
- ほとんどの単元で事前学習を必須とする。事前に授業ビデオを公開し,受講生は授業開始前々までにビデオを視聴し,事前課題に取り組んでおく。
- 授業内容よっては,学生による発表を実施する。
- 試験は実技試験形式(その場で出題されたお題に対するプログラムを時間内に完成させる)とする。
<受講に際して・学生へのメッセージ>
授業期間の開始前までにC言語プログラミングを復習しておいてください。
質問がない場合は「分かっている」と解釈して授業を進めるので,分からないことはきちんと質問するようにしてください。
本授業では,教員が作成したスライド資料を提供するため,教科書はありません。
<テキスト>
(未登録)
<参考書>
  1. 柴田望洋著, 新・明解C言語で学ぶアルゴリズムとデータ構造 第2版, SBクリエイティブ, ISBN:9784815609788,
    (2021年出版)
<授業計画の概要>
1タイトルC言語復習(制御構造・配列・キーボードからのデータ入力・関数)
事前学習
事後学習
事前学習:特になし
事後学習:プログラミング演習課題
授業内容「プログラミング入門」(1年次前期開講)の復習を行う。forやifなどの制御構造,変数・配列,キーボードからのデータ入力,関数について再学習を行う。C言語でのこれらの基礎的内容について再確認し,プログラムが実装できることが目標である。
2タイトル関数(配列の受け渡し)・変数のスコープ
事前学習
事後学習
事前学習:事前配布のビデオによる予習
事後学習:プログラミング演習課題
授業内容C言語の関数についての理解を深める。変数と配列を関数に渡す方法の理解,変数の寿命について理解し,プログラムが実装できることが目標である。
3タイトル模擬コーディング試験の実施・構造体
事前学習
事後学習
事前学習:事前配布のビデオによる予習
事後学習:プログラミング演習課題
授業内容中間・期末試験で実施するコーディング形式の試験のために,本番と同等の条件で試験の練習を行う。また,C言語の構造体について理解をし,プログラムが実装できることが目標である。
4タイトル第1回中間評価とまとめ
事前学習
事後学習
事前学習:試験のための試験勉強
事後学習:なし
授業内容1~3回目の授業内容に関して,C言語プログラミングの試験(コーディング形式の試験)を行う。この試験を通して,1~3回目に実施した内容についての理解を深めることも目標である。
5タイトルポインタとメモリの動的確保,文字列処理
事前学習
事後学習
事前学習:事前配布のビデオによる予習
事後学習:プログラミング演習課題
授業内容ポインタならびにポインタを使ったメモリの動的確保について理解をし,これらのプログラムが書けるようになることが目標である。また,C言語で文字列を扱う方法を理解し,これに関するプログラムが実装できることが目標である。
6タイトルポインタと関数・ポインタと配列・メモリ領域の解放・ 構造体に対するポインタ
事前学習
事後学習
ポインタを用いた関数の変数や配列の受け渡し,配列とポインタの関係,メモリの解放,構造体変数に対するポインタを使った操作に関して理解をし,これらのプログラムが実装できることが目標である。
授業内容事前学習:事前配布のビデオによる予習
事後学習:プログラミング演習課題
7タイトル線形リストの操作(データの追加・走査)
事前学習
事後学習
事前学習:事前配布のビデオによる予習
事後学習:プログラミング演習課題
授業内容ポインタとメモリの動的確保を用いて,データ構造の一種である線形リストを構築する方法を理解し,線形リストの構築および線形リストの内容を表示できるプログラムが実装できることが目標である。
8タイトル線形リストの操作(データの削除)
事前学習
事後学習
事前学習:事前配布のビデオによる予習
事後学習:プログラミング演習課題
授業内容線形リストの任意のデータを削除する方法を理解し,一部のデータの削除や全データを削除するプログラムを実装できるようになることが目標である。
9タイトル第2回中間評価とまとめ
事前学習
事後学習
事前学習:試験のための試験勉強
事後学習:なし
授業内容5~8回目の授業内容に関して,C言語プログラミングのコーディング試験を行う。この試験を通して,5~8回目に実施した内容についての理解を深めることも目標である。
10タイトルスタックとキュー
事前学習
事後学習
事前学習:事前配布のビデオによる予習
事後学習:プログラミング演習課題
授業内容データ構造の一種である,スタックとキューについて理解をし,動的配列を用いた方法と線形リストを用いた2通りの方法でこれらのデータ構造をC言語で実装できるようになることが目標である。
11タイトルファイル入出力と探索アルゴリズム(二分探索・ハッシュ法)
事前学習
事後学習
事前学習:事前配布のビデオによる予習
事後学習:プログラミング演習課題
授業内容探索アルゴリズムの一種である,二分探索法とハッシュ法のアルゴリズムを理解し,これらのアルゴリズムをC言語で実装できるようになることが目標である。また,多くのデータを扱うために,あらかじめファイルに定義してある情報を読み込んだり,ファイルに書き込んだりする方法を理解し,このプログラムを実装できるようになることが目標である。
12タイトル再帰プログラミング
事前学習
事後学習
事前学習:事前配布のビデオによる予習
事後学習:プログラミング演習課題
授業内容関数の再帰呼び出しを使ったプログラミングを学び,再帰呼び出しによって与えられた課題を解決するプログラムが書けるようになることが目標である。
13タイトルソーティングアルゴリズム(バブルソート・マージソート)
事前学習
事後学習
事前学習:事前配布のビデオによる予習
事後学習:プログラミング演習課題
授業内容ソーティングアルゴリズムの一種である,バブルソートとクイックソートアルゴリズムを理解し,これらのアルゴリズムをC言語で実装できるようになることが目標である。
14タイトルソーティングアルゴリズム(クイックソート)
事前学習
事後学習
事前学習:事前配布のビデオによる予習
事後学習:プログラミング演習課題
授業内容ソーティングアルゴリズムの一種である,クイックソートアルゴリズムを理解し,これらのアルゴリズムをC言語で実装できるようになることが目標である。
15タイトル期末評価とまとめ
事前学習
事後学習
事前学習:試験のための試験勉強
事後学習:なし
授業内容10~13回目の授業内容に関して,C言語プログラミングのコーディング試験を行う。この試験を通して,10~13回目に実施した内容についての理解を深めることも目標である。
<前年度授業に対する改善要望等への対応>
授業評価アンケート未実施
<備考>
(未登録)