シラバス参照

授業情報/Course information

科目一覧へ戻る 2019/08/20 現在

授業基本情報
科目名(和文)
/Course
ソフトウェア工学
科目名(英文)
/Course
Software Engineering
時間割コード
/Registration Code
22147401
学部(研究科)
/Faculty
情報工学部
学科(専攻)
/Department
情報システム工学科
担当教員(○:代表教員)
/Principle Instructor (○) and Instructors
但馬 康宏 , 磯崎 秀樹
オフィスアワー
/Office Hour
但馬 康宏(火曜日3限)
磯崎 秀樹(月曜4限)
開講年度
/Year of the Course
2017年度
開講期間
/Term
第2クォーター
対象学生
/Eligible Students
3年次生
単位数
/Credits
2.0
授業概要情報
更新日
/Date of renewal
2017/03/27
使用言語
/Language of Instruction
日本語
オムニバス
/Omnibus
該当なし
授業概略と目的
/Cource Description and Objectives
ソフトウェア企業に勤める人はもちろん,他の企業に勤める人も,ソフトウェアはハードウェアのように目に見えないので,これだけのものを作るのには何ヶ月かかります,何百万円かかります,何億円かかります,と業者に言われても,本当かどうかわからない.自分で作るとどれくらい大変そうか,どこがネックになりそうか,と推測できる知識はあった方がよい.
また,ソフトウェアを自分で作ったり,他人に作ってもらう時に,知っていれば簡単にできることに無駄な時間やお金をかけたり,すでにあるものを再発明してしまうことがある.
そうした失敗をしないように,「ソフトウェア作成の常識」を身につける.
履修に必要な知識・能力・キーワード
/Prerequisites and Keywords
自分が好きに使えるパソコンがあった方がよい.Macでもよい.
履修上の注意
/Notes
この授業で使うPythonというプログラミング言語は,C言語よりはるかに簡単で,ポインタに悩まされずにいろんなことができる楽しい言語です.C言語が嫌いな人も歓迎します.
教科書
/Textbook(s)
なし.資料を配布します.
参考文献等
/References
それぞれのテーマに応じた参考書を必要に応じて紹介します.
自主学習ガイド
/Expected Study Guide outside Coursework/Self-Directed Learning Other Than Coursework
プログラミング言語は座学で勉強しても楽しくありません.
ぜひ自分のパソコンにPythonをインストールして使ってみましょう.
Pythonは,堅苦しいC言語とは全然違う楽しい言語です.
資格等に関する事項
/Attention Relating to Professional License
備考
/Notes
授業計画詳細情報
No. 単元(授業回数)
/Unit (Lesson Number)
単元タイトルと概要
/Unit Title and Unit Description
時間外学習
/Preparation and Review
配布資料
/Handouts
1 1 [UnixというOS]
UnixとWindowsの哲学の違いについて学ぶ.今のMacはUnixの一種である.
2 2 [Emacsというエディタ]
プログラムを書くのに使われるのがエディタとか開発環境と呼ばれるツールである.ここでは古くから使われているEmacsというエディタについて簡単に学ぶ.
3 3~4 [Pythonというプログラミング言語]
世の中にはたくさんのプログラミング言語が存在する.その背景にあるプログラミング・パラダイムとPythonの使い方を学ぶ.
4 5~6 [HTMLやXMLの解析]
今や,WordもExcelもPowerPointも,XMLという形式でデータが保存されている.そのXMLと,ウェブを支えるHTMLは非常によく似ている.Pythonでこれらを解析する方法を学ぶ.
5 7~8 [正規表現]
あるパターンに従って書かれているファイルから,中身を取り出すには,「正規表現」というパターン記述言語が便利である.その正規表現の使い方を学ぶ.
6 9~10 [再帰関数]
XMLのような木構造データを解析する場合,「再帰関数」という考え方が役に立つ.この再帰関数について学ぶ.
7 11 [並列処理]
今や,大量のデータが入手できる時代である.大量のデータを短時間で処理するには,並列処理が役にたつ.その並列処理の仕方について学ぶ.
8 12 [ソフトウェア開発]
大規模なソフトウェアをチームで開発する場合にどのようにするのがいいかについて研究するのが学問としての「ソフトウェア工学」である.旧来の「ウォーターフォール・モデル」と,最近のアプローチについて学ぶ.
9 13~15 [復習]
これまでに習ったことを身につけるために,様々な問題に取り組む.
10 16 [期末試験]
試験を行います.
授業評価詳細情報
到達目標及び観点/Learning Goal and Specific Behavioral Viewpoints
No. 到達目標
/Learning Goal
知識・理解
/Knowledge & Undestanding
技能・表現
/Skills & Expressions
思考・判断
/Thoughts & Decisions
伝達・コミュニケーション
/Communication
協働
/Cooperative Attitude
1 UnixとWindowsの考え方の違いについて説明できる.
2 Emacsというエディタについて説明できる.
3 世のなかにある様々なプログラミング・パラダイムの違いについて説明できる.
4 HTMLやXMLで書かれたデータをPythonで解析する方法を説明できる.
5 一定のパターンで書かれたファイルを正規表現で解析して,データを抽出できる.
6 並列処理にはどのような方法があるか説明できる.
7 今と昔のソフトウェア開発の考え方の違いを説明できる.
成績評価方法と基準/Evaluation of Achievement
※出席は2/3以上で評価対象となります。
No. 到達目標
/Learning Goal
定期試験
/Exam.
1 UnixとWindowsの考え方の違いについて説明できる.
2 Emacsというエディタについて説明できる.
3 世のなかにある様々なプログラミング・パラダイムの違いについて説明できる.
4 HTMLやXMLで書かれたデータをPythonで解析する方法を説明できる.
5 一定のパターンで書かれたファイルを正規表現で解析して,データを抽出できる.
6 並列処理にはどのような方法があるか説明できる.
7 今と昔のソフトウェア開発の考え方の違いを説明できる.
評価割合(%)
/Allocation of Marks
100

科目一覧へ戻る