タイトル「2021年度 教育学部シラバス」、フォルダ「2021年度 教育学部シラバス-情報教育(E類)
シラバスの詳細は以下となります。
ナンバリングは科目コードとは異なります。ご注意ください。
ナンバリングとは
科目コード   60771700 
科目名   応用プログラミング  
担当教員   橋浦 弘明  
対象学年   2年   クラス   51  
講義室   遠隔   開講学期   春学期  
曜日・時限   月4   単位区分   必修,選択  
授業形態   講義・演習   単位数  
受講対象  初等教育教員養成課程情報教育選修選択科目B、教育支援課程 教育支援専攻情報教育コース必修科目 
備考   
ナンバリング   132E54 
ねらいと目標  単にプログラミング言語の文法を学習したとしても、それだけでは実用的ソフトウェアを作成することはできません。例えば大量のデータを扱うような場面においては「プログラムが分かりやすいか」「効率がよいか」などが重要な問題となってきます。担当教員は企業においてソフトウェア開発エンジニアとして勤務した経験があり、プログラミングのテクニックについて実践的な指導を行ないます。
 本講ではデータ構造とアルゴリズムを取り扱います。これらは前述の問題を解決するために生み出された先人の知恵の1つです。身近にあるソフトウェアの内部ではデータ構造やアルゴリズムが当たり前のように使われていますから、これらの知識は普段使っているソフトウェアの内部構造について理解を深めることにも役立つはずです。また、本講義では演習を積極的に行い、アイディアを形にするための能力を培います。知識と技能の両面からのトレーニングにより、データ構造やアルゴリズムの違いについて根本から理解することを目指します。
 講義に用いるプログラミング言語はJava、開発環境はEclipseを利用しますが、これらの利用経験を前提とはしていません。講義ではC言語との違い等に触れながら、オブジェクト指向の基礎についても解説します。本講義を通じて、データ構造とアルゴリズムを用いた Java によるオブジェクト指向プログラミングが自力でできるようになります。 
内容 (1) Javaプログラミングの基礎
(2) オブジェクト指向の基礎
(3) アルゴリズムと計算量
(4) データ構造(リスト、スタック、キュー、ツリー) 
テキスト ✓高橋 麻奈「やさしいJava 第7版」ソフトバンククリエイティブ. (2,580円+税, ISBN:978-4815600846)
 ※特に新品である必要はありません
 ※内容に大きな変更はありませんので第6版以前のものでも大丈夫です
 ※その他、講義時に適宜資料を配布します 
参考文献 ✓芳賀博英,新淳「Javaによるプログラミング―アルゴリズムとデータ構造」 森北出版.(ISBN:4627844417)
✓石畑 清「アルゴリズムとデータ構造 (岩波講座 ソフトウェア科学 3)」,岩波書店.(ISBN:4000103431)
✓斎藤信男, 西原清一「データ構造とアルゴリズム (電子情報通信学会 大学シリーズ G-4)」 コロナ社.(ISBN:978-4-339-00044-3)
✓Clifford Shaffer (著), 久野 禎子 (翻訳), 久野 靖 (翻訳) 「Javaによるデータ構造とアルゴリズム解析入門」ピアソン・エデュケーション.(ISBN:4894711958)
✓ケン・アーノルド,ジェームズ ゴスリン,デビッド ホームズ「プログラミング言語Java 第4版」, ピアソンエデュケーション.(ISBN:4894717166) 
成績評価方法 ✓平常点評価 (30%): 毎回授業中に出題する課題によって評価する。
✓レポート (30%): 1~2回出題する予定。実際にプログラミングを行うことによって、データ構造とアルゴリズムについて主に技能の側面から理解を問う。完成度よりも、自分自身で問題に取り組むことを重視する。
✓期末試験 (40%): 期末試験については、データ構造とアルゴリズムについて基本的な概念が身についているか、主に知識の側面から理解を問う。持ち込みは不可とする。
※総授業回数の1/3を越える欠席,指定された課題の未提出,剽窃行為,期末試験の欠席がある場合は上記の得点にかかわらず無条件で失格となります。 
授業スケジュール(展開計画) ※進捗状況により内容を変更する場合があります
内容
1データ構造とアルゴリズムとは・Eclipseの使い方
 ✓Eclipseのセットアップと課題の提出方法について演習する
 ✓教科書 Lesson1 を読み、演習を行うこと
2CからJavaへ(JavaとC言語の共通点)
 ✓教科書 Lesson 2~6 を読み、演習を行うこと(C言語と共通の部分のみ)
3CからJavaへ(JavaとC言語の違いは何か)
 ✓教科書 Lesson 2~7 を読み、演習を行うこと(前回の部分以外)
4Javaとオブジェクト指向(クラスの構成要素)
 ✓教科書 Lesson 8 を読み、演習を行うこと
5Javaとオブジェクト指向(オブジェクト指向らしい機能)
 ✓教科書 Lesson 9,10 を読み、演習を行うこと
6Javaプログラミングに慣れる
 ✓教科書 Lesson 11 以降を読み、演習を行うこと
 ✓配布した課題の問題演習を行うこと
7リスト構造と配列
 ✓教科書 Lesson 7 について復習しておくこと
 ✓配布した課題の問題演習を行うこと
8連結リスト
 ✓教科書 Lesson 7~10 について復習しておくこと
 ✓配布した課題の問題演習を行うこと
9リストと効率
 ✓プロファイラ(hprof)を使えるようにしておくこと
 ✓問題演習を行い、ArrayListとLinkedListのコストの違いについて理解すること
10キュー
 ✓改良版 LinkedList について復習しておくこと
 ✓配布した課題の問題演習を行うこと
11スタック
 ✓キューとの違いを理解すること
 ✓問題演習を行い、スタックを使った計算機を作成すること
12ツリー
 ✓線形構造(リスト、キュー、スタック)との違いを理解すること
 ✓問題演習を行い、走査方法の違いを理解すること
13木構造と探索
 ✓木の構成要素を理解すること
 ✓問題演習を行い、二分探索、線形探索の違いを理解すること
14構文木と構文解析
 ✓深さ優先探索、幅優先探索について理解すること
 ✓問題演習を行い構文解析の仕組みを理解すること
15まとめ
 ✓講義第7回以降の内容について疑問点をまとめておくこと
 ✓最終レポートに取り組むこと
授業時間外における学習方法 自習のやり方については講義中に説明します。
 ※課題については課題収集システムを用います(利用方法は初回に説明します) 
授業のキーワード IT
 
受講補足(履修制限等) 教室の収容定員に空きがあれば他専攻(選修)受講を認めます。
 ※例年、座席には空きがありますが、詳細については初回に担当者に相談してください。 
学生へのメッセージ 一緒に頑張りましょう。 
実務経験のある教員による科目 〇 
授業実施方法(対面形式/遠隔形式) 一部対面授業形式(遠隔授業はライブ配信)  
その他 各回ともパソコンを利用し、講義時間中に演習も行いますので、必ずパソコンを持参してください。
必要に応じて、時間終了後でも課題の質問を受け付けます。 
Copyright(C) 2013 NTT DATA KYUSHU Co.,Ltd All rights reserved.