カリキュラムガイド 一覧
[2] 学部のカリキュラム
威廉希尔中文网站 > 情報工学科
教育目標
情報技術、ネットワーク技術とそれらの応用技術は、産業界の技術?経営革新を担う中核技術である。さらに、近年では技術の幅広い可能性により、人々が生活する社会の仕組みに変革をもたらしている。本学科では、情報工学に関する基盤技術と、その応用として、組込みシステム、ソリューション&サービスなどの専門技術を修得し、広く社会に貢献できる人材を育成する。
キーワード
- プログラミング
- コンピュータアーキテクチャ
- 情報セキュリティ
- ヒューマンインターフェース
- マルチ威廉希尔中文网站
- Webサービス
情報工学科 科目概要
- all open
- all close
-
E501 情報工学大意
社会を支える「ものづくり」の基盤である機械分野、電気?電子分野、情報分野の技術について、工学と社会さらには地域とのつながり、歴史および現在、未来の技術について学び、「自ら考えて行動する技術者」としての第1歩を歩み出す意識を明確にする。各分野における学ぶ領域、学問の拡がりを学び、各自の将来の目標、夢を実現するためのキャリア形成を意識して、修学計画能力を身につけ、今後の学習姿勢を確立する。「覚える?暗記する」学習ではなく、現象や物事の本質を論理的に考える力(科学力)、デザイン力の醸成を目標とする。
行動目標●現代社会における威廉希尔中文网站の役割を理解し、自身の修学計画を立案することができる。情報工学科の「学ぶ領域」、研究分野を理解し、今後の勉学の方法、履修計画について主体的に考えることができる。情報工学の基礎である計算機とプログラミングの役割について説明できる。情報技術を利用したソリューションが果たす役割を説明できる。情報技術により提供するサービスがどんな仕組みか説明できる。自身のキャリア形成プロセスを自身の言葉で述べ、それを第三者に伝えることができる。 -
E502 プログラミング I
本科目の学習教育目標は、プログラミング言語 Python で基本的なプログラムを作成し、実行できるようになることである。具体的には、適切な開発環境を自分のパソコンに用意でき、変数、データ型、制御構文、関数などの Python の基本的な文法を理解した上でプログラムが書け、書いたプログラムを実行?デバッグできるようになることが目標である。
行動目標●プログラムを実行するまでにどのような操作が必要か、流れを説明できる。変数に値を代入することができ、print 文を用いて変数の値を表示することができる。適切な名前を持った変数および演算子をもとに式を作り、式を評価して結果を得ることができる。条件分岐や反復などの基本的な制御構文を適切に用いたプログラムが記述できる。比較的簡単な仕様を満たす関数を定義することができる。リストを定義し、それを利用するプログラムが記述できる。 -
E504 コンピュータシステム基礎
計算機の能力を十分に活用する、あるいは新しい計算機の開発を行うためには、現在の計算機の計算機構に対する深い理解が不可欠である。情報はどのようにデータとして計算機に蓄えられ、蓄えられたデータはどのように計算機によって処理されるのかを学び考える。本科目を修得することにより計算機の構成と命令について説明することができ、簡単な回路設計ができるようになることを目指す。
行動目標●10進数、2進数の基数変換および2進数における加減算ができる。文字コード等の符号の用途を説明できる。中央処理装置、主記憶装置、レジスタ等、コンピュータシステムの基本的な装置を説明できる。命令の基本的な実行過程について説明できる。機械語命令の簡単なプログラム実行プロセスをトレースできる。簡単な論理回路を設計できる。 -
E542 プログラミングⅡ
本科目プログラミングⅡでは、先行科目のプログラミングⅠに引き続き、プログラミング言語Pythonの基礎をさらに学ぶ。具体的には、複数のデータを格納するための各種コンテナや、コンテナの操作を行うイテレータ、さらには高度なモジュールの利用やファイル処理について学ぶ。
行動目標●各種データ構造を利用したPythonのプログラムが記述できる。イテレータを適切に利用してデータを操作するPythonのプログラムが記述できる。様々なモジュールを適切に利用したPythonのプログラムが記述できる。ファイルの読み書きを行うプログラムが記述できる。 -
E543 プログラミングⅢ
本科目プログラミングIIIでは、プログラミング言語Javaを用いて、コンパイルと変数の静的型付けが必要なプログラミング言語でのプログラミングの基礎を(Pythonと対比しながら)学ぶ。
行動目標●Javaのプログラムを実行するまでにどのような操作が必要か、流れが説明できる。変数の型を適切に用いたプログラムが記述できる。Javaの制御構文(if, for, while)やメソッドを適切に用いたプログラムを記述できる。 -
E507 論理回路
コンピュータの動作原理を理解するためには、基本的な論理回路を読み解き設計できる能力が必要となる。本科目では、単純な論理ゲートで構成される組み合わせ論理回路とフリップフロップを含む順序論理回路の動作を修得する。さらに、論理回路の基本設計アプローチも演習を通して体得する。
行動目標●正?負2進数の加減算、乗算の演算ができる。論理回路の各種タイプについて相互変換や簡単化ができる。符号器、復号器、データセレクタ、マルチプレクサを用いてデータ変換と制御ができる。各種比較回路、二進加算回路を用いた回路を構成できる。各種フリップフロップの働きを理解し、シフトレジスタを構成できる。同期カウンタ回路を構成できる。 -
E503 離散数学
高度な情報処理技術者として活躍するためには、単にプログラムが組めるだけでなく、数学的な知識が必要とされる。本科目では情報工学で必要とされる数学的知識を身につけることを目標とする。本科目で学んだことは後継科目で必要となるので、十分に理解しておく必要がある。
行動目標●命題論理式の真偽の計算ができる。同値関係の定義を説明できる。同値類による類別ができる。剰余演算ができる。群の同型が説明できる。 -
E508 データ構造とアルゴリズム
良いプログラムを書くためには、データ構造とアルゴリズムの知識が必要である。本科目の目標は以下の2つである。①情報工学において基礎知識となるデータ構造とアルゴリズムを学ぶ。②解こうとする問題に対して適切なデータ構造およびアルゴリズムを選択できる。
行動目標●各種データ構造を十分理解し、適切に使いこなせる。各種アルゴリズムを十分理解し、適切に使いこなせる。計算量の観点からアルゴリズムの良し悪しを見分けることができる。問題に対して、最適なアルゴリズムとデータ構造を選択できる。 -
E509 オブジェクト指向プログラミング
オブジェクト指向プログラミング言語は、ソフトウェアの保守性?安全性を高めるためのプログラミングパラダイムである。オブジェクト指向の考え方を理解するとシステムの拡張性、ソフトウェアの再利用、共同開発に向くプログラムの作成ができるようになる。本講義では、オブジェクト指向の基本概念であるクラス,継承,多態性、データを格納するフィールド?属性、操作を実装するメソッドなどについて学び、Javaやpythonによるオブジェクト指向を用いたプログラミング能力を身につける。
行動目標●オブジェクト指向の基礎的な項目を理解し説明できる。JavaやPythonでオブジェクト指向によるプログラムを作成でき動作を説明できる。 -
E510 データベース
データベースは多くの情報システムにおいて、オンラインのデータ保存場所として使われ、システムの要の役割を果たしている。本科目では、もっぱらリレーショナルデータベースを対象とし、データベースを正しく設計し、正しくアクセスできることを目標とする。
行動目標●リレーショナルデータベースとは何かを説明できる。正規化の手順とその長所?短所を具体的に説明できる。問い合わせをリレーショナル代数(集合演算、射影、選択など)で表現でき、さらにその表現をSQLで記述することができる。実世界を実体-関連モデルを用いて表現し、その表現をリレーショナルデータベーススキーマに変換できる。三層スキーマ構造(外部スキーマ、概念スキーマ、内部スキーマ)とは何かを説明できる。 -
E511 情報工学基礎演習
プログラミングI、IIの内容を組み合わせた発展的な内容について、Linux環境上でのプログラミング演習形式で学ぶ。個人のノートパソコンにLinuxをインストールし、授業時間外においても課題に取り組める実験環境を構築する。Cプログラミンでは、コマンドラインからの引数取得やメモリの動的な割り当て/解放など、プログラミングIIにおいて教えることを必須としなかった項目についても学ぶ。さらにファイルの入出力、構造体、共用体およびUNIXシステムコールを用いた応用プログラミング演習を実施することにより理解を深める。
行動目標●Linux環境上においてプログラムの作成、デバック、実行の管理ができる。配列、関数、ポインタ、構造体、共用体、ファイル操作等を適切に組み合わせたプログラムをC言語で作成できる。またプログラムが正しく動作しているかどうかを確かめることができ、プログラムの誤りを見つけて適切に修正できる。 -
E512 コンピュータアーキテクチャ基礎
コンピュータはハードウェアとソフトウェアが一体となり情報処理を行う。本科目ではコンピュータがどのようにプログラムを実行するのかを理解するために、コンピュータの基本構成と動作原理を修得する。また、コンピュータの高速化手法や組込みプロセッサについて学習する。
行動目標●計算機システム内部の数値表現形式による加減演算を筆算で行える。CPUの内部構成図を示し、実行される計算処理の過程を説明できる。計算機システムの命令語構成およびアドレス指定方式について説明できる。メモリの階層構成について例を挙げて説明できる。CPUを高速化する方法とそれに必要な機能を説明できる。 -
E513 情報ネットワーク
現在のインターネットを支えるプロトコル群であるTCP/IP、また関連するさまざまな通信技術の知識と理論を学習する。このことにより、LANやWANなどのコンピュータネットワーク、さらにはWWWがどのようなものであるのかを理解し、ネットワーク運用に関する基礎的なスキルを身につける事を目標とする。
行動目標●コンピュータネットワークの基本的な仕組みについて説明できる。OSI参照モデル、TCP/IPにおける各層の機能を説明できる。インターネットの基本的な仕組みについて説明できる。ネットワークの基礎的なコマンドやツールを使えネットワーク診断ができる。 -
E514 ソフトウェアデザイン
ソフトウェア開発では、他分野の開発と同様に利用者と提供者で共有する設計ドキュメントが作成される。また複数人で共同開発する場合にも設計図面は重要である。本講義では、ソフトウェア開発のライフサイクル(要件定義,設計,実装,テスト,運用,保守,廃棄)、ソフトウェア記述言語(UML)について学習する。また、Webアプリケーション開発を題材に要件定義からテストまでを通じてソフトウェア開発、UML図による設計図面の表現を体得する。
行動目標●ソフトウェアライフサイクルの各工程について説明できる。UML図の種類、図記号、利用目的について図を見て説明できる。作成するソフトウェアを複数のUML図を用いて表現できる。 -
E515 オペレーティングシステム
オペレーティング?システム(OS)は、広範囲なアプリケーション?システムの共通プラットフォームである。この講義では、OSの基本概念と設計技法について学習し、システムコールを利用してOSプログラミングができるようになる。①PC、ワークステーション系OSの概略特徴を知る。②OSの主要概念と機能コンポーネントを理解し説明できる。③OSの正確な使用法とプログラミングについて概略理解する。
行動目標●オペレーティングシステムの基本機能を説明できる。プロセスとスレッドの相違点を説明できる。仮想記憶方式について説明できる。ファイルシステムについて説明できる。UNIXシステムコールを用いてプログラミングできる。 -
E537 確率と統計
確率と統計は,情報工学に限らず工学全般で必要な基礎知識である。さらに確率と統計は,近年注目されているデータサイエンスの理論的基盤である.本科目の目標は以下の2つである。①情報工学において基礎知識となる確率と統計を学び,理解を深める。②計算機を利用して基礎的な統計処理を行う技術を学ぶ。
行動目標●確率の基礎知識を十分理解する。統計の基礎知識を十分理解する。計算機を利用して基礎的な統計処理を行うことができる。 -
E538 組込みシステム
今や組込みシステムは至る所で使われている。マイコンではメモリマップトI/Oと呼ばれるマイコンのメモリ領域に割り付けられたレジスタを読み書きすることで、パラレルポート入出力、タイマ、割り込み、シリアル通信、AD変換などの各種内蔵機能を利用する仕組みになっていることを学ぶ。また、LEDのダイナミックスキャン点灯や、スイッチ操作時のチャタリング除去などの基本的な技法についても学ぶ。
行動目標●パラレルポート入出力、タイマ、割り込み、シリアル通信、AD変換などのマイコンの基本的な機能を利用するCプログラムを実装できる。 -
E525 アルゴリズムデザイン
複雑な問題に対する効率的なアルゴリズムを設計するには,様々なアルゴリズム設計技法の知識が必要となる.しかし,効率的なアルゴリズムが存在しないと考えられる計算困難な問題も存在する.そのような問題に対する現実的な計算時間で動作するアルゴリズムを設計するためには,様々な条件を緩和する必要がある.そのため,計算困難な問題とは何かを知る必要もある.さらに,情報工学における様々な問題のモデル化で必要となるグラフ理論についても学ぶ.
行動目標●各種アルゴリズム設計技法を説明できる.NP完全などの代表的な計算量クラスを説明できる.計算困難な問題に対するアルゴリズム設計のアプローチを説明できる. -
E539 情報工学系代数学
情報工学において、暗号理論や符号理論といった進んだ情報工学を理解するためには数論や代数学の知識が必要となる.数論は暗号理論を理解するうえで必須であり、代数学、特に有限体の知識は符号理論に必要となる。本科目では情報工学を学ぶ上で必要となる数論および,代数学の知識を修得することを目的としている.
行動目標●有限体上の多項式の演算が行える。一次合同式を解くことができる。連立合同式を解くことができる。数論の種々のアルゴリズムを説明できる。RSA暗号の暗号化と復号化の方法を説明できる. -
E526 コンピュータグラフィックス
CG(コンピュータグラフィックス)は、エンターテイメント?教育などの分野におけるコンテンツ製作や、機械?化学などの分野におけるシミュレーションなど、様々な分野で活用されている。また、GPUや3Dプリンタのような出力用デバイスが近年進歩しており、その重要性はますます高まってきている。このようなCGに今日用いられている技術を体系的に学び、CG用ライブラリによるプログラミングによって、実際にCGコンテンツを作成できるスキルを身につける。
行動目標●3次元空間における座標系を理解し、適切に使用できる。3次元CGの座標変換と投影変換の概念を理解し、適切に使用できる。形状モデルの基本的な表現手法を理解し、プログラムで実装する事ができる。3次元CGの隠面消去とシェーディングの概念を理解し、効果的な技法を選択できる。3次元CGアニメーションの作成法を理解し、基礎的なプログラムを実装できる。 -
E517 形式言語とオートマトン
本科目では形式文法と形式言語について学ぶ。とくに正規文法、正規表現および文脈自由文法を学ぶ。またそれらの言語を処理する種々のオートマトンについても学ぶ。この科目で学ぶことは言語を表現、処理するための基礎的な知識となる。
行動目標●チョムスキーの階層が説明できる。種々の有限オートマトン間の変換ができる。正規文法、正規言語の定義が説明できる。有限オートマトンから正規文法への変換、および、逆変換ができる。正規表現の定義が説明できる。文脈自由文法における導出が説明できる。 -
E518 情報と符号の理論
近年の通信やコンピュータネットワークの発展は目覚しく、ますます多くの情報を扱うようになっている。その発展の基礎を与えた情報理論および符号理論を学ぶ。情報を量としてどう表す方法を学ぶ。次に情報源およびその効率的符号化方法を学ぶ。最後に通信路で生じた誤りを訂正するための通信路符号化を学ぶ。
行動目標●情報源符号化定理を理解し具体的に説明できるようになる。情報源符号化法のシャノン?ファノの方法を具体例に当てはめて符号を示す事ができる。情報源符号化法のハフマン符号を具体例に当てはめて符号を示す事ができる。線形符号の符号化と復号化の方法を説明できる。 -
E520 情報システムデザイン
同一の目的を持つ情報システムを構築する場合でも設計者、プロジェクト管理、重視事項、利用するツールなどの要因により情報システムの評価は大きな差が生じている。本講義では,情報システムを設計?構築する際に考慮しなければならない基本原則と評価方法について学ぶ。これらには要求の把握、QCD(品質?機能,コスト,納期)目標の設定,機能?非機能要件、複数候補からの選択する場合の基準、制約事項、管理手法などが含まれる。評価軸として,信頼性、保守性,拡張性など多くの指標があり,全ての指標を最善にすることは難しいことも学ぶ。
行動目標●情報システムの評価項目について理解し説明できる。与えられた情報システムの目標から、開発工程の流れや必要な資源を図示でき開発の流れを説明できる。情報システムの定量的な値からシステムの評価軸を説明でき定量的な評価ができる。 -
E521 分散システム
分散システムはコンピュータとネットワークの両方を統合化するための技術である。そのため、1台で動作している仕組みとの違いを述べる。現在、多くのシステムが分散システムとなっており、多くの技術があるため、それらを全て説明することはできないが、限られた時間の中で、体系的に説明を行う。
行動目標●各週において、演習問題を設け、受講者の理解度を確認できるようにする。さらに、推薦図書と参考文献という形で理解を一層深めることに適した関連した図書を推薦する。 -
E522 デジタル通信と信号処理
音声や映像などのアナログ信号をデジタル化して種々の処理を行うデジタル信号処理の基礎、デジタル信号処理を活用したデジタル通信の基礎的な知識ならびに技術を修得する。
行動目標●標本化定理を理解し、応用できる。たたみ込み和や周波数特性などのデジ

