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



授業科目名 プログラミング応用演習
時間割番号 TCS106
担当教員名 古屋 貴彦
開講学期・曜日・時限 後期・金・II 単位数 1
<対象学生>
(未登録)
<授業の目的>
本科目では,科目「プログラミング応用」で学ぶ内容について,コンピュータを用いた演習を行う.具体的には,連結リスト,スタック,キュー,木などの基本的なデータ構造,探索,整列アルゴリズム,再帰手続きなどについて,実際にコーディングを行うための手法を習得する.また,C++言語によるクラスと継承を利用したオブジェクト指向プログラミングを身に付ける.
<本授業科目による獲得・涵養が特に期待されるコンピテンシー>(能力・資質)
工学部(~2023年度入学生)>コンピュータ理工学科向け
記号コンピテンシー(能力・資質) 
CS-A専門6.情報科学、及び、数学や自然科学等の知識と手法を用いて、以下のことができる。6c.各種のツールや手法に関する十分な知識をもち、それらをシステムの設計・開発・運用に応用できる。
<到達目標>  到達目標とは
目標NO説明コンピテンシーとの対応
CS
11.データ型,データ構造,手続き表現,オブジェクト指向プログラミングについて説明できること.CS-A
22.連結リスト,スタック,キュー等の基本的なデータ構造に関する十分な知識をもち,ソースコードとして記述できること.CS-A
33.探索,再帰,木構造,整列等に関する十分な知識をもち,ソースコードとして記述できること.CS-A
<成績評価の方法>
目標No割合評価の観点
140%試験および小テストにおける選択式または記述式の問題で,目標 No.1に記載された事柄の理解度を評価する.
230%試験における記述式の問題で,目標 No.2に記載された事柄のプログラミング技能を評価する.
330%試験における記述式の問題で,目標 No.3に記載された事柄のプログラミング技能を評価する.
合計100% 
<授業の方法>
各回のタイトルに対応するプログラミングの演習問題に取り組む.毎回の授業は「小テスト」「演習問題の取り組み」「教員による演習問題の解説」の3部で構成される.
授業の実施形態は面接(対面)を基本とするが,感染症の拡大状況に応じてオンラインに切り替える.
いずれの実施形態においても,Moodleを用いて演習問題の提示,および試験の実施を行う.
<受講に際して・学生へのメッセージ>
科目「プログラミング基礎」および「プログラミング基礎演習」を履修済みで,C++言語の基本的知識とプログラミング技術を習得済みであること.本演習で基礎演習の復習は行わない.そのため,これら科目の単位が未取得である場合は,授業開始日までに独学で習得すること.
<テキスト>
  1. 岩沼 宏治, 美濃 英俊, 鍋島 英知, 山本 泰生, データ構造とアルゴリズム, コロナ社, ISBN:4339018236
<参考書>
  1. Cay Horstmann, Computing Concepts with C++ Essentials, 3rd Edition, Wiley International, ISBN:0471164372
  2. ハーバート・シルト (著), トップスタジオ (翻訳), 神林 靖, 独習C++, 第3版, 翔泳社, ISBN:4798103187
  3. 湯田 幸八, 伊原 充博, アルゴリズムとデータ構造, コロナ社, ISBN:4339011983
  4. Mark Allen Weiss, Data structures and problem solving using C++, Addison-Wesley, ISBN:020161250X
