ソフトウェア工学科

学科の特色

人と情報技術のよりよい関係を見つめ、
今までにない「便利」や「安全」を創造する。

私たちの生活に欠かすことができないデジタル家電やスマートフォン、自動車などには膨大な数のソフトウェアが組み込まれ、ハードウェアを制御して製品を作動させています。軽量化や小型化といったハードウェア面の進化が成熟した現在、製品の性能を高める鍵はソフトウェアの質であり、製品開発においてもソフトウェア開発が重視されています。本学科では、生成AIとともにさらなる進化を遂げるソフトウェアのよりよい在り方を考察し、その原理と技術を体系的に学ぶことができます。このように深化し続けるソフトウェア開発技術を主体的に活用できる力を養う、日本で数少ない学科です。

学ぶ内容

1・2年次は数理的基礎やプログラミング技術を養うのに加え、情報機器や文書作成などのリテラシー、情報技術者としての倫理観も学習。2年次後半からは「ソフトウェア工学基礎」「ソフトウェア開発技術」などの学科科目を通して専門知識と技術を養う他、副専攻の関連科目も履修して技術の裏付けとなる理論や応用例などを学びます。3年次からは研究室に所属し、各自のテーマに沿った研究をスタート。高度な研究力と研究成果を発信するスキルを養成し、4年次には卒業研究に挑みます。

想定される進路

現在ソフトウェア開発の現場では、その生産性の低さが問題視されており、ソフトウェアの製作工程そのものをシステム化できる人材への期待が高まっています。本学科では、すべての研究室で「製作工程のシステム化」を念頭に研究活動を展開しており、製品やサービスだけでなく、技術者たちの労働環境も革新できる能力を養成しています。そうした取り組みは産業界から高く評価され、卒業後は自動車や家電などのソフトウェアの開発、企業情報の保存・管理・活用のためのソフトウェア開発、官公庁や金融、製造、運輸などの情報システム利用のための企画・管理・運用など、ソフトウェア開発の多様な分野での活躍が期待。また、「情報」の教員免許を取得することもできます。

学科紹介動画

ソフトウェア工学科紹介

名倉正剛教授の研究紹介

小見出し

ここをクリックして表示したいテキストを入力してください。テキストは「右寄せ」「中央寄せ」「左寄せ」といった整列方向、「太字」「斜体」「下線」「取り消し線」、「文字サイズ」「文字色」「文字の背景色」など細かく編集することができます。

教員紹介

    

見出し

小見出し

ここをクリックして表示したいテキストを入力してください。

小見出し

ここをクリックして表示したいテキストを入力してください。

開講科目

プログラミング基礎/プログラミング応用[1年次]
プログラムの書き方や動作の意味を学ぶ授業です。動作の基本である条件分岐や繰り返し、命令を組み合わせて手続きを作る方法、データの並べ替えや探索などの応用プログラムも学びます。
計算機アーキテクチャとOS[2年次]
ソフトウェアが動作するための土台となるコンピュータのハードウェアと、コンピュータシステムの利用環境を提供するためのソフトウェアであるオペレーティングシステム(OS)について学ぶ授業です。両者を学ぶことにより、システム動作におけるハードウェアとソフトウェアの役割とそれらの関係についての理解を深めます。
ソフトウェア工学基礎/ソフトウェア工学応用[2年次]
基礎では、ソフトウェアを高信頼かつ高生産性で開発するときの課題や技術を学び、現代社会におけるソフトウェア工学の意義を理解します。応用では、家電、自動車などの様々な機器に組み込まれる組込みソフトウェアやWebアプリケーションなど、実社会に関するソフトウェアの開発方法や技術を学びます。
情報システム開発実習[2年次]
組込みシステム向けのソフトウェア開発を行います。学科科目で学んだソフトウェアを工学的に開発する技術を実践しながら体得し、ソフトウェア開発技術者としての素養を高めます。
見出し
ここをクリックして表示したいテキストを入力してください。テキストは「右寄せ」「中央寄せ」「左寄せ」といった整列方向、「太字」「斜体」「下線」「取り消し線」、「文字サイズ」「文字色」「文字の背景色」など細かく編集することができます。
システムプログラミング[2年次]
1年次のプログラミングで学んだ知識の上に、様々なソフトウェアシステムの共通基盤となるプログラミング技術 を学びます。具体的には、ソースプログラムをコンピュータが理解できる命令(機械語)に翻訳する仕組み(言語処理系・コンパイラ)や、複数のプログラムを協調して動作させる仕組み(並行プログラミング)について学びます。
アルゴリズムとデータ構造[2年次]
コンピュータ上で問題を解くための基礎的な知識として、基本的なデータ構造とアルゴリズムについて、その概念や考え方について学びます。計算モデルやアルゴリズムの評価法、基本的な設計技法などを学ぶことで、コンピュータ上で問題を効率よく解く素養を身につけます。
ソフトウェア開発技術Ⅰ,Ⅱ[3年次]
ソフトウェアを開発する過程で「ソフトウェア開発者には何が求められていて、どのような作業が必要になるのか」を知り、各過程における基本的な考え方や技術、起こりうる問題に対する効果的な解決方法などについて理解します。使う人の視点から便利で使いやすいシステムを作るための方法や技術を学び、ソフトウェア開発に必要な能力をみがきます。
見出し
ここをクリックして表示したいテキストを入力してください。テキストは「右寄せ」「中央寄せ」「左寄せ」といった整列方向、「太字」「斜体」「下線」「取り消し線」、「文字サイズ」「文字色」「文字の背景色」など細かく編集することができます。

研究室テーマ例

  • 生成AIを活用したソフトウェア開発支援
  • 機械学習のためのソフトウェア開発技術
  • 組込みソフトウェアの開発支援
  • IoTアプリケーションの開発支援
  • ソフトウェアの要求分析の支援
  • ソフトウェアの運用保守の支援
  • コンピュータを用いたプログラミング学習支援
  • 仕様記述を用いたソフトウェアの検証
  • システムソフトウェアの開発支援
  • ここをクリックして表示したいテキストを入力してください。

卒業研究テーマ例

  • 生成AIによる要求仕様書からのコード生成のためのプロンプト設計
  • LLMで生成したソフトウェアの品質評価に関する研究
  • 生成AIが提示した複数のコード片から適切なコード片の選択を支援する方法
  • 大規模言語モデルの利用によりコンパイルエラーへの修正ヒントを提示する手法の提案
  • プログラミング演習における生成AIを用いたヒント生成に関する研究
  • 変数の影響範囲に着目したソースコードの段落分け手法の提案
  • SHADAN:LLMを用いたアプリケーションへのプロンプトインジェクション防止手法
  • スマートフォンアプリケーションのレビューの自動分類
  • ビジュアルプログラミング環境を用いた折り紙の折り技法表現手法の提案
  • Unityを用いた組み込みプログラミング教育支援
  • ここをクリックして表示したいテキストを入力してください。