2024/01/30 現在 |
コンピテンシーコード表を開く 科目一覧へ戻る |
開講学期 /Semester |
2023年度/Academic Year 前期 /First Semester |
---|---|
対象学年 /Course for; |
3年 |
単位数 /Credits |
3.0 |
責任者 /Coordinator |
齋藤 寛 |
担当教員名 /Instructor |
齋藤 寛, 小平 行秀, 荊 雷, レ ドアン ホアン |
推奨トラック /Recommended track |
- |
先修科目 /Essential courses |
- |
更新日/Last updated on | 2023/03/20 |
---|---|
授業の概要 /Course outline |
(ICTGクラスの担当は荊雷先生です。) Raspberry Piは、教育用途に開発された安価な基板で、Linuxの下、プログラム開発、センサーやアクチュエータとの連携、および深層学習など様々なことに利用することができる。そのため、ソフトウェア、ハードウェアを含んだコンピュータシステムを理解する上では最も適した教材の一つで、世界中の様々なところで利用されている。 |
授業の目的と到達目標 /Objectives and attainment goals |
[対応する学習・教育到達目標] (A) 技術者としての専門的・倫理的責任を自覚し、情報科学技術を駆使して社会における要求を分析し、技術的課題を設定・解決・評価することができる (F) 他分野の人を含めた他者との協働において、自己及び他者のなすべき行動を判断し、実行・働きかけるとともに、与えられた制約の下で計画的に仕事を進め、まとめることができる [コンピテンシーコード] C-PB-006, C-PB-007 本演習の目的は、Raspberry Piを用いてコンピュータシステムを構築し、実際に動かすことでコンピュータシステムを理解することである。演習課題を通じて、学生は以下を学ぶ。 1. Rasbperry Piの構成とシステムの各種設定 2. Pythonによるプログラミング 3. センサーとアクチュエータの制御 4. カメラの利用による画像データの取得 最終的に、自分のアイディアをRaspberry Piで実現することを目的とする。 |
授業スケジュール /Class schedule |
基本 1 授業の紹介、Raspberry Piの説明 (演習課題1)Raspberry Piの設定 2 Raspberry Piの設定とPythonによるプログラミング (演習課題2)アプリケーションのインストールの仕方、エディタやブラウザの使い方、Pythonによるプログラミング 応用 3-4 Raspberry piと外部機器との接続の説明 (演習課題4)GPIOとI2Cによるセンサーとアクチュエータの制御 5 カメラによる画像撮影 (演習課題5)カメラによる画像撮影 6-7 WebIOPiの説明 (演習課題6)WebIOPiによるスマホからの制御 発展 8 Raspberry piを用いた個別課題と発表について (演習課題7)自分のアイディアをRaspberry Piで実現する 9 - 12 (演習課題7)自分のアイディアをRaspberry Piで実現する 13, 14 発表会 各自、発表3分、交換+予備1分でプレゼンテーション その後、レポートの提出 |
教科書 /Textbook(s) |
指定なし |
成績評価の方法・基準 /Grading method/criteria |
演習課題1-6 42% 演習課題7 58% 演習課題7で発表を行わない場合、単位認定にはなりません. |
履修上の留意点 /Note for course registration |
演習を通じて、コンピュータシステムを理解するためにも、履修者全員が個別で演習課題を行うようにする。 |
参考(授業ホームページ、図書など) /Reference (course website, literature, etc.) |
林、”ラズベリーパイで遊ぼう!”、ラトルズ |
コンピテンシーコード表を開く 科目一覧へ戻る |
開講学期 /Semester |
2023年度/Academic Year 後期 /Second Semester |
---|---|
対象学年 /Course for; |
3年 |
単位数 /Credits |
3.0 |
責任者 /Coordinator |
富岡 洋一 |
担当教員名 /Instructor |
富岡 洋一, 中里 直人, 奥山 祐市, イドゥニン パシャ ビン イブラヒム |
推奨トラック /Recommended track |
- |
先修科目 /Essential courses |
- |
更新日/Last updated on | 2023/03/20 |
---|---|
授業の概要 /Course outline |
(ICTGクラスの担当は奥山先生です。) 本演習ではField-Programmable Gate Array (FPGA)を利用した組込みシステム開発について学びます.FPGAはユーザが論理や配線を自由に変更できる集積回路で,設計した回路を現場ですぐにFPGA上に実装し検証することが可能です.製造後には論理や配線が固定化されてしまうApplication Specific Integrated Circuit (ASIC)に比べて,FPGAはエンジニアリングコストと開発期間を削減できることが知られています.組込みシステムではマイコンが良く用いられますが,音声処理,画像処理等のように計算量が多いアプリケーションでは多くの場合マイコンだけでは十分な速度を実現できません.このようなとき,FPGA上にターゲットアプリケーションを大規模並列処理する専用回路を実装することで,消費電力は低く保ちつつリアルタイム処理を実現します.このため,今日の組込みシステム開発ではFPGAはマイコンと並んで必要不可欠なデバイスとなっています.本演習ではスイッチ,LEDの制御や画像処理を題材に,ソフトウェアとハードウェアを合わせた組込みシステム開発を基礎から学んでいきます. |
授業の目的と到達目標 /Objectives and attainment goals |
[対応する学習・教育到達目標] (A) 技術者としての専門的・倫理的責任を自覚し、情報科学技術を駆使して社会における要求を分析し、技術的課題を設定・解決・評価することができる (F) 他分野の人を含めた他者との協働において、自己及び他者のなすべき行動を判断し、実行・働きかけるとともに、与えられた制約の下で計画的に仕事を進め、まとめることができる [コンピテンシーコード] C-AR-009, C-AR-010, C-AR-019, C-PB-008 1. 学生は論理回路設計論、論理回路設計特論、コンピュータアーキテクチャ論、プログラミングC等の内容を復習しながら、横断的に学ぶことでコンピュータシステムの理解を深めます. 2. 学生は周辺回路の制御モジュールや画像処理モジュールの設計,モジュール間のインターコネクト設計,FPGAへの実装,検証を通して、実践的なシステム設計の知識と技能を習得します. |
授業スケジュール /Class schedule |
第1回:チュートリアル Quartus PrimeとNios II EDSの使い方を学ぶ. 第2,3,4回:組込みシステムプログラミング Nios II EDSを用いた組込みシステムのソフトウェア開発について学ぶ. 第5,6,7回:組込みシステム設計 Quartus PrimeのPlatform Designer上でNios II Processorやペリフェラルモジュールを利用してシステムを設計する方法を学ぶ. 第8,9,10回:Nios IIプロセッサを利用した画像処理システム Nios IIプロセッサを用いて線形フィルタリングなどの画像処理システムを構築する. 第11,12,13,14回: 発展演習課題 プログラム開発と回路設計の2種類の応用課題から一方を選択して、より発展的なシステムを構築する。 |
教科書 /Textbook(s) |
指定なし |
成績評価の方法・基準 /Grading method/criteria |
レポート100% |
履修上の留意点 /Note for course registration |
関連性が高い科目:論理回路設計論、論理回路設計特論、コンピュータアーキテクチャ論、プログラミングC |
参考(授業ホームページ、図書など) /Reference (course website, literature, etc.) |
圓山 宗智,完全版 FPGA電子工作オールインワン・キット (トライアルシリーズ) 単行本,CQ出版 小林 優,FPGAボードで学ぶ組込みシステム開発入門 [Intel FPGA編] 改定2版,技術評論社 |
コンピテンシーコード表を開く 科目一覧へ戻る |
開講学期 /Semester |
2023年度/Academic Year 前期 /First Semester |
---|---|
対象学年 /Course for; |
3年 |
単位数 /Credits |
3.0 |
責任者 /Coordinator |
渡部 有隆 |
担当教員名 /Instructor |
渡部 有隆, 西舘 陽平, 朱 欣, マルコフ コンスタンティン |
推奨トラック /Recommended track |
- |
先修科目 /Essential courses |
- |
更新日/Last updated on | 2023/03/20 |
---|---|
授業の概要 /Course outline |
ソフトウェア開発は、ソフトウェアに求められる要件(機能)を理解し、要件を満たす設計を行い、設計通りにソフトウェアを構築する総合的な活動です。これらの活動を適切に行うには、プログラミングやソフトウェア工学はもとより、さまざまな知識と技術を組み合わせながら開発を推進する実践的な能力が必要となります。 ソフトウェア総合演習では、学生が2-3人のチームで与えられた課題を解決するソフトウェアの開発を通してソフトウェア開発の実践的な能力を身につけます。課題は授業の始めにチーム毎に指定され、3週間1フェーズで段階的に開発を行い、中間レビューでの進捗報告と最終レビューでの成果報告を行います。また、同じ課題に取り組むチーム間で成果物の性能を競い合います。また、開発作業はツールを使って計画・管理し、開発過程を記録する方法を実践します。 ソフトウェア総合演習Ⅰでは1~2年までに学んだ各科目の内容を使った総合的なソフトウェア開発を実施します。開発の内容は、データ演算を中心としたソフトウェアを対象とし、適切なデータ構造やアルゴリズムの選択と実装を意識した開発を行います。 |
授業の目的と到達目標 /Objectives and attainment goals |
[対応する学習・教育到達目標] (A) 技術者としての専門的・倫理的責任を自覚し、情報科学技術を駆使して社会における要求を分析し、技術的課題を設定・解決・評価することができる (F) 他分野の人を含めた他者との協働において、自己及び他者のなすべき行動を判断し、実行・働きかけるとともに、与えられた制約の下で計画的に仕事を進め、まとめることができる [コンピテンシーコード] C-SD-003, C-SD-004, C-SE-001, C-SE-002 1. 比較的小規模なソフトウェアについて要求を理解しモデル化できるようになる 2. 比較的小規模なソフトウェアについて機能および品質要件を意識した設計できるようになる 3. 開発環境の構築と開発作業の初歩的な管理ができるようになる 4. 設計通りにソフトウェアが構築できていることを検証できるようになる |
授業スケジュール /Class schedule |
各回の授業(3コマ)では、 1. 各チームの進捗確認と教員からのフィードバック 2. その週の作業の進め方と留意点に関する説明 3. チーム毎のミーティングと開発作業 を行います。 第1回:チーム分け, 開発環境構築 チームを結成し、役割分担を行い、開発環境を準備する。 第2回:課題設定と計画立案 課題を受け取り、要件を整理し、段階的に開発するための計画を立てる。 第3回:フェーズ1 要件定義 最初のフェーズで実装する要件を整理し、設計を開始する。 第4回:フェーズ1 設計・開発 対象範囲の設計を行い、開発を行う。 第5回:フェーズ1 デモ 開発途中のソフトウェアの動作を確認し、要件、設計、実装の計画を見直す。 第6回:フェーズ2 要件定義 本フェーズで実装する開発する要件を整理し、設計を開始する。 第7回:フェーズ2 設計・開発 対象範囲の設計を行い、開発を行う。 第8回:フェーズ2 デモ(中間レビュー) 開発途中のソフトウェアの動作を確認し、要件、設計、実装の計画を見直す。 第9回:フェーズ3 要件定義 本フェーズで実装する開発する要件を整理し、設計を開始する。 第10回:フェーズ3 設計・開発 対象範囲の設計を行い、開発を行う。 第11回:フェーズ3 デモ 実装できたソフトウェアの動作を確認し、テストおよび最終発表に向けた計画を確認する。 第12回:テスト計画 テスト計画を立て、テストを実施する。 第13回:テスト・改修 改修とテストを繰り返し、品質を向上する。 第14回:最終レビュー 成果物の内容およびテスト結果を精査し、受け入れが妥当か否かを判断する。 |
教科書 /Textbook(s) |
必要に応じて資料を配布する。 |
成績評価の方法・基準 /Grading method/criteria |
以下の項目で評価します。 1. 各レビュー(中間と最終)での発表25% 2. 成果物(ドキュメントおよびソフトウェア)40% 3. 期末試験(個人面談) 25% 4. 活動への参加と貢献度 10% ※成果物の評価では、要件の充足率(機能の有無と精度)、性能、創造性、新規性を評価します。 ※各学生の貢献度は活動への取り組み姿勢と各レビューの内容および開発記録で確認します。 ※期末試験の形態と内容については授業の開始時に改めて定めますので確認してください。 |
履修上の留意点 /Note for course registration |
・この授業は実践活動を行うため学生には主体的な参加が求められます。 ・活動の性質上、課題ごとに必要とされる知識・技術が異なります。開発に必要な技術・知識(設計、プログラミング等)について、スキルが足りない場合には自助努力を求めます。 |
参考(授業ホームページ、図書など) /Reference (course website, literature, etc.) |
Prof. Zhu has working experiences. He has collaborated with some corporations in the research and development of algorithms for the software of signal and image processing since 2003. In 2003-2016, he developed algorithms for ECG signal processing with Nihon Kohden and ECG Technology Corp. In 2013-2015, he developed algorithms for sleep monitoring with Asahi Denshi Corp. Now he is developing image processing algorithms for endoscopy with Fujifilm Corp. 実務経験あり(渡部):現在、株式会社Giveryとの共同研究において、企業における人材育成、人材評価、研修・教育に活用することができるオンランプログラミングスキルチェックツールを開発している。主要コンテンツの1つとして、アルゴリズムとデータ構造に関する問題及びテストデータを数多く提供している。この経験をもとに、幅広いアルゴリズムとデータ構造の理論と実践を教授する。 授業形態:演習 |
コンピテンシーコード表を開く 科目一覧へ戻る |
開講学期 /Semester |
2023年度/Academic Year 後期 /Second Semester |
---|---|
対象学年 /Course for; |
3年 |
単位数 /Credits |
3.0 |
責任者 /Coordinator |
吉岡 廉太郎 |
担当教員名 /Instructor |
吉岡 廉太郎, ファヨール ピエール アラン, モズゴボイ マキシム, ラゲ ウダイ キラン |
推奨トラック /Recommended track |
- |
先修科目 /Essential courses |
事前に学んでおいてほしい科目一覧(下記科目内容の一部ないし全部を既知として授業を進めます) IE03ソフトウェア総合演習Ⅰ FU14ソフトウェア工学概論 |
更新日/Last updated on | 2023/03/20 |
---|---|
授業の概要 /Course outline |
ソフトウェア開発は、ソフトウェアに求められる要件(機能)を理解し、要件を満たす設計を行い、設計通りにソフトウェアを構築する総合的な活動です。これらの活動を適切に行うには、プログラミングやソフトウェア工学はもとより、さまざまな知識と技術を組み合わせながら開発を推進する実践的な能力が必要となります。 ソフトウェア総合演習では、学生が3-5人のチームで与えられた課題を解決するソフトウェアの開発を通してソフトウェア開発の実践的な能力を身につけます。課題は授業の始めにチーム毎に指定され、3週間1フェーズで段階的に開発を行い、中間レビューでの進捗報告と最終レビューでの成果報告を行います。同じ課題に取り組むチーム間で成果物を競い合います。また、開発作業はツールを使って計画・管理し、開発過程が常に明らかになるよう実践します。 ソフトウェア総合演習Ⅱでは1~3年前期までに学んだ各科目の内容を使った総合的なソフトウェア開発を実施します。開発の内容は、ソフトウェア総合演習Ⅰで取り組んだ内容に加え、オブジェクト指向による設計、データベースの利用、ユーザインタフェースを含む課題に取り組みます。 この演習は、感染拡大の情勢に応じて、通常の対面形式または遠隔/ウェブ会議形式での実施を予定しています。実際の実施形式は学期の始めに決定して履修者に通知します。 |
授業の目的と到達目標 /Objectives and attainment goals |
[対応する学習・教育到達目標] (A) 技術者としての専門的・倫理的責任を自覚し、情報科学技術を駆使して社会における要求を分析し、技術的課題を設定・解決・評価することができる (F) 他分野の人を含めた他者との協働において、自己及び他者のなすべき行動を判断し、実行・働きかけるとともに、与えられた制約の下で計画的に仕事を進め、まとめることができる [コンピテンシーコード] C-GV-001, C-HI-003, C-SD-003, C-SE-001, C-SE-002, C-SP-002 1. ソフトウェアについて要求を理解しモデル化できるようになる 2. ソフトウェアについて機能および品質要件を意識した設計できるようになる 3. 開発環境の構築と開発作業の管理ができるようになる 4. 設計通りにソフトウェアが構築できていることを検証できるようになる 5. ソフトウェアが要求を満たしているか妥当性確認できるようになる |
授業スケジュール /Class schedule |
各回の授業(3コマ)では、 1. 各チームの進捗確認と教員からのフィードバック 2. その週の作業の進め方と留意点に関する説明 3. チーム毎のミーティングと開発作業 を行います。 第1回:チーム分け, 開発環境構築 チームを結成し、役割分担を行い、開発環境を準備する。 第2回:課題設定と計画立案 課題を受け取り、要件を整理し、段階的に開発するための計画を立てる。 第3回:フェーズ1 要件定義 最初のフェーズで実装する要件を整理し、設計を開始する。 第4回:フェーズ1 設計・開発 対象範囲の設計を行い、開発を行う。 第5回:フェーズ1 デモ 開発途中のソフトウェアの動作を確認し、要件、設計、実装の計画を見直す。 第6回:フェーズ2 要件定義 本フェーズで実装する開発する要件を整理し、設計を開始する。 第7回:フェーズ2 設計・開発 対象範囲の設計を行い、開発を行う。 第8回:フェーズ2 デモ(中間レビュー) 開発途中のソフトウェアの動作を確認し、要件、設計、実装の計画を見直す。 第9回:フェーズ3 要件定義 本フェーズで実装する開発する要件を整理し、設計を開始する。 第10回:フェーズ3 設計・開発 対象範囲の設計を行い、開発を行う。 第11回:フェーズ3 デモ 実装できたソフトウェアの動作を確認し、テストおよび最終発表に向けた計画を確認する。 第12回:テスト計画 テスト計画を立て、テストを実施する。 第13回:テスト・改修 改修とテストを繰り返し、品質を向上する。 第14回:最終レビュー 成果物の内容およびテスト結果を精査し、受け入れが妥当か否かを判断する。 |
教科書 /Textbook(s) |
必要に応じて資料を配布する。 |
成績評価の方法・基準 /Grading method/criteria |
以下の項目で評価します。 1. 各レビュー(中間と最終)での発表25% 2. 成果物(ドキュメントおよびソフトウェア)40% 3. 期末試験(個人面談) 25% 4. 活動への参加と貢献度 10% ※成果物の評価では、要件の充足率(機能の有無と精度)、性能、創造性、新規性を評価します。 ※各学生の貢献度は活動への取り組み姿勢と各レビューの内容および開発記録で確認します。 ※期末試験の形態と内容については授業の開始時に改めて定めますので確認してください。 |
履修上の留意点 /Note for course registration |
・次の授業を履修していることを前提とした授業です。 IE03ソフトウェア総合演習Ⅰ FU14ソフトウェア工学概論 ・この授業は実践活動を行うため学生には主体的な参加が求められます。 ・活動の性質上、課題ごとに必要とされる知識・技術が異なります。開発に必要な技術・知識(設計、プログラミング等)について、スキルが足りない場合には自助努力を求めます。 ・使用するプログラミング言語はJavaなどこれまでに学んだ言語の他、学生が選択した言語で開発することができます。 |
参考(授業ホームページ、図書など) /Reference (course website, literature, etc.) |
https://ie04-aizu-2022.github.io/ 実務経験有り:ソフトウェア開発に従事した経験豊富な教員が指導を行います。 |