授業内容・計画(詳細)の情報


ページを読み終えましたら、ブラウザを終了させてください。

【基本情報】
2018年度 春学期  
授業科目名 プログラミング入門
曜日 時限 金-3
テーマ プログラミングと付き合うための汎用的な知識・スキルの習得
キーワード 問題解決 論理的思考 コンピュータサイエンス


【授業要旨または授業概要】
 
プログラミングを学ぶことは単にアプリケーションの作成技術が身に付くだけでなく、物事を抽象化して捉える能力、物事の手順を組み立てる能力、論理的思考力を身に付けるための訓練でもある。
本授業は、プログラミング未経験者を対象とし、今後の本格的なプログラミング言語に関する学習に備えた基礎力を育むことを授業目的とする。
授業目標は、どのプログラミング言語であっても汎用的に必要となる考え方の習得である。
講義を中心としながら、PC操作を伴わない(アンプラグド)活動、教育用ビジュアル言語等を用いたPC実習などを通して、プログラミングに関する重要概念や用語、開発の基本的手順、アルゴリズムやデータ構造の基礎などを学んでいく。



【学修の到達目標】
◆授業で育成する力・スキル
全学共通:
・自ら考える力
・成し遂げ力
情報教育センター:
・情報処理力

◆具体的な到達目標
1)プログラミングに関する汎用的な概念・用語を理解し、説明できる
2)処理の制御構造を理解し、与えられた問題に対して基本的な処理を論理的に組み合わせて解決できる
3)基礎的なデータ構造の名称と特徴を説明できる
4)教育用ビジュアル言語等を用いて、初歩的なプログラム開発プロセスを実践できる
添付ファイル:プログラミング入門_ルーブリック.pdf

【授業計画】
◆スケジュール
第1回 ガイダンス・授業のための準備 
第2回 プログラミングの基本概念と手順
第3回 基本的な処理とデータの記憶
第4回 繰り返しとその表現・論理式
第5回 条件分岐とその表現、イベント処理の実現
第6回 配列とその利用
第7回 様々なデータ構造とその利用(1)
第8回 様々なデータ構造とその利用(2)
第9回 探索とその手法、妥当性と処理効率
第10回 整列とその手法、総合演習に向けて
第11回 手続き/関数/ライブラリとその利用、総合演習(1)
第12回 再帰と分割統治、総合演習(2)
第13回 今後のプログラミング、総合演習(3)
第14回 総合演習(4) 発表とまとめ
定期試験
◆予習・復習
第1回 ガイダンス・授業のための準備
事前学習:シラバスを確認すること
事後学習:あなたはプログラミングとどのようにつきあっていきたいか、考えてみること。Scratchを各自で自由に体験してみること。興味深い他人の作品を探し、実行してみること。

第2回 プログラミングの基本概念と手順
事前学習:プログラミングを行う上で必要なもの/ことを考えておくこと。
事後学習:プログラミング、プログラミング言語、アルゴリズム、データ構造などの重要キーワードの意味をまとめておくこと。

第3回 基本的な処理とデータの記憶
事前学習:小テストに備えること。順番を交換すると結果が異なってしまう処理の例を考えておこう。
事後学習:アルゴリズムの基本要素、順次処理、変数・定数・データ型等の概念をまとめておくこと。

第4回 繰り返しとその表現・論理式
事前学習:小テストに備えること。何らかの処理を反復したい(させたい)とき、どのような指示を行うか、イメージしておくこと。
事後学習:繰り返し構造の基本(条件の表現方法:継続/終了/前置/後置・処理の記述方法)を振り返っておくこと

第5回 条件分岐とその表現、イベント処理の実現
事前学習:小テストに備えること。MECEとはどんな意味か、調べておこう。
事後学習:選択構造の基本(条件の表現方法・多分岐の方法等)を振り返っておくこと。順次・選択・繰り返しの基本構造を用いた初等的なアルゴリズム(合計・最大/最小・べき乗など)を構成できるようにすること。

第6回 配列とその利用
事前学習:小テストに備えること。まとめて処理したいデータとしてはどのようなものがあるかイメージしておくこと。
事後学習:配列の基本概念や配列を用いた基礎的なアルゴリズムを振り返っておくこと。

