2014年度 シラバス学部

ソフトウェア・エンジニアリング関連科目

2015/02/01  現在

科目一覧へ戻る
開講学期
/Semester
2014年度/Academic Year  後期 /Second Semester
対象学年
/Course for;
4年
単位数
/Credits
3.0
責任者
/Coordinator
ヴィタリー クリュエフ
担当教員名
/Instructor
ヴィタリー クリュエフ , イエン ニール ユーウェン
推奨トラック
/Recommended track
SE
履修規程上の先修条件
/Prerequisites
P6

更新日/Last updated on 2014/09/27
授業の概要
/Course outline
Nowadays, the Web is not only the source of information for the end users. Companies migrate more of their business activities to Web based systems. We are facing increasing demands for professionals who can design large Web systems. Web engineering is a relatively new term in computer science. It can be defined as a discipline of systematic development of Web applications.  
授業の目的と到達目標
/Objectives and attainment
goals
The aim of this course is to study current concepts and methods for Web application engineering.
授業スケジュール
/Class schedule
The main topics covered in the course are as follows: A Web engineering process; Introduction to Rails on Ruby technology; Ruby vs. other languages;  Web application architecture; Building an Application; Finding your way around Rails; Designing and implementing an example application utilizing Ruby on Rails: a Depot Application; Tasks: Validation, Catalog display, Cart creation, A smarter cart; Universal Design for Web Applications: Google's Approach.

See the course page below for details and updates.
教科書
/Textbook(s)
Agile Web Development with Rails (4th edition) by Sam  Ruby, Dave Thomas and Devis Hansson, The Pragmatic Bookshelf, 2011.
成績評価の方法・基準
/Grading method/criteria
The final grade will be calculated based on the following contributions:
Exercises - 40%,
Quizzes during lectures - 25%,
Final examination - 35%.
履修上の留意点
/Note for course registration
JAVA Programming II

Formal prerequisites:P6 JAVA Programming II
参考(授業ホームページ、図書など)
/Reference (course
website, literature, etc.)
Course Web page:
http://web-int.u-aizu.ac.jp/~vkluev/courses/webengineering/


科目一覧へ戻る
開講学期
/Semester
2014年度/Academic Year  前期 /First Semester
対象学年
/Course for;
4年
単位数
/Credits
3.0
責任者
/Coordinator
サバシュ バーラ
担当教員名
/Instructor
サバシュ バーラ , ウォンミィング チュー , 寺薗 淳也 , マキシム モズゴボイ
推奨トラック
/Recommended track
SE
履修規程上の先修条件
/Prerequisites

更新日/Last updated on 2014/09/27
授業の概要
/Course outline
The course covers concepts in Web Programming,  for
    web sites and user interaction. The course is focused on
    developers of large scale Web based systems.
    It also covers basic knowledge at Programmer level.
授業の目的と到達目標
/Objectives and attainment
goals
It is a basic course related to Human-computer Interfaces.
It covers information Systems, Web systems Engineering,
Human-computer interaction and IT. It considers how to
present information and how to manage and implement
scalable web applications.
授業スケジュール
/Class schedule
   The following topics are to be covered,
   -XML, XHTML, JavaScript, Perl, Perl CGI programming,
   -Common Gateway Interface (CGI), Alternative technologies,
    Web Server Configuration
   -HTTP, Proxies, Content Navigation

   -CGI (environment, variables, output)
   -Server side scripting with PHP, Web Services
   -Server side scripting with JSP

   -Security: Handling user input, encryption, data storage
   -Data Persistence: files, DBMS, Database Interface
   -Middleware and XML

   -Design: models, debugging of CGI Applications
   -Application Development environments
教科書
/Textbook(s)
Programming the World Wide Web 2013, (by Sebesta) 7th Edition,
   Pearson International Edition.
