プログラミング(前期2単位)

教授 大久保 隆夫、教授 松井 俊浩

1.授業のねらい

コンピュータプログラム開発の経験に乏しい受講者を対象に、研究のためのコンピュータプログラム開発の実用的能力習得を目的とした講義を、演習を交えながら行う。
本学において研究を行う学生が習得しておくと良い言語(アセンブリ、C、Lisp、Rust、Python)を扱う。

2.到達目標

  • 研究に必要なコンピュータプログラム開発の概略を理解する。
  • プログラム言語の文法とプログラム開発手順、基礎的なアルゴリズムのプログラミングについて総括的に理解する。
  • 3.授業計画

    第1回  プログラミングとプログラム言語の概念
    第2回  C言語プログラム
    第3回  機械語、アセンブリ言語
    第4回  リスト処理と記号処理
    第5回  プログラミング実践:(Rust)
    第6回  オブジェクト指向
    第7回  Python演習1:演算、分岐、ループ、
    第8回  Python演習2:変数、関数呼び出し、配列、リスト
    第9回  Python演習3:GUI
    第10回 Python演習4:ファイル操作、変換
    第11回 Python演習5:データベース、アプリケーション
    第12回 ソーティング
    第13回 再帰関数ー分割統治、動的計画法
    第14回 情報圧縮ーハフマン符号化、LZW圧縮、文字列編集
    第15回 探索ー文字列探索、グラフ探索

    1-4回、13-15回を松井が、4-12回を大久保が担当する。
    ※順序は、受講者の希望や進度によって変更することがある。

    4.教科書

    特に指定しない。

    5.参考書

    随時、講義中に紹介する。

    6.関連科目

    以下の科目と関連がある。

    アルゴリズム基礎

    7.成績評価の方法と基準

    各回小テスト及び中間、期末レポートにより評価する(90%)。 なお、講義への積極的な参加も評価対象とする(10%)。

    8.その他

    本授業には演習が含まれるが、演習に用いるPC(Windows10推奨)は各自持参のこと。
    受講する学生は、以下のような基礎的な用語についてはあらかじめ知っておくことがのぞましい。
    スタック、シンタクス、オブジェクトコード、命令語、再帰、配列(ベクタ)、移植、データ型