2025年度後期プログラミング言語論

曜日・時限 火曜日3時限 期別 後期 週時間数 2
ナンバリング HT230402
開講学科等 総合情報学部-情報学科
教員名 北嶋 暁
北嶋 暁
職務履歴

https://research.osakac.ac.jp/index.php?%e5%8c%97%e5%b6%8b%e3%80%80%e6%9a%81

教員情報データベースに遷移します

目的

本講義の目的はプログラミング言語の基本的な概念について理解を深めることである。今日に至るまで様々なプログラミング言語が生まれているが、これらの言語はプログラミングの方法論やソフトウェアの計算モデルと深く関わりがある。これらを理解することにより、各々のプログラミング言語の持つ特徴を生かした、より良いプログラミングを行えるようになると期待できる。

授業計画

授業回 形式 学修内容 学修課題
1 A, C プログラミング言語の概要
(プログラミング言語の歴史と発展、C++関数の引数・戻り値による分類)
事前学修 シラバスを読んで、授業の目的を理解する。(1時間)
事後学修 授業中に完了しなかった演習問題を解く。(3時間)
2 A, C 手続き型言語1
(手続き型言語の概要、構造化プログラミング、ボトムアップ手続き)
事前学修 手続き型言語にはどのような言語があるか調べてみる。(1時間)
事後学修 授業中に完了しなかった演習問題を解く。(3時間)
3 A, C 手続き型言語2
(トップダウン手続き)
事前学修 トップダウンプログラミングとは何か調べてみる。(1時間)
事後学修 授業中に完了しなかった演習問題を解く。(3時間)
4 A, C 関数型言語1
(関数型言語の概要)
事前学修 Moodleの説明にしたがい、ツールをインストールし、動作確認を行う。 (1時間)
事後学修 授業中に完了しなかった演習問題を解く。(3時間)
5 A, C 関数型言語2
(関数型言語での特長的な表現)
事前学修 高階関数について調べてみる。(1時間)
事後学修 授業中に完了しなかった演習問題を解く。(3時間)
6 A, C 論理型言語
(論理型言語の概要)
事前学修 Moodleの説明にしたがい、ツールをインストールし、動作確認を行う。。(1時間)
事後学修 授業中に完了しなかった演習問題を解く。(3時間)
7 A, C 小テストとその振り返り
(これまでの授業内容についての理解の程度を確認するテスト)
オブジェクト指向言語1
(オブジェクトとクラスの基本概念)
事前学修 これまでの授業内容を一通り見直す。(1時間)
事後学修 十分理解できていなかった項目を復習する。(3時間)
8 A, C オブジェクト指向言語2
(差分プログラミング)
事前学修 差分プログラミングについて調べてみる。(1時間)
事後学修 授業中に完了しなかった演習問題を解く。(3時間)
9 A, C 構文と意味
(生成文法、正規表現、BNF)
事前学修 プログラミング言語のBNFについて調べてみる。(1時間)
事後学修 授業中に完了しなかった演習問題を解く。(3時間)
10 A, C プログラミング言語処理系1
(プログラムの実行方式、コンパイラの概要)
事前学修 コンパイラのオプションについて調べてみる。(1時間)
事後学修 授業中に完了しなかった演習問題を解く。(3時間)
11 A, C プログラミング言語処理系2
(スクリプト言語)
事前学修 スクリプト言語にはどのような言語があるか調べてみる。(1時間)
事後学修 授業中に完了しなかった演習問題を解く。(3時間)
12 A, C 並行動作プログラム
(並行動作、インターリービング、マルチスレッド処理、同期、排他制御)
事前学修 マルチスレッド処理について調べてみる。(1時間)
事後学修 授業中に完了しなかった演習問題を解く。(3時間)
13 A, C 小テストとその振り返り
(第7回以降の授業内容についての理解の程度を確認するテスト)
事前学修 第7回以降の内容を確認する。 (1時間)
事後学修 授業中に完了しなかった演習問題を解く。(3時間)

授業形式記号

  • A:一斉授業(通常の講義)
  • B:問題発見・解決学習、プロジェクト学習
  • C:体験、実験、実習、演習など
  • D:調査 分析、解析など
  • E:ものづくり、作品制作
  • F:グループワーク(ディスカッション・ディベートを含む)
  • G:プレゼンテーション
  • H:地域・企業 連携型学習
  • I:その他

到達目標

科目に関連するディプロマポリシー項目
〇2024年度以降入学生
下記、記載のカリキュラムマップを参照。
https://www.osakac.ac.jp/about/policy/faculty/
※各学科/専攻名称のカリキュラムポリシー下段の
 「カリキュラムマップ」よりご確認ください。

〇 2023年度以前の入学生
- 知識・理解力、応用力【DP-T-1-1】

<JABEE学習・教育到達目標 : D, E>
(1)代表的なプログラミング言語の原理を理解する。[JABEE項目番号D3]
(2)プログラムを動作させる方法(コンパイル、スクリプティング、バーチャルマシンなど)を理解する。[JABEE項目番号D4]
(3)文法の形式的定義とコンパイラが行う処理の概略を理解する。[JABEE番号項目D5]

先修が望まれる科目…C++プログラミング実習1・2・3、情報数学1
関連科目…C++プログラミング実習4、オブジェクト指向設計論

〈評価項目と基準〉以下の評価項目と配点に従い100点満点で60点以上を合格とする。
評価項目(対応する授業目標)[配点]…評価基準
- 手続き型言語(1)[15]…手続きにおける引数および手続きの役割(トップダウン・ボトムアップ)を理解している。
- 関数型言語(1)[20]…関数型言語における関数の定義および、再帰による繰返しやリスト構造の関数による処理・典型的な演算などの基本概念を理解している。
- 論理型言語(1)[10]…論理型プログラムの基礎である1階述語論理やそれに基づくパターンマッチングなどの原理を理解している。
- オブジェクト指向言語の基本概念(1)[20]…クラスに関する概念(クラス変数やメソッド・継承・委譲など)を理解し、オブジェクトを用いたプログラミングの基本概念を理解している。
- 並行プログラムの基本概念(1)[10]…並行プログラムでの基本的な概念(スレッド・同期・通信・排他制御)を理解している。
- プログラムの実行方式(2)[10]…プログラムの処理系や実行方式の違いおよびその特徴を理解している。
- 文法の形式的定義(3)[15]…BNFや拡張BNFで表現された文法を理解し、文法に当てはまるかどうか判断できる。

評価方法と評価観点

評価方法 配点合計知識・理解力応用力コミュニケーション力態度・志向性創造力 合計
定期試験またはレポート試験 0%
小テスト、小論文 100% 50% 50% 100%
グループワーク 0%
プレゼンテーション 0%
レポート、宿題 0%
授業での姿勢(ノート、質疑など) 0%
作品、パフォーマンス(実技、実演) 0%
その他1(具体的に: 0%
その他2(具体的に: 0%
100% 50% 50% 0% 0% 0% 100%

教科書・参考書

教科書:資料をMoodleで配布する。

参考書:適宜提示する。

オフィスアワー

時間:水曜13:15-13:55
場所:11-501
学内外の用務のため、オフィスアワーでも教員が教員室に不在の可能性がある。

その他

注意事項
-欠席が4週以上の場合は未受験(E評価)になるので注意すること。
-ほぼ毎回ノートPCを用いた演習を行うので用意すること。

課題に対するフィードバック
- 授業中に行った小テストについては、答案は返却しないが正答例をMoodleで公表する。

実務経験のある教員による授業科目