成績評価の方法・基準
/Grading method/criteria
Mid-term Examination(30 points); Two short quizzes (40 points (20 points each)
Web Programming Assignments(30 points)
履修上の留意点
/Note for course registration
Algorithms and Data Structures, Computer Programming, Java Programming,
Database Systems
Formal prerequisites:None
参考(授業ホームページ、図書など)
/Reference (course
website, literature, etc.)
Useful Links: Course directory for handouts and exercise sheeets + Book, Course material, slides and notes recommended by the instructor(s).


科目一覧へ戻る
開講学期
/Semester
2014年度/Academic Year  前期 /First Semester
対象学年
/Course for;
3年
単位数
/Credits
3.0
責任者
/Coordinator
吉岡 廉太郎
担当教員名
/Instructor
アレクサンダー ヴァジェニン , 白 寅天 , ヴィタリー クリュエフ , 吉岡 廉太郎 , 裴 岩 , 星野 隆之(日本ユニシス)
推奨トラック
/Recommended track
CM,CN,SE
履修規程上の先修条件
/Prerequisites
P3

更新日/Last updated on 2014/09/27
授業の概要
/Course outline
 ソフトウェア工学は、ソフトウェア開発に関係する技術や手法に関する学問です。それは、ソフトウェアをどのように作ると良いのか、どのように管理すれば良いのかなど、理論的なものから実践的なものまで実に多くの知識を含んでいます。ソフトウェアが人々の生活をあらゆる面で支えるようになった今日、ソフトウェア工学の重要性は増す一方です。また、コンピュータに携わる技術者として、ソフトウェアに関する基礎知識としてその基本は知っておく必要があります。
 この授業では、まず、ソフトウェアを作るのに必要な(一般的な)工程を説明し、各工程が完成するソフトウェアに及ぼす影響について考えます。そして、各工程での課題について考え、関連する技術・手法を紹介します。技術や手法の紹介では、どういった課題があるのかを知り、代表的な解決策について理解してもらうことを目的とします。新しいものも古いものも、必要に応じて取り混ぜて扱います。また、ソフトウェアの種類(組み込み、ウェブ、並列など)による違いについては大きく扱わず、より一般的に通用する部分を対象とします。
 以上のように、この授業ではソフトウェア工学がどのような知識・技術群であるかを理解してもらうことに主眼を置きます。
 演習では、講義で扱う一般的な知識の理解を助けるため、より具体的な演習課題に取り組みます。各回は、開発工程のいずれかと対応しており、その工程で必要となる作業の基本を順に理解していきます。各課題は実世界の課題を意識して作られているので、理論や基本だけでは理解しづらい要素に気づくこともできます。演習を一通り実施することで、代表的な開発プロセス、開発モデルに沿ったシステム開発を体験することができ、それらの役割を理解できます。
授業の目的と到達目標
/Objectives and attainment
goals
1. ソフトウェア工学がどのような知識・技術群であるかの概略を説明できるようになる。
2. ソフトウェア開発に係る各工程(要件定義からテストまで)の特徴・課題を把握できるようになる。
3. 実際の課題について、代表的な開発プロセス、開発モデルに沿ったシステム開発が行えるようになる。
授業スケジュール
/Class schedule
第1回
講義:ソフトウェア工学とは
   ソフトウェア工学の役割を理解し、ソフトウェア開発に絡む工程について理解する。
演習:演習オリエンテーション、要件定義工程演習
   演習課題の説明
   顧客の要求を正確に把握し、明確な要求として整理し、システム化する範囲を顧客と合意する。

第2回
講義:開発プロセス&要求定義1
   要件定義工程の役割と目標を理解する。また、開発モデルとプロセスを簡単に説明する。
演習:要件定義工程演習
   顧客の要求を正確に把握し、明確な要求として整理し、システム化する範囲を顧客と合意する。

第3回
講義:要求定義2
   要件の抽出方法を理解する。また、前回に引き続き開発モデルとプロセスについて説明する。
演習:要件定義工程演習成果フィードバック
   各受講者が作成した要件定義工程の成果物に関し、教員側が例解等を提示し、演習のポイント等をフィードバックする。

第4回
講義:要求定義3
   分析工程の役割と目標を理解し、その中で重要となる抽象化について学ぶ。
演習:分析工程演習
   要件定義工程の成果物から、要求仕様を論理的に分析し、実現手段を検討する。

第5回
講義:アーキテクチャー設計1
   要件から要求仕様を導出するための要点と一般的手法について学ぶ。
演習:分析工程演習
   要件定義工程の成果物から、要求仕様を論理的に分析し、実現手段を検討する。

第6回
講義:アーキテクチャー設計2
   具体例を使い、要件から要求仕様を作成するステップを解説する。
演習:分析工程演習
   要件定義工程の成果物から、要求仕様を論理的に分析し、実現手段を検討する。

第7回
講義:アーキテクチャー設計3
   設計工程の役割、目標、基本的な作業について学ぶ。
演習:分析工程演習成果フィードバック
   各受講者が作成した分析工程の成果物に関し、教員側が例解等を提示し、演習のポイント等をフィードバックする。

第8回
講義:モジュール設計1
   設計を行う際の土台となる構造化モデルとアーキテクチャについて理解する。
演習:詳細設計工程演習
   システムに必要な機能やオブジェクトの構造や振る舞いを、実装を考慮して詳細化する。

第9回
講義:モジュール設計2
   オブジェクト指向設計の基本について理解する。
演習:詳細設計工程演習
   システムに必要な機能やオブジェクトの構造や振る舞いを、実装を考慮して詳細化する。

第10回
講義:モジュール設計3
   デザインパターンやコンポーネントの役割など、設計時に留意すべき要素について理解する。
演習:詳細設計工程演習
   システムに必要な機能やオブジェクトの構造や振る舞いを、実装を考慮して詳細化する。

第11回
講義:製造
   製造工程の役割と目標を理解する。
演習:詳細設計工程演習成果フィードバック
   各受講者が作成した詳細設計工程の成果物に関し、教員側が例解等を提示し、演習のポイント等をフィードバックする。

第12回
講義:テスト1
   テスト工程の役割と目標を理解する。
演習:製造工程&テスト工程演習
   ソフトウェアのソースコードを作成する。

第13回
講義:テスト2
   単体テストの役割と目標を理解する。
演習:製造工程&テスト工程演習
   ソフトウェアのソースコードを作成し、テストを行う。

第14回
講義:テスト3
   結合・システムテストの役割と目標を理解する。
演習:製造工程&テスト工程演習
   ソフトウェアのソースコードを作成し、テストを行う。

第15回
講義:まとめ、ソフトウェア工学の将来
   講義および演習を含め、学んだこと振り返り、要点をまとめます。
演習:製造・テスト工程演習成果フィードバック
   各受講者が作成した製造・テスト工程の成果物に関し、教員側が例解等を提示し、演習のポイント等をフィードバックする。
教科書
/Textbook(s)
講義および演習の工程毎に講義資料を配布する。
副読本に関しては、開講時に指示する。
成績評価の方法・基準
/Grading method/criteria
以下の項目で評価します。
 1. クイズ 5%
 2. 期末試験 60%
 3. 演習 35%
演習は要求課題を充足している度合いを評価します。
各演習課題は原則時間内提出とし、最終提出を翌週火曜日24:00とします。
期末試験では演習課題の内容に対する理解を確認する問題も出題します。
履修上の留意点
/Note for course registration
履修上の留意点
演習は個人で行います。
他の受講者と演習課題に関し議論することは、理解を深める上で有益であるため奨励します。しかし、成果物の丸写し等が発覚した場合には、然るべきペナルティを与えるものとします。
演習課題に対応するために必要な技術(UMLの扱い、Javaプログラミング等)について、スキルが足りない場合には、時間外の自助努力を求めることがある。

欠席は、やむをえない場合を除いて減点とします。

履修規程上の先修条件:P3 プログラミングJAVA I
参考(授業ホームページ、図書など)
/Reference (course
website, literature, etc.)
http://borealis.u-aizu.ac.jp/classes/se1
Moodle http://sealpv0.u-aizu.ac.jp:20000/


科目一覧へ戻る
開講学期
/Semester
2014年度/Academic Year  後期 /Second Semester
対象学年
/Course for;
3年
単位数
/Credits
3.0
責任者
/Coordinator
アレクサンダー ヴァジェニン
担当教員名
/Instructor
アレクサンダー ヴァジェニン , 渡部 有隆
推奨トラック
/Recommended track
履修規程上の先修条件
/Prerequisites
SE3

更新日/Last updated on 2014/09/27
授業の概要
/Course outline
This course covers many current topics of interest in software engineering. Some of the topics covered are formal methods to specify requirements of software systems, software reuse, software maintenance, software maintenance models, and evaluation of processes, products, and resources. It includes Advanced Treatment of Selected Software Engineering issues: Software Maintenance, Software Configuration Management, Software Re-engineering, Managing People, Critical Systems Development, User Interface Design and Evaluation, Emerging Technologies like Visual Programming, Security Engineering, and other advanced topics including student presentation topic as well as student engineering topic.
授業の目的と到達目標
/Objectives and attainment
goals
The course can be useful for undergraduate and graduate students. It may be used in general software engineering, software specification, software design and management. The objective of the course is to impart knowledge to students about methods in software development. The methods range from how to precisely specify software requirements to how to evaluate the methods and their products and required resources. This is achieved in three parts: first, lectures are given on several current topics of interest; second, students are asked to make a presentation on a topic interesting to them; and third, students are given a programming project to design and implement a system using the Object-Oriented (Java) and Visual Programming paradigm.
授業スケジュール
/Class schedule
Lecture 1: The Nature of Software Engineering
Topics to study:
- How did software engineering become a term?
- Is there a good technical solution to software development problems?
- How and why are agile methods considered more people-affirming?
- Compare software engineering with other professions.

Lecture 2: Revisioning Software
Topics to study:
- Collaborative development problems,
- Revision control,
- VCS terminology,
- Collaborative development and conflict resolution.

Lecture 3: The Human Factors in Software Engineering
Topics to study:
-Human Diversity;
-Limits to Thinking;
-Knowledge Modeling;
-Personality Types;
-Human Factors Engineering.

Lecture 4: The Managing People and Team Work
Topics to study:
-Selecting and Motivating Staff
-Ego-less Programming
-Managing Groups
-The People Capability Maturity Model

Lecture 5-7: Software Development Tools
Topics to study:
-Performance analysis tools
-Debugging tools
-Static analysis and formal verification tools
-Correctness checking tools
-Memory usage tools
-Application build tools
-Integrated development environments
-A Review of Visual Programming Tools
-Movie-based Programming Concepts

Lecture 8-9: User Interface Design and Evaluation
Topics to study:
-User Interface Design Principles
-User Interaction Styles
-Information Presentation
-GUI Features
-Message System Features
-System Documentation
-User Interface Design Process
-Interface Evaluation

Lecture 10: Code Writing
Topics to study:
-Organization and Purposes
-Quality requirements
-Algorithmic complexity
-Methodologies
-Measuring language usage
-Debugging

Lecture 11: Software change: Maintenance and Architectural Evolution
Topics to study:
-Program evolution dynamics
-Software maintenance
-Architectural evolution

Lecture 12: Software re-engineering
Topics to study:
-Source code translation
-Reverse engineering
-Program structure improvement
-Program modularization
-Data re-engineering

Lecture 13: Critical systems development
Topics to study:
-Dependable processes
-Dependable programming
-Fault tolerance
-Fault tolerant architectures

Lecture 14: Software Security Engineering
Topics to study:
-Security concepts
-Security risk management
-Design for security
-System survivability

Lecture 15: Service-Oriented Software Engineering
Topics to study:
-Services as reusable components
-Service engineering
-Software development with services
教科書
/Textbook(s)
1.Software Engineering, 5-9 th editions by Ian Sommerville, publisher: Addision-Wesley
2.Human Aspects of Software Engineering by J.E. Tomayko and O. Hazzan, Charles River Media Inc., 2004
3. User Interface Design and Evaluation by D. Stone, C. Jarrett, M.Woodroffe, Sh. Mincha
4. Lecture notes distributed by the instructor will be developed from materials collected from books, journals and proceedings papers.
成績評価の方法・基準
/Grading method/criteria
Your final grade includes the following parts
1). All Lab Exercises: 50 points in total including:
* Presentation Topic: 20 points
* Engineering Topic: 30 points
- All reports submitted: 20 points
- The GUI Interface designed:10 points
2). Midterm Test: 25 points
3). Final Exam: 25 points
履修上の留意点
/Note for course registration
Software Engineering I, Programming I and II, Java Programming I and II

