2018年度 プログラミング応用   Advanced Computer Programming

文字サイズ 

アップデートお知らせメールへ登録 お気に入り講義リストに追加
開講元
経営工学系
担当教員名
河瀬 康志  松井 知己 
授業形態
講義 / 演習     
メディア利用科目
曜日・時限(講義室)
月5-8(学術国際情報センター情報棟3階第1実習室)  
クラス
-
科目コード
IEE.A230
単位数
2
開講年度
2018年度
開講クォーター
2Q
シラバス更新日
2018年3月20日
講義資料更新日
2018年7月30日
使用言語
日本語
アクセスランキング
media

講義の概要とねらい

本講義では、Pythonを用いて基本的なデータ構造とアルゴリズムについて学ぶ。
講義と演習を通して、問題解決のためにプログラミングを用いる能力を養う。

到達目標

本講義を履修することにより、以下の知識と能力を習得する。
1) 基本的なPythonの使い方の習得
2) 基本的なデータ構造とアルゴリズムの理解
3) アルゴリズムによる効率性の違いを理解
4) アルゴリズムを実装する力

キーワード

Python、プログラミング、アルゴリズム

学生が身につける力(ディグリー・ポリシー)

専門力 教養力 コミュニケーション力 展開力(探究力又は設定力) 展開力(実践力又は解決力)

授業の進め方

各講義の2/3は講義形式で行い、残りの1/3は演習に充てる。

授業計画・課題

  授業計画 課題
第1回 ガイダンス・復習 (数、文字列、リスト) 数、文字列、リストの使い方を理解する。
第2回 復習(for文、if文) for文、if文の使い方を理解する。
第3回 文字列操作(文字列整形、パターンマッチ、正規表現) 基本的な文字列操作ができるようになる。
第4回 平面幾何(線分の交差判定、点と直線の距離、凸包) 凸包を計算をできるようになる。
第5回 乱数(一様乱数、正規分布への変換、乱数生成) 乱数とは何かを理解する。
第6回 統計(データ処理、フィッティング) データを読み込み統計的処理を行えるようになる。
第7回 計算量(オーダー表記) 計算量とは何かを理解する。
第8回 スタックとキュー(深さ優先探索と幅優先探索) 深さ優先探索と幅優先探索の違いを説明できるようになる。
第9回 二分木(ヒープ、二分探索木) ヒープと二分探索木とは何かを理解する。
第10回 ソートアルゴリズム(バブルソート、ヒープソート、クイックソート、マージソート) ソートアルゴリズムの違いを説明できるようになる。
第11回 バックトラック(Nクイーン問題、数独) バックトラックの考え方を説明できるようになる。
第12回 動的計画法(ナップサック問題) 動的計画法の考えかたを説明できるようになる。
第13回 最短経路問題(Warshall-Floyd, Bellman-Fordアルゴリズム) 最短経路問題が解けるようになる。
第14回 トラベリングセールスマン問題 トラベリングセールスマン問題が解けるようになる。
第15回 期末試験

教科書

特になし

参考書、講義資料等

Guido van Rossum: Pythonチュートリアル 第2版
Mark Lutz: 初めてのPython 第3版

成績評価の基準及び方法

到達度を期末試験により評価する。

関連する科目

  • IEE.A207 : プログラミング基礎(経営工学)

履修の条件(知識・技能・履修済科目等)

Pythonの基礎的な使い方の習得を前提とする。プログラミング基礎(経営工学)の履修を強く推奨する。

このページのトップへ