ソフトウェア開発演習Ⅰ (130054) Exercise in Practical Software Development I (130054)
◇ 担当教員 Instructor : 飯田 元(Hajimu Iida / いいだ はじむ)、 渡場 康弘(Yasuhiro Watashiba / わたしば やすひろ)、
崔 恩瀞(Eunjong Choi / ちぇ うんじょん)、 南 裕樹(Yuki Minami / みなみ ゆうき)
◇ 単位数 Credits : 2単位 ◇ 選択・必修 Required/Elective : 選択 ◇ 講義室 Room : A207
◇ 講義スタイル Style : 演習/公開
◇ 開講時期 Quarter : Ⅲ期 木曜4・5限

◇ 授業目的 Course goals : 近年,ソフトウェアの保守や過去のソフトウェア資産を活用したシステム開発の重要性が高まっている.本演習ではパブリックに公開された、あるいは、組織内に資産として蓄積された、ソフトウェア資産を再利用するためのに理解・分析する技術を学ぶ

The importance of the software maintenance and software development reusing existing software assets developed in the past is increasing. This exercise provides training for the skills of understanding and analyzing software assets that are publicly provided or accumulated in organizations.
◇ 授業内容 Course description : 重要: 第1回(10/6 4,5限)はGitHub講習をL1教室で行います(ノートPCを持参してください)。この回は公開講義としますので、受講者以外の参加(NAIST生以外も含む)が認められています。本演習全体を受講するNAIST生は事前に本シラバスページ下部に示したサポートサイトから受講登録をしてください。それ以外の人は、学外サイトのイベントページから参加登録をしてください(登録ページのリンクはサポートサイト参照。受講者数上限あり)


・開発リポジトリのマイニングと分析 (10/6,13,20,27)


・コードリーディング (11/10,17,24,28)※28日は月曜なので注意


Lectures and exercise for the following two techniques are provided.

- Mining and analysis of the development repositories (10/6,13,20,27)

Most of the modern software development projects use repositories on the network. Repositories contain various useful information such as history of code modification or debugging. By using source code analysis tools or data mining tools, practically useful information can be obtained. Introduction of the software analysis tools and data mining tools applicable to repository mining is followed by actual analysis exercise.

- Source code reading technique (11/10,17,24(Thu),28(Mon))

Software maintenance and extension often target the huge source code written by people different from maintainers. Therefore, reading and understanding outline of source code is very important skill. Introduction of purpose of code reading and practical reading strategies is followed by exercise of practical code reading on open source code.

◇ 教科書 Textbook : 教科書は指定しない。必要に応じて資料を配布する。

No texts but slides will be provided on demand.
◇ 参考書 Reference materials : 事前講義の際に提示する。

Will be shown in lecture slides.
◇ 履修条件 Prerequisites : C言語やJava言語の基礎的な文法知識を有すること。プログラミング未経験者はプログラミング基礎演習等を事前に履修することが望ましい。


Basic knowledge of C and Java is required. Taking Programming Practice I in advance is recommended if you don't have any experience of programming.
Basic knowledge of emacs editor and other unix command line tools (such as grep, find) is preferred.

Will accept up to 40 students due to the capacity of the computer room.
◇ 成績評価 Grading : 各テーマごとに分析レポートの提出を課す。レポートの分析内容により成績の評価を行う。

Students must submit reports on exercise of every class. Total quality and amount of work are considered for evaluation (approval/not approval).
◇ オフィスアワー Office Hours : 随時。ただし、基本的にメールにて対応する。
On demand. Basically by email.
◇ 講義関連URL URL :
演習サポートサイト/ Exercise support site
◇ 配布資料 Handouts : 現在、配布資料はありません。