履修規程上の先修条件:SE3 ソフトウェア工学 I
参考(授業ホームページ、図書など)
/Reference (course
website, literature, etc.)
1. Course WWW-site: http://sealpv0.u-aizu.ac.jp/moodle/
2. Software Engineering: A Practitioner's Approach, 4th edition by Roger S. Pressman, publisher: McGraw-Hill


科目一覧へ戻る
開講学期
/Semester
2014年度/Academic Year  前期 /First Semester
対象学年
/Course for;
4年
単位数
/Credits
3.0
責任者
/Coordinator
吉岡 廉太郎
担当教員名
/Instructor
吉岡 廉太郎 , 川口 立喜
推奨トラック
/Recommended track
SE
履修規程上の先修条件
/Prerequisites
P6

更新日/Last updated on 2014/09/27
授業の概要
/Course outline
履修学生でチームを組み、顧客の求めるソフトウェアの開発を行うことを通してソフトウェア工学に対する理解を深める授業です。
授業では、顧客から実際に注文を受け、一つの注文を一つの学生チームが受け持ちます。通常8〜10名程度のチームになります。各チームは、顧客の要望を聞き取るヒアリングから始め、開発すべきソフトウェアの要件を決定するところから始めます。その後、設計、開発、テストの各開発工程を実施し、第15回授業内で開発作業の概要および成果物の発表を行い、顧客に納品します。
各チームには産業界から派遣されるコーチが付き開発実務のアドバイスを行います。毎週教員・コーチに進捗を報告するとともに、必要に応じて顧客と打合せを持ちます。開発の各行程は成果物(ドキュメント類)で管理し、各工程を終了する度に提出していきます。顧客も参加する中間レビューと最終レビューでは、作業時間数、成果物の量、質などを定量的に分析して報告を行います。
顧客によって定められた機能と品質を満たし、顧客にとって最良のソフトウェアを提供するため、創造と努力の限りを尽くします。そのため、必要となる新たな知識・技術を身につけたり、なんども修正したりするため、授業外の作業時間は当然発生します。チームを構成する全学生の自主的で主体的な取り組みが必須です。
授業の目的と到達目標
/Objectives and attainment
goals
1. 一定の(要求された)機能と品質を満足するソフトウェアを開発するにあたっての課題に気づき、それらを解決する基本的な手法を学ぶ。
2. リソース(人、物、時間など)が限られた中でソフトウェアを完成するためにプロジェクト管理が必要であることを実感し、ソフトウェア工学で学んだ各工程(要求定義・分析、設計、開発、テスト)の手法を実践する。
3. 異分野の技術にまたがる問題の特定や正確な情報伝達など、現実世界で直面する流動的な環境への迅速な対応の必要性を体験し、それに対応するための手法を学ぶ。
履修学生は、上記1〜3を通して、比較的大規模で、実用に耐えうるソフトウェアの開発の課題について理解することができる。
授業スケジュール
/Class schedule
各回の授業(二限分)では、
1. 各チームによる進捗報告(各10分)
2. 進捗報告に対するフィードバック
3. その週の作業の進め方と留意点に関する講義
4. チーム毎に顧客との打合せ
を行います。

