ソフトウェア工学科
開講科目・研究室テーマ・卒論テーマ
Pick Up 授業
プログラミング基礎[1年次]/プログラミング応用[1年次]
プログラムの書き方や動作の意味を学ぶ授業です。動作の基本である条件分岐や繰り返し、命令を組み合わせて手続きを作る方法、データの並べ替えや探索などの応用プログラムも学びます。
システムプログラミング[2年次]
1年次のプログラミングで学んだ知識の上に、様々なソフトウェアシステムの共通基盤となるプログラミング技術 を学びます。具体的には、ソースプログラムをコンピュータが理解できる命令(機械語)に翻訳する仕組み(言語処理系・コンパイラ)や、複数のプログラムを協調して動作させる仕組み(並行プログラミング)について学びます。
計算機アーキテクチャとOS[2年次]
ソフトウェアが動作するための土台となるコンピュータのハードウェアと、コンピュータシステムの利用環境を提供するためのソフトウェアであるオペレーティングシステム(OS)について学ぶ授業です。両者を学ぶことにより、システム動作におけるハードウェアとソフトウェアの役割とそれらの関係についての理解を深めます。
アルゴリズムとデータ構造[2年次]
コンピュータ上で問題を解くための基礎的な知識として、基本的なデータ構造とアルゴリズムについて、その概念や考え方について学びます。計算モデルやアルゴリズムの評価法、基本的な設計技法などを学ぶことで、コンピュータ上で問題を効率よく解く素養を身につけます。
ソフトウェア工学基礎[2年次]/ソフトウェア工学応用[2年次]
基礎では、ソフトウェアを高信頼かつ高生産性で開発するときの課題や技術を学び、現代社会におけるソフトウェア工学の意義を理解します。応用では、家電、自動車などの様々な機器に組み込まれる組込みソフトウェアやWebアプリケーションなど、実社会に関するソフトウェアの開発方法や技術を学びます。
ソフトウェア開発技術I、Ⅱ[3年次]
ソフトウェアを開発する過程で「ソフトウェア開発者には何が求められていて、どのような作業が必要になるのか」を知り、各過程における基本的な考え方や技術、起こりうる問題に対する効果的な解決方法などについて理解します。使う人の視点から便利で使いやすいシステムを作るための方法や技術を学び、ソフトウェア開発に必要な能力をみがきます。
情報システム開発実習[2年次]
組込みシステム向けのソフトウェア開発を行います。学科科目で学んだソフトウェアを工学的に開発する技術を実践しながら体得し、ソフトウェア開発技術者としての素養を高めます。
研究室テーマ例
- 生成AIを活用したソフトウェア開発支援
- 機械学習のためのソフトウェア開発技術
- 組込みソフトウェアの開発支援
- IoTアプリケーションの開発支援
- ソフトウェアの要求分析の支援
- ソフトウェアの運用保守の支援
- コンピュータを用いたプログラミング学習支援
- 仕様記述を用いたソフトウェアの検証
- システムソフトウェアの開発支援
卒論テーマ例
- 生成AIによる要求仕様書からのコード生成のためのプロンプト設計
- LLMで生成したソフトウェアの品質評価に関する研究
- 生成AIが提示した複数のコード片から適切なコード片の選択を支援する方法
- 大規模言語モデルの利用によりコンパイルエラーへの修正ヒントを提示する手法の提案
- プログラミング演習における生成AIを用いたヒント生成に関する研究
- 変数の影響範囲に着目したソースコードの段落分け手法の提案
- SHADAN:LLMを用いたアプリケーションへのプロンプトインジェクション防止手法
- スマートフォンアプリケーションのレビューの自動分類
- ビジュアルプログラミング環境を用いた折り紙の折り技法表現手法の提案
- Unityを用いた組み込みプログラミング教育支援