科目情報
科目名 |
プログラミング論 |
---|---|
講義名 |
プログラミング論 |
実務経験のある教員による講義 |
-
|
学年 |
2年 |
キャンパス区分 |
ひびきの |
開講学期 |
2学期 |
開講時期 |
秋期 |
曜日・時限 |
金3 |
科目種別 |
講義科目 |
ナンバリング |
- |
科目区分 |
- |
単位区分 |
- |
単位数 |
2 |
準備事項 |
|
備考 |
|
科目名 |
プログラミング論 |
---|
講義名 |
プログラミング論 |
---|
実務経験のある教員による講義 |
|
---|
学年 |
2年 |
---|
キャンパス区分 |
ひびきの |
---|
開講学期 |
2学期 |
---|
開講時期 |
秋期 |
---|
曜日・時限 |
金3 |
---|
科目種別 |
講義科目 |
---|
ナンバリング |
- |
---|
科目区分 |
- |
---|
単位区分 |
- |
---|
単位数 |
2 |
---|
準備事項 |
|
---|
備考 |
|
---|
講義情報
ディプロマポリシー・到達目標
項番 |
内容 |
対象 |
到達目標 |
---|---|---|---|
DP1 |
知識 |
◎ |
プログラミングに関する基盤となる知識を体系的かつ総合的に身につけている。 |
DP2 |
技能 |
○ |
プログラミングを行うための基盤となるスキルを身につけている。 |
DP3 |
思考・判断・表現力 |
- |
- |
DP4 |
コミュニケーション力 |
- |
- |
DP5 |
自律的行動力 |
- |
- |
授業の概要
本授業では,時代時代で主流となったプログラミングパラダイムが,なぜ主流になったのか,歴史的背景を紹介し,具体的なプログラムコードを交えて,理論と実践の観点からプログラミングパラダイムの構成要素を詳述します. |
教科書
オブジェクト指向プログラミング(OOP)パラダイムで下記書籍を用います.その他は授業中に講義資料を配布します. |
参考書(図書館蔵書には〇)
鶴保 征城 著,駒谷 昇一 著: ずっと受けたかった ソフトウェアエンジニアリングの授業① 増補改訂版,翔泳社, ISBN: 978-4-798-11932-8 |
授業計画・内容
回数 |
授業計画 |
内容 |
---|---|---|
第 1回 |
オリエンテーション/命令型プログラミング(1) |
プログラミングパラダイムを変えた歴史的背景/命令型プログラミング・手続き型プログラミング・構造化プログラミング/インデント/命名/関数の設計のしかた |
第 2回 |
命令型プログラミング(2) |
Cのデータ構造/ポインタ/構造体と共用体 |
第 3回 |
オブジェクト指向プログラミング(1) 理論編(1) |
Pythonプログラミング/オブジェクト/クラス/モジュール |
第 4回 |
オブジェクト指向プログラミング(2) 理論編(2) |
OOPとGUIの歴史/SmalltalkとC++におけるメッセージとポリモーフィズムの解釈/Javaプログラミング |
第 5回 |
オブジェクト指向プログラミング(3) 実践編(1) |
1980年代から現代まで,ここ40年近くのプログラミング/OOPの変化 |
第 6回 |
オブジェクト指向プログラミング(4) 実践編(2) |
サーバサイド/フロントサイドにおける状態 |
第 7回 |
オブジェクト指向プログラミング(5) 実践編(3) |
OOPから関数型プログラミング/データ変換パラダイムへのパラダイムシフト |
第 8回 |
関数型プログラミング/データ変換パラダイム(1) 理論編(1) |
Elixirの基礎とデータ変換 |
第 9回 |
関数型プログラミング/データ変換パラダイム(2) 理論編(2) |
データ変換パラダイム |
第10回 |
関数型プログラミング/データ変換パラダイム(3) 実践編(1) |
データ処理(変換,マージ,集約) |
第11回 |
関数型プログラミング/データ変換パラダイム(4) 理論編(3) |
同期・排他制御による並行・並列プログラミング/同期・排他制御の問題点/イミュータブル/データ変換パラダイムへの発展 |
第12回 |
関数型プログラミング/データ変換パラダイム(5) 理論編(4) |
アクターモデルに基づく並行・並列プログラミング/プログラミング言語とプログラミング言語処理系 |
第13回 |
関数型プログラミング/データ変換パラダイム(6) 実践編(2) |
並行・並列プログラミングにおけるOOPの限界とデータ変換パラダイムへの期待 |
第14回 |
関数型プログラミング/データ変換パラダイム(7) 実践編(3) |
APIエコノミー、マクロな並行と分散コンピューティング |
第15回 |
全体総括 |
ディスカッションの続きとアンケート回答、講義全体のアンケート |
成績評価の方法
小テスト・レポート課題 40% |
事前・事後学習の内容
・事前にCPUやGPU,GUI,ウェブシステム,機械学習について予備知識があると楽しめるでしょう. |
履修上の注意
1年次第1学期の計算機演習Ⅰ,1年次第2学期の計算機演習Ⅱで習得したCとPythonのプログラミングについて復習をしてください. |
担当者からの メッセージ
この授業では,プログラミングのパラダイムと歴史を概観します.歴史を総括し俯瞰する観点が得られることで,プログラミング言語のそれぞれの概念や構成要素が納得感を持って理解することができることでしょう.また,最新のプログラミング言語や業界の話題にも触れます. |
キーワード
プログラミング・パラダイム(Programming paradigm),命令型プログラミング(Imperative programming),オブジェクト指向プログラミング(Object-oriented programming),関数型プログラミング(Functional programming).データ変換プログラミング(Data transformation programming) |