第1回:立ち上げ
チーム内での役割分担を決め、プロジェクト管理システムの準備、要求依頼書を読む
第2回:計画立案
顧客へのヒアリングを行い、要求定義以降の開発プロセスを実行するためのプロジェクト計画を立案する
第3回:計画立案
 プロジェクト計画を立案し、顧客の承認を得る
第4回:要件定義
 課題から要求を正確に把握し、明確な要求として整理し、システム化する範囲を顧客と合意する。
第5回:要件定義
課題から要求を正確に把握し、明確な要求として整理し、システム化する範囲を顧客と合意する。
第6回:要件定義
課題から要求を正確に把握し、明確な要求として整理し、システム化する範囲を顧客と合意する。
第7回:中間レビュー
顧客が要件定義の成果物を精査し、以降のフェーズに着手してよいかどうかの判断を行う。
第8回:分析
要件定義工程の成果物から、要求仕様を論理的に分析し、実現手段を検討する。
第9回:分析
 要件定義工程の成果物から、要求仕様を論理的に分析し、実現手段を検討する。
第10回:設計
システムに必要な機能やオブジェクトの構造や振る舞いを、実装を考慮して詳細化する。
第11回:設計
システムに必要な機能やオブジェクトの構造や振る舞いを、実装を考慮して詳細化する。
第12回:開発
ソフトウェアのソースコードを作成する。
第13回:開発&テスト
ソフトウェアのソースコードを作成し、テストを行う。
第14回:テスト
 ソフトウェアのテストを行う。
