CMD体育_cmd体育平台@

图片


授業科目名(和文)
[Course]
ソフトウェア工学 <ソフトウェア設計>
授業科目名(英文)
[Course]
Software Engineering <Software Design>
学部(研究科)
[Faculty]
情報工学部
学科(専攻)
[Department]
情報システム工学科
担当教員(○:代表教員)
[Principle Instructor(○)
and Instructors]
○磯崎 秀樹  自室番号(2506)、電子メール(isozaki**cse.oka-pu.ac.jp)
※利用の際は,** を @に置き換えてください
単位数
[Point(Credit)]
後期 2単位
対象学生
[Eligible students]
3年次生
授業概略と目標
[Course description and Objects]
ソフトウェアを自分で作ったり、他人に作ってもらう時に、知っていれば簡単にできることに無駄な時間やお金をかけたり、すでにあるものを再発明してしまうことがある。
そうした失敗をしないように、「ソフトウェア作成の常識」を身につける。
到達目標
[Learning Goal]
?オープンソースソフトウェア(OSS)をインストールできるようになる。
?Unix、Python、正規表現、XMLを使いこなせるようになる。
?バージョン管理の必要性を説明できる。

授業計画とスケジュール
[Course schedule]
1. OSSのインストール
  便利なソフトのソースコードがたくさん公開されている。これらをインストールして使いこなすには、Unixの知識が必要である。
  そのために必要な知識を学ぶ。
2. バージョン管理システム
  OSSを入手しようとすると、gitなどのバージョン管理システムの知識が必要になることがある。バージョン管理とは何か、なぜ必要かを学ぶ。
3. Unixの哲学とツール
  UnixはWindowsとはまったく異なる思想に基づいている。その哲学とツールを学ぶ。
4. Python
  Pythonは、C言語やJavaより気楽に使えて、かつ機能の豊富な人気のプログラミング言語である。
5. XML
最近のソフトの多くは、データをXMLで出力する。そこで、PythonでXMLを読み書きする方法を学ぶ。
6. 正規表現
  Unixで、ある特定の文字列を含むファイルを見つけるにはgrepというコマンドを用いる。
  grepは「正規表現」で書いたパターンを見つけられる。Pythonではもっと複雑な正規表現が利用できる。
7. Pythonのオブジェクト指向
  Pythonでもオブジェクト指向プログラミングができるが、Javaとは若干違っている。
8. 再帰関数
  木構造データを扱うプログラムは、再帰関数で書くと簡単なことが多い。再帰関数の考え方に慣れる。
9. 大規模ソフトウェアの開発法
  「ウォーターフォールモデル」と呼ばれる古典的な開発法に対して、最近はもっと柔軟な開発手法が提唱されている。
10. 並列処理
 マルチプロセスとマルチスレッドの違いや、MapReduce?GPGPUなどについて学ぶ。
11. リスト、タプル、辞書、集合
  Pythonに組み込まれているデータ構造について学ぶ。
12. 文章から高頻度語を求める。
  Pythonのタプル?リストなどのデータ構造を使いこなすと、高頻度語を簡単に求めることができる。
  そのやり方を学ぶ。
13. 復習
14. 復習
15. 復習


成績評価方法と基準
[Grading policy (Evaluation)]
毎回の授業の初めに行う復習(15%)と期末試験(85%)で評価する。
開講年度
[Year of the course]
28