情報 プログラミング応用 3年・通年・必修・履修2単位
担当教員 石垣 達也 連絡先 
講義の概要 プログラミングを様々な問題に応用する方法を学ぶ。C言語による応用プログラムの開発手法・評価の他、プログラム処理系、オペレーティングシステム、アルゴリズム、ソフトウェア開発方法論、ネットワークプログラミングのそれぞれ基礎について、講義と演習を通して理解を深める。
到達目標 1.様々な分野のための応用プログラムをC言語で作成できる。
2.オペレーティングシステムの役割と構成を理解する。
3.計算モデルと言語処理系の概要・仕組みを理解する。
4.並べ替えや平方根計算などの簡単なアルゴリズム・数値計算例について理解する。
5.代表的なソフトウェア開発方法論について理解する。
6.コンピュータネットワークの基礎を理解し簡単なプログラムを作成する。
日程授業項目理解すべき内容 理解度
(1~4)
前期 第1週 C言語の復習 C言語の変数、制御構文などの文法、プログラムのコンパイル・実行方法  
第2週 ソースコードの管理(1) バージョン管理システムの仕組み・利点、集中型・分散型のバージョン管理システム  
第3週 ソースコードの管理(2) バージョン管理システムGitの基礎、ソースコードのバージョン管理、ソースコードの著作権  
第4週 オペレーティングシステムとプログラミング(1) オペレーティングシステムの歴史、カーネル、システムコール、プロセス、プロセス間通信  
第5週 オペレーティングシステムとプログラミング(2) ファイル入出力の基礎、シェルスクリプト  
第6週 オペレーティングシステムとプログラミング(3) 複数の処理をまとめたシェルスクリプトの記述方法、Cプログラムとの連携  
第7週 (中間試験)  
第8週 復習  
第9週 再帰的アルゴリズム(1) C言語による再帰処理の復習、階乗計算アルゴリズム  
第10週 再帰的アルゴリズム(2) 再帰的アルゴリズムの解析(ボトムアップ解析、トップダウン解析)  
第11週 探索アルゴリズム(1) 探索アルゴリズムの種類、線形探索の実装方法、計算量  
第12週 探索アルゴリズム(2) 二分探索の実装方法と計算量  
第13週 ソートアルゴリズム(1) ソートアルゴリズムの種類、単純挿入ソートの実装方法と計算量  
第14週 ソートアルゴリズム(2) クイックソートの実装方法と計算量  
第15週 (期末試験)  
第16週 総復習  
後期 第1週 コンピュータネットワーク(1) コンピュータネットワークの構成とプロトコル、OSI参照モデル  
第2週 コンピュータネットワーク(2) C言語ライブラリによるソケットプログラミング  
第3週 ソフトウェア開発技法(1) 代表的なソフトウェア開発技法  
第4週 ソフトウェア開発技法(2) オブジェクト指向プログラミング、クラス図、代表的なデザインパターン  
第5週 ソフトウェア開発技法(3) Unified Modeling Languageの概要  
第6週 ソフトウェア開発技法(4) C++によるクラス実装  
第7週 (中間試験)  
第8週 復習  
第9週 計算モデル(1) オートマトン、正規表現、状態遷移図  
第10週 計算モデル(2) 決定性/非決定性有限オートマトン  
第11週 計算モデル(3) 文脈自由文法、BNF  
第12週 言語処理(1) コンパイラの仕組み  
第13週 言語処理(2) 自然言語処理の概要、既存ツールを用いた自然言語処理  
第14週 言語処理(3) 計算機による自然言語の表現  
第15週 (期末試験)  
第16週 総復習  
学習教育目標 A、Bに対応 達成項目本科イ)、ロ)に対応 JABEE認定基準
教科書・参考書 教科書:資料配布
評価方法及び
合格基準
成績の評価は、定期試験の成績で行い、平均の成績が60点以上の者を合格とする。
学生へのメッセージ、
予習・復習について
プログラミング概論やプログラミング基礎で学んだ知識や技術を踏まえ、より具体的なプログラミング技術を学んでいく。演習では問題を一つ一つ確実に理解しながら進めること。また、次回予定の部分は予習しておくこと。