第15回:最終レビュー
顧客がテスト結果および、詳細設計以降の成果物の内容を精査し、受け入れが妥当か否かを判断する。

※チームごとにスケジュール管理と作業を行うので進捗は変わってきますが、中間レビューと最終レビューの日付は変えられません。

教科書
/Textbook(s)
※必要に応じて講義資料を配布する
成績評価の方法・基準
/Grading method/criteria
期末試験は行わず、以下の項目で評価する
1. 中間レビューと最終レビューでの発表25%
2. 成果物(ドキュメントおよびソフトウェア)25%
3. 個人レポート 40%
4. 出欠等 10%
※各学生の貢献度は進捗報告とプロジェクト管理システムで確認する。
※評価には顧客とコーチの意見も取り入れる。
※個人レポートでは、プロジェクトでの活動・貢献内容やソフトウェア工学とプロジェクトマネジメントの知識・理解に関する質問について論じてもらいます。
履修上の留意点
/Note for course registration
重要な関連科目:ソフトウェア工学Ⅰ、プログラミング言語の科目(ただし、これらを履修していなくても受講できます)
プロジェクトごとに必要とされる知識・技術が異なります。
開発に必要な技術・知識(設計、プログラミング等)について、スキルが足りない場合には、時間外の自助努力を求めます。
授業およびミーティングへの参加は必須です。無断での欠席、遅刻、途中退席は、やむをえない場合を除いて減点とします。