<授業計画の概要>
1タイトルガイダンス,クラスとオブジェクト,ファイルアクセス
事前学習
事後学習
・授業前に,「プログラミング基礎」および「プログラミング基礎演習」の内容を復習し,C++の基礎的なコーディング方法を思い出しておく.
・授業後に,教員による演習問題の解説の動画を視聴し,演習問題のプログラムを完成させ,動作を確認する.
授業内容・最初に,本授業の到達目標,授業の進め方,成績評価の方法に関するガイダンスを行う.
・次に,演習問題に取り組む.必要に応じて教員・TAに質問する.
・最後に,教員による演習問題の解説を受ける.必要に応じてメモを取り,授業後のプログラム完成作業に役立てる.
2タイトルオブジェクト指向プログラミング,カプセル化,クラスと継承
事前学習
事後学習
・授業前に,前回の演習内容を復習し小テストに備える.
・授業後に,教員による演習問題の解説の動画を視聴し,演習問題のプログラムを完成させ,動作を確認する.
授業内容・授業の最初に,前回の演習内容に関する小テストに解答する.その後,小テストの答え合わせと解説を行う.
・次に,演習問題に取り組む.必要に応じて教員・TAに質問する.
・最後に,教員による演習問題の解説を受ける.必要に応じてメモを取り,授業後のプログラム完成作業に役立てる.
3タイトルポインタ
事前学習
事後学習
・授業前に,前回の演習内容を復習し小テストに備える.
・授業後に,教員による演習問題の解説の動画を視聴し,演習問題のプログラムを完成させ,動作を確認する.
授業内容・授業の最初に,前回の演習内容に関する小テストに解答する.その後,小テストの答え合わせと解説を行う.
・次に,演習問題に取り組む.必要に応じて教員・TAに質問する.
・最後に,教員による演習問題の解説を受ける.必要に応じてメモを取り,授業後のプログラム完成作業に役立てる.
4タイトルメモリの動的割り当て,連結リスト(1)
事前学習
事後学習
・授業前に,前回の演習内容を復習し小テストに備える.
・授業後に,教員による演習問題の解説の動画を視聴し,演習問題のプログラムを完成させ,動作を確認する.
授業内容・授業の最初に,前回の演習内容に関する小テストに解答する.その後,小テストの答え合わせと解説を行う.
・次に,演習問題に取り組む.必要に応じて教員・TAに質問する.
・最後に,教員による演習問題の解説を受ける.必要に応じてメモを取り,授業後のプログラム完成作業に役立てる.
5タイトル連結リスト(2)
事前学習
事後学習
・授業前に,前回の演習内容を復習し小テストに備える.
・授業後に,教員による演習問題の解説の動画を視聴し,演習問題のプログラムを完成させ,動作を確認する.
授業内容・授業の最初に,前回の演習内容に関する小テストに解答する.その後,小テストの答え合わせと解説を行う.
・次に,演習問題に取り組む.必要に応じて教員・TAに質問する.
・最後に,教員による演習問題の解説を受ける.必要に応じてメモを取り,授業後のプログラム完成作業に役立てる.
6タイトルスタック,キュー(1)
事前学習
事後学習
・授業前に,前回の演習内容を復習し小テストに備える.
・授業後に,教員による演習問題の解説の動画を視聴し,演習問題のプログラムを完成させ,動作を確認する.
授業内容・授業の最初に,前回の演習内容に関する小テストに解答する.その後,小テストの答え合わせと解説を行う.
・次に,演習問題に取り組む.必要に応じて教員・TAに質問する.
・最後に,教員による演習問題の解説を受ける.必要に応じてメモを取り,授業後のプログラム完成作業に役立てる.
7タイトルスタック,キュー(2)
事前学習
事後学習
・授業前に,前回の演習内容を復習し小テストに備える.
・授業後に,教員による演習問題の解説の動画を視聴し,演習問題のプログラムを完成させ,動作を確認する.
授業内容・授業の最初に,前回の演習内容に関する小テストに解答する.その後,小テストの答え合わせと解説を行う.
・次に,演習問題に取り組む.必要に応じて教員・TAに質問する.
・最後に,教員による演習問題の解説を受ける.必要に応じてメモを取り,授業後のプログラム完成作業に役立てる.
8タイトル線形探索,二分探索
事前学習
事後学習
・授業前に,前回の演習内容を復習し小テストに備える.
・授業後に,教員による演習問題の解説の動画を視聴し,演習問題のプログラムを完成させ,動作を確認する.
授業内容・授業の最初に,前回の演習内容に関する小テストに解答する.その後,小テストの答え合わせと解説を行う.
・次に,演習問題に取り組む.必要に応じて教員・TAに質問する.
・最後に,教員による演習問題の解説を受ける.必要に応じてメモを取り,授業後のプログラム完成作業に役立てる.
9タイトル中間総括評価とまとめ
事前学習
事後学習
・授業前に,前回までの演習内容を復習し中間試験に備える.
・授業後に,教員による中間試験問題の解説の動画を視聴し,試験問題のプログラムを完成させ理解を深める.
授業内容・1回目から9回目までの内容を総括し,中間試験に解答する.
10タイトル再帰
事前学習
事後学習
・授業後に,教員による演習問題の解説の動画を視聴し,演習問題のプログラムを完成させ,動作を確認する.
授業内容・最初に,演習問題に取り組む(小テストは実施しない).必要に応じて教員・TAに質問する.
・最後に,教員による演習問題の解説を受ける.必要に応じてメモを取り,授業後のプログラム完成作業に役立てる.
11タイトル分割統治法,バックトラック探索
事前学習
事後学習
・授業前に,前回の演習内容を復習し小テストに備える.
・授業後に,教員による演習問題の解説の動画を視聴し,演習問題のプログラムを完成させ,動作を確認する.
授業内容・授業の最初に,前回の演習内容に関する小テストに解答する.その後,小テストの答え合わせと解説を行う.
・次に,演習問題に取り組む.必要に応じて教員・TAに質問する.
・最後に,教員による演習問題の解説を受ける.必要に応じてメモを取り,授業後のプログラム完成作業に役立てる.
12タイトル二分探索木
事前学習
事後学習
・授業前に,前回の演習内容を復習し小テストに備える.
・授業後に,教員による演習問題の解説の動画を視聴し,演習問題のプログラムを完成させ,動作を確認する.
授業内容・授業の最初に,前回の演習内容に関する小テストに解答する.その後,小テストの答え合わせと解説を行う.
・次に,演習問題に取り組む.必要に応じて教員・TAに質問する.
・最後に,教員による演習問題の解説を受ける.必要に応じてメモを取り,授業後のプログラム完成作業に役立てる.
13タイトル単純な整列アルゴリズム,計算量
事前学習
事後学習
・授業前に,前回の演習内容を復習し小テストに備える.
・授業後に,教員による演習問題の解説の動画を視聴し,演習問題のプログラムを完成させ,動作を確認する.
授業内容・授業の最初に,前回の演習内容に関する小テストに解答する.その後,小テストの答え合わせと解説を行う.
・次に,演習問題に取り組む.必要に応じて教員・TAに質問する.
・最後に,教員による演習問題の解説を受ける.必要に応じてメモを取り,授業後のプログラム完成作業に役立てる.
14タイトル高速な整列アルゴリズム,外部記憶を使った整列アルゴリズム
事前学習
事後学習
・授業前に,前回の演習内容を復習し小テストに備える.
・授業後に,教員による演習問題の解説の動画を視聴し,演習問題のプログラムを完成させ,動作を確認する.
授業内容・授業の最初に,前回の演習内容に関する小テストに解答する.その後,小テストの答え合わせと解説を行う.
・次に,演習問題に取り組む.必要に応じて教員・TAに質問する.
・最後に,教員による演習問題の解説を受ける.必要に応じてメモを取り,授業後のプログラム完成作業に役立てる.
15タイトル最終総括評価とまとめ
事前学習
事後学習
・授業前に,前回までの演習内容を復習し期末試験に備える.
・授業後に,教員による期末試験問題の解説の動画を視聴し,試験問題のプログラムを完成させ理解を深める.
授業内容・10回目から14回目までを総括し,期末試験に解答する.
<前年度授業に対する改善要望等への対応>
「小テストを授業冒頭に実施してしまうと,教室移動で小テストに間に合わない学生がいる可能性がある」との懸念点が指摘された.そのような事態が起こる場合には,小テストの実施時刻を少し遅らせる措置を取る.
<備考>
(未登録)