プログラミング4

科目基礎情報

学校 松江工業高等専門学校 開講年度 令和03年度 (2021年度)
授業科目 プログラミング4
科目番号 0022 科目区分 専門 / 選択
授業形態 授業・演習 単位の種別と単位数 履修単位: 1
開設学科 情報工学科 対象学年 3
開設期 後期 週時間数 2
教科書/教材 [教科書] 定本Cプログラマのためのアルゴリズムとデータ構造,近藤嘉雪,ソフトバンク また,教員が作成した資料を必要に応じて配布して使用する.[参考書] 「やさしいC」,高橋麻奈著,ソフトバンク社
担当教員 金山 典世

到達目標

( 1 ) スタック,キュー,連結リスト,木などの基本的なデータ構造を説明できる
( 2 ) 基本的な整列アルゴリズムの原理と得失について説明することができる
( 3 ) 学んだアルゴリズムを,C言語により実現することができる
( 4 ) 与えられた課題に対して適切なアルゴリズムを選択することができる

ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安未到達レベルの目安
評価項目1スタック,キュー,連結リスト,木などの基本的なデータ構造を正しく説明できるスタック,キュー,連結リスト,木などの基本的なデータ構造を説明できるスタック,キュー,連結リスト,木などの基本的なデータ構造を説明できない
評価項目2基本的な整列アルゴリズムの原理と得失について正しく説明することができる基本的な整列アルゴリズムの原理と得失について説明することができる基本的な整列アルゴリズムの原理と得失について説明することができない
評価項目3学んだアルゴリズムを,C言語により正しく実現することができる学んだアルゴリズムを,C言語により実現することができる学んだアルゴリズムを,C言語により実現することができない
評価項目4与えられた課題に対して適切なアルゴリズムを正しく選択することができる与えられた課題に対して適切なアルゴリズムを選択することができる与えられた課題に対して適切なアルゴリズムを選択することができない

学科の到達目標項目との関係

学習・教育到達度目標 J2 説明 閉じる

教育方法等

概要:
 本科目では,より高度なプログラミング手法を学ぶための準備として,基本的なアルゴリズムとデータ構造について学ぶ.また,効率のよいアルゴリズムと,それに必要なデータ構造を実現するための技術を習得する.具体的には,スタック,キュー,リスト,木などのデータ構造と,各種の整列アルゴリズムの考え方を理解する.これらをC言語のプログラミング演習を通して習得する.
授業の進め方・方法:
到達目標 ( 1 ) ~ ( 4 )の達成度について,
定期試験 60 % (中間試験 30% 期末試験 30%)
演習課題 40 %
の割合で評価を行なう.50点以上を合格とする.
課題は基本的には示された提出期限以内に提出すること.遅れた場合には減点となるものとする.
 原則として,再評価試験および追認試験は実施しない.
注意点:
予習 :事前に教科書の内容に目を通しておくこと.
講義中:予習で理解できなかったところを中心に講義内容を学習すること.また,疑問点が残らないよう,積極的に質問すること.講義で学習したプログラムを,演習授業を含む期限内に作成し,動作確認を行なうこと.
復習 :作成したプログラムのアルゴリズムを理解するために,プログラムの動作を確認し,講義内容を復習すること.

授業の属性・履修上の区分

アクティブラーニング
ICT 利用
遠隔授業対応
実務経験のある教員による授業

授業計画

授業内容 週ごとの到達目標
後期
3rdQ
1週 講義ガイダンス、アルゴリズムと計算量
2週 スタックとキュー
3週 連結リスト( 1 )
連結リスト,単方向リスト
4週 連結リスト( 2 )
双方向リスト
5週 連結リスト( 3 )
多重リスト
6週 木構造( 1 )
木構造の概念と実現方法
7週 木構造( 2 )
木構造の応用
8週 中間試験
第1回~第7回の範囲
4thQ
9週 整列アルゴリズム( 1 )
バブルソートと選択ソート
10週 整列アルゴリズム( 2 )
クイックソート
11週 整列アルゴリズム( 3 )
マージソート
12週 整列アルゴリズム( 4 )
ヒープソート
13週 整列アルゴリズム( 5 )
基数ソート
14週 セキュアプログラミング
15週 期末試験
第9回~第14回の範囲
16週 まとめ
期末試験の解説を行なう.

モデルコアカリキュラムの学習内容と到達目標

分類分野学習内容学習内容の到達目標到達レベル授業週
専門的能力分野別の専門工学情報系分野プログラミング代入や演算子の概念を理解し、式を記述できる。3
プロシージャ(または、関数、サブルーチンなど)の概念を理解し、これらを含むプログラムを記述できる。3
与えられた問題に対して、それを解決するためのソースプログラムを記述できる。3
ソフトウェア生成に必要なツールを使い、ソースプログラムをロードモジュールに変換して実行できる。3
主要な言語処理プロセッサの種類と特徴を説明できる。3
ソフトウェア開発に利用する標準的なツールの種類と機能を説明できる。3
プログラミング言語は計算モデルによって分類されることを説明できる。3
主要な計算モデルを説明できる。3
要求仕様に従って、標準的な手法により実行効率を考慮したプログラムを設計できる。3
要求仕様に従って、いずれかの手法により動作するプログラムを設計することができる。3
要求仕様に従って、いずれかの手法により動作するプログラムを実装することができる。3
要求仕様に従って、標準的な手法により実行効率を考慮したプログラムを実装できる。3

評価割合

中間試験期末試験課題合計
総合評価割合303040100
基礎的能力15152050
専門的能力15152050
分野横断的能力0000