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



授業科目名 プログラミング応用演習
時間割番号 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タイトル値渡しと参照渡し,クラスとオブジェクト
事前学習
事後学習
・事前学習:「プログラミング基礎」「同演習」の内容を復習する.
・事後学習:自身で試行錯誤して演習問題のプログラムを完成させる.その後,教員による演習問題の解説動画を視聴して考え方やコーディング方法を確認する(90分).
授業内容・最初に,本授業の到達目標,授業の進め方,成績評価の方法に関するガイダンスを行う.
・次に,演習問題に取り組む.必要に応じて教員・TAに質問する.
・最後に,教員による演習問題の解説を受ける.必要に応じてメモを取り,授業後のプログラム完成作業に役立てる.
2タイトルポインタと配列
事前学習
事後学習
・事前学習:前回の演習内容を復習し小テストに備える(20分).
・事後学習:自身で試行錯誤して演習問題のプログラムを完成させる.その後,教員による演習問題の解説動画を視聴して考え方やコーディング方法を確認する(90分).
授業内容・授業の最初に,前回の演習内容に関する小テストに解答する.その後,小テストの答え合わせと解説を行う.
・次に,演習問題に取り組む.必要に応じて教員・TAに質問する.
・最後に,教員による演習問題の解説を受ける.必要に応じてメモを取り,授業後のプログラム完成作業に役立てる.
3タイトルポインタとメモリの動的割当,可変長配列
事前学習
事後学習
・事前学習:前回の演習内容を復習し小テストに備える(20分).
・事後学習:自身で試行錯誤して演習問題のプログラムを完成させる.その後,教員による演習問題の解説動画を視聴して考え方やコーディング方法を確認する(90分).
授業内容・授業の最初に,前回の演習内容に関する小テストに解答する.その後,小テストの答え合わせと解説を行う.
・次に,演習問題に取り組む.必要に応じて教員・TAに質問する.
・最後に,教員による演習問題の解説を受ける.必要に応じてメモを取り,授業後のプログラム完成作業に役立てる.
4タイトル連結リスト
事前学習
事後学習
・事前学習:前回の演習内容を復習し小テストに備える(20分).
・事後学習:自身で試行錯誤して演習問題のプログラムを完成させる.その後,教員による演習問題の解説動画を視聴して考え方やコーディング方法を確認する(90分).
授業内容・授業の最初に,前回の演習内容に関する小テストに解答する.その後,小テストの答え合わせと解説を行う.
・次に,演習問題に取り組む.必要に応じて教員・TAに質問する.
・最後に,教員による演習問題の解説を受ける.必要に応じてメモを取り,授業後のプログラム完成作業に役立てる.
5タイトル連結リストとスタック,キュー
事前学習
事後学習
・事前学習:前回の演習内容を復習し小テストに備える(20分).
・事後学習:自身で試行錯誤して演習問題のプログラムを完成させる.その後,教員による演習問題の解説動画を視聴して考え方やコーディング方法を確認する(90分).
授業内容・授業の最初に,前回の演習内容に関する小テストに解答する.その後,小テストの答え合わせと解説を行う.
・次に,演習問題に取り組む.必要に応じて教員・TAに質問する.
・最後に,教員による演習問題の解説を受ける.必要に応じてメモを取り,授業後のプログラム完成作業に役立てる.
6タイトル配列とスタック,キュー
事前学習
事後学習
・事前学習:前回の演習内容を復習し小テストに備える(20分).
・事後学習:自身で試行錯誤して演習問題のプログラムを完成させる.その後,教員による演習問題の解説動画を視聴して考え方やコーディング方法を確認する(90分).
授業内容・授業の最初に,前回の演習内容に関する小テストに解答する.その後,小テストの答え合わせと解説を行う.
・次に,演習問題に取り組む.必要に応じて教員・TAに質問する.
・最後に,教員による演習問題の解説を受ける.必要に応じてメモを取り,授業後のプログラム完成作業に役立てる.
7タイトル木構造と木のなぞり
事前学習
事後学習
・事前学習:前回の演習内容を復習し小テストに備える(20分).
・事後学習:自身で試行錯誤して演習問題のプログラムを完成させる.その後,教員による演習問題の解説動画を視聴して考え方やコーディング方法を確認する(90分).
授業内容・授業の最初に,前回の演習内容に関する小テストに解答する.その後,小テストの答え合わせと解説を行う.
・次に,演習問題に取り組む.必要に応じて教員・TAに質問する.
・最後に,教員による演習問題の解説を受ける.必要に応じてメモを取り,授業後のプログラム完成作業に役立てる.
8タイトル中間総括評価とまとめ
事前学習
事後学習
・授業前に,前回までの演習内容を復習し中間試験に備える.
・授業後に,中間試験を振り返り,自身が理解できていない単元を復習する.
授業内容・1回目から7回目までの内容を総括し,中間試験に解答する.
9タイトル再帰呼び出し
事前学習
事後学習
・事後学習:自身で試行錯誤して演習問題のプログラムを完成させる.その後,教員による演習問題の解説動画を視聴して考え方やコーディング方法を確認する(90分).
授業内容・最初に,演習問題に取り組む(小テストは実施しない).必要に応じて教員・TAに質問する.
・最後に,教員による演習問題の解説を受ける.必要に応じてメモを取り,授業後のプログラム完成作業に役立てる.
10タイトル再帰呼び出しによる木のなぞり
事前学習
事後学習
・事前学習:前回の演習内容を復習し小テストに備える(20分).
・事後学習:自身で試行錯誤して演習問題のプログラムを完成させる.その後,教員による演習問題の解説動画を視聴して考え方やコーディング方法を確認する(90分).
授業内容・授業の最初に,前回の演習内容に関する小テストに解答する.その後,小テストの答え合わせと解説を行う.
・次に,演習問題に取り組む.必要に応じて教員・TAに質問する.
・最後に,教員による演習問題の解説を受ける.必要に応じてメモを取り,授業後のプログラム完成作業に役立てる.
11タイトル分割統治法,バックトラック探索
事前学習
事後学習
・事前学習:前回の演習内容を復習し小テストに備える(20分).
・事後学習:自身で試行錯誤して演習問題のプログラムを完成させる.その後,教員による演習問題の解説動画を視聴して考え方やコーディング方法を確認する(90分).
授業内容・授業の最初に,前回の演習内容に関する小テストに解答する.その後,小テストの答え合わせと解説を行う.
・次に,演習問題に取り組む.必要に応じて教員・TAに質問する.
・最後に,教員による演習問題の解説を受ける.必要に応じてメモを取り,授業後のプログラム完成作業に役立てる.
12タイトル線形探索と二分探索
事前学習
事後学習
・事前学習:前回の演習内容を復習し小テストに備える(20分).
・事後学習:自身で試行錯誤して演習問題のプログラムを完成させる.その後,教員による演習問題の解説動画を視聴して考え方やコーディング方法を確認する(90分).
授業内容・授業の最初に,前回の演習内容に関する小テストに解答する.その後,小テストの答え合わせと解説を行う.
・次に,演習問題に取り組む.必要に応じて教員・TAに質問する.
・最後に,教員による演習問題の解説を受ける.必要に応じてメモを取り,授業後のプログラム完成作業に役立てる.
13タイトル素朴な整列アルゴリズム
事前学習
事後学習
・事前学習:前回の演習内容を復習し小テストに備える(20分).
・事後学習:自身で試行錯誤して演習問題のプログラムを完成させる.その後,教員による演習問題の解説動画を視聴して考え方やコーディング方法を確認する(90分).
授業内容・授業の最初に,前回の演習内容に関する小テストに解答する.その後,小テストの答え合わせと解説を行う.
・次に,演習問題に取り組む.必要に応じて教員・TAに質問する.
・最後に,教員による演習問題の解説を受ける.必要に応じてメモを取り,授業後のプログラム完成作業に役立てる.
14タイトル再帰的整列アルゴリズム,空間を利用した整列アルゴリズム
事前学習
事後学習
・事前学習:前回の演習内容を復習し小テストに備える(20分).
・事後学習:自身で試行錯誤して演習問題のプログラムを完成させる.その後,教員による演習問題の解説動画を視聴して考え方やコーディング方法を確認する(90分).
授業内容・授業の最初に,前回の演習内容に関する小テストに解答する.その後,小テストの答え合わせと解説を行う.
・次に,演習問題に取り組む.必要に応じて教員・TAに質問する.
・最後に,教員による演習問題の解説を受ける.必要に応じてメモを取り,授業後のプログラム完成作業に役立てる.
15タイトル最終総括評価とまとめ
事前学習
事後学習
・授業前に,前回までの演習内容を復習し期末試験に備える.
・授業後に,期末試験を振り返り,自身が理解できていない単元を復習する.
授業内容・9回目から14回目までを総括し,期末試験に解答する.
<前年度授業に対する改善要望等への対応>
アンケート結果確認中
<備考>
(未登録)