プログラミング入門(アルゴリズム)
2020年度 前期 情報システム学科 2年次 専門科目
- 2017年度以前入学生:科目名「アルゴリズム」情報コース必修科目、経営コース選択科目
- JABEE必修科目
金曜4限 240教室 担当教員:河原
連絡
- 資料はポータルサイトのシラバスの予習復習レポート機能にアップします。試験的にこちらにもアップします(予備・学外からの更新用)。
- 当面の間、遠隔で授業を行います。まずはポータルで連絡します。
- ツイッターで授業に関連する情報をツイートすることがあります(ハッシュタグ #nuis_prog )
- 情報システム学科2年生へ。2年後期にある研究室配属において、河原研究室の配属時に定員を超えた場合、この科目の履修状況を参考にして選考を行います。
- 配布資料や課題等は、ポータルサイトにて配布します。各自ダウンロードしてください。
- 配布資料はPDFファイルで配布するので、紙に印刷してもらってもよいですが、印刷せずにノートPC、タブレット端末、スマートフォンで閲覧しても構いません。
- リアクションペーパーや課題は印刷し解答を記述してきてください。授業時に提出してもらいます。
- 初回はこちらで用意します
- JABEE必修科目です。JABEEコースの修了を目指している・考えている人は単位取得が必要となります。
- 出席管理システムを使用します。
- 2017年度以前入学生(3年生以上)は科目名「アルゴリズム」で、情報コース(D分野「コンピュータと通信」)の専門科目です。情報コースは必修科目、それ以外の学生は選択科目です。
授業目的
- 「プログラミング」とは、コンピュータに何らかの問題を解かせようとする際の手順=「プログラム」を、プログラミング言語で表したものであり、「アルゴリズム」とは、その手順を何らかの手法で示したものです
- この講義では、コンピュータを用いて問題解決を行う際の、基本的な考え方と手法について学びます
- 問題を解く手続きを与える「アルゴリズム」と、その際に用いるデータの表現形式である「データ構造」との関連を理解します
- さらに、アルゴリズムの記述方法、代表的なアルゴリズムについて学び、新しい問題へ適用しプログラミングを行う際の手法を学習していきます
授業内容
日程は変更の可能性があります。
- プログラムとは、アルゴリズムとは、アルゴリズムとプログラムとの関係、アルゴリズムの記述1
- アルゴリズムの記述2、プログラミングに必要な概念(変数、演算、代入、手続きなど)
- データ構造の基本(配列)、配列を使ったアルゴリズム1
- 配列を使ったアルゴリズム2
- データ構造の応用1(スタック、待ち行列、木、グラフ)
- データ構造の応用2(スタック、待ち行列、木、グラフ)
- 線形探索、二分探索
- 計算量
- ハッシュ法
- 基本的なソート
- 高速なソート
- 再帰アルゴリズム
- 探索アルゴリズム
- グラフの探索
- 応用アルゴリズム
- [期末レポート]
成績評価方法
- 授業時のリアクションペーパーの評価点合計を30%、数回提示する課題の評価点合計を30%、期末レポートの評価点を40%として評価します
- リアクションペーパー、課題については採点して返却し解説を行います
- 期末レポートについてはポータルで解答を提示し、全体の評価について講評します
教科書・参考文献
- 資料をポータルサイトにて配布するので事前・事後学習に使用してください
- 連絡事項や追加情報は授業中に示したり、ウェブページ等に掲載したりします
受講にあたっての留意事項
- 受講学生の理解度により講義の順番(日程)や分量を調整することがあります
- プログラミングに関する講義や演習を履修済みであり、プログラミングについてある程度理解していることが望ましいです
- 「数学基礎」の履修を指導された学生は,個の単位を取得していることが望ましいです
- 継続した学習が必要となるため、欠席した場合は各自で資料を取り寄せて学習することが必要となります
学習到達目標
- プログラミング、アルゴリズムとデータ構造について理解する(リアクションペーパー20%、課題:15%、期末レポート:20%)
- 与えられた問題に対し適切なアルゴリズムやデータ構造を適用でき、プログラミングにより実現できる(リアクションペーパー10%、課題:15%,期末レポート:20%)
河原