第7回 様々なデータ構造とその利用(1)
事前学習:小テストに備えること。「リスト」と言われてどんなものを思い浮かべるか、現実社会での具体的なイメージを挙げられるようにしておこう。
事後学習:リスト構造の基本概念、配列によるリストと連結リストの違い・基本操作を振り返っておくこと。

第8回 様々なデータ構造とその利用(2)
事前学習:小テストに備えること。経路探索のアプリは内部データをどのように保持しているか、考えてみること。
事後学習:スタック・キュー・木・グラフなどの基本概念と挙動について振り返っておくこと

第9回 探索とその手法、妥当性と処理効率
事前学習:小テストに備えること。データの山に目的のものがあるかどうかを探すとき、どのように探していくか、各自のいつもの手順をまとめておくこと。
事後学習:線形探索と二分探索の挙動と特徴(特に処理効率や前提条件)を振り返っておくこと。

第10回 整列とその手法、総合演習に向けて
事前学習:小テストに備えること。各自のいつもの整列方法(トランプでもレポートでも良い)の手順をまとめておくこと。
事後学習:初等的な整列手法(選択・交換・挿入)の挙動と特徴を振り返っておくこと。

第11回 手続き/関数/ライブラリとその利用、総合演習(1)
事前学習:小テストに備えること。総合演習としてどのような作品を作りたいか、イメージをまとめておくこと
事後学習:総合演習を個人・グループで進めていくこと

第12回 再帰と分割統治、総合演習(2)
事前学習:小テストに備えること。総合演習を個人・グループで進めていくこと
事後学習:総合演習を個人・グループで進めていくこと

第13回 今後のプログラミング、総合演習(3)
事前学習:小テストに備えること。興味を持っているプログラミング言語を具体的に挙げらえるようにしておくこと。総合演習を個人・グループで進めていくこと
事後学習:今後、より学習したいプログラミング言語について調査・検討してみること。総合演習を個人・グループで進めていくこと

第14回 総合演習(4) 発表とまとめ
事前学習:発表のリハーサルを行うこと
事後学習:それぞれの発表内容や授業全体を振り返ること。
◆集中授業の期間
 

【履修上の注意点】
・履修希望者が多い場合は初回ガイダンスで抽選を行うので、必ず出席すること
・実習に用いるビジュアル言語について、授業内での解説は必要最小限である。各自の必要に応じて、資料を調べ、実際に触ってその使い方や文法を理解していく必要がある。
・授業冒頭の小テストにより前回学んだ知識の理解度を問う。小テストに備えて復習しておくことが重要である。
・コンピュータを使用しない実習やグループワーク、発表を課す場合がある。
・授業内容に即した課題やレポートの作成を課す。

【成績評価の基準および方法】
各到達目標の達成度を以下の方法・比重により評価し、成績素点とする:
・小テスト 30% プログラミングに関わるための基礎理解(知識)
・授業への取組み状況評価  10% 事前・授業内・事後の学習活動を示す提出物
・総合演習成果の評価 25% プログラムとその発表内容
・定期試験 35%

成績素点90点以上は「S」、80点以上90点未満は「A」、70点以上80点未満は「B」、60点以上70点未満は「C」、60点未満を「E」とする。
但し、出席回数が授業回数の2/3に満たないとき、または、定期試験未受験の場合は、成績素点に関わらず「/(評価なし)」となる。


【教科書・参考書】
区分 書名 著者名 発行元 定価
参考文献 コンピュータを使わない情報教育 アンプラグドコンピュータサイエンス Tim Bell, Ian H.Witten, Mike Fellows イ—テキスト研究所 1620
参考文献 プログラマの数学 結城 浩 SBクリエイティブ 2376
参考書 Scratchで学ぶプログラミングとアルゴリズムの基本 中植 正剛、太田 和志、鴨谷 真知子 日経BP社 2376


【その他の教材】
授業支援システム等で授業資料を公開する。必要に応じてプリントを配布する。
また、公式ドキュメントなど、有益なWebサイトも適宜紹介する。


【担当教員への連絡方法】
質問・相談は、授業時のほか、下記電子メールアドレスで受け付ける。
miyakawa@tokai.ac.jp
メールでの質問・相談の際は、適切な表題を付けるとともに、メール本文先頭に、学生証番号・氏名・授業名を明記すること.また、電子メール以外のコミュニケーションツールについても別途案内する。

PAGE TOP