履修規程上の先修条件:P6 プログラミングJAVA II
参考(授業ホームページ、図書など)
/Reference (course
website, literature, etc.)
http://borealis.u-aizu.ac.jp/classes/studio/


科目一覧へ戻る
開講学期
/Semester
2014年度/Academic Year  後期 /Second Semester
対象学年
/Course for;
3年
単位数
/Credits
3.0
責任者
/Coordinator
マキシム モズゴボイ
担当教員名
/Instructor
マキシム モズゴボイ
推奨トラック
/Recommended track
履修規程上の先修条件
/Prerequisites

更新日/Last updated on 2014/09/27
授業の概要
/Course outline
A distributed system is a collection of autonomous computers linked by a network, with software designed to produce an integrated computing facility. A distributed application consists of collaborating objects residing on separate nodes of a network. It is obvious now that distributed systems have become pervasive because many applications require the cooperation of two or more computers. Moreover, the design and implementation of such systems and corresponding software remain challenging and complex tasks. We believe that this computer science course should actively engage the students in exploring the concepts of distributed computing. The course content includes and characterizes Distributed Systems Architectures, Distributed Software Design Issues, Programming Models and Paradigms, explores their services and implementations.
授業の目的と到達目標
/Objectives and attainment
goals
At the end of the course the student should be able to:
- Estimate the features and metrics of the distributed applications and software.
- Distinguish advantages and problems of distributed computing.
- Explain some details of data parallel processing.
- Know how to design client-server applications.
- Show experience in parallel programming.

授業スケジュール
/Class schedule
1. Principles of the Distributed Software Engineering: Classifications, Metrics, and Design Issues,
2. Shared Memory Programming: Basic Concepts, Thread Models, Structured Shared-memory Programming, Distributed Shared-memory,
3. Message Passing Models: Inter-process Communications, MPI and PVM systems, SPMD/MPMD, Master/Slave and Divide/Conquer Paradigms,
4. Client-Server Computing: Models and Application Areas, Sockets, Code Mobility and Agents,
5. Distributed Object Architectures: DCOM, CORBA, Remote Method Invocation,
6. Special Topics of Distributed Software Engineering: Performance, Accuracy, High-Level Programming Models, Cluster and GRID Computing.

教科書
/Textbook(s)
Distributed Systems: Principles and Paradigms by Andrew S. Tanenbaum and Maarten van Steen, Prentice Hall, 2007,

Distributed Systems Concepts and Design by George Coulouris, Jean Dollimore and Tim Kindberg, Fourth Edition, Addison Wesley,2005

M. Ben-Ari. Principles of Concurrent and Distributed Programming, 2nd Ed. Addison-Wesley, 2006.

G. R. Andrews. Foundations of Multithreaded, Parallel, and Distributed Programming. Addision-Wesley, 2000.

M. L. Liu, Distributed Computing: Principles and Applications, Addison-Wesley, 2004.


成績評価の方法・基準
/Grading method/criteria
Students should be prompt for lectures, labs, and exams. Programming assignments must be turned in by the stated date and time. To pass this course, all the requirements must be satisfactorily completed.
The course final grade includes the following parts:

1. Lab Exercises: 20 points.
2. Homework: 30 points.
3. Exams: 50 points (at the middle and at the end of the course).
履修上の留意点
/Note for course registration
The presented course is not an introductory subject. It is intended for students who already have basic experience in programming such as C/C++ and Java Programming, Algorithms and Data Structures, Object-Oriented Programming, Operating Systems.

Formal prerequisites:None
参考(授業ホームページ、図書など)
/Reference (course
website, literature, etc.)
Course moodle: www.tinyurl.com/aizu-dc