学部後期課程
HOME 学部後期課程 プログラミング言語
学内のオンライン授業の情報漏洩防止のため,URLやアカウント、教室の記載は削除しております。
最終更新日:2024年9月17日

授業計画や教室は変更となる可能性があるため、必ずUTASで最新の情報を確認して下さい。
UTASにアクセスできない方は、担当教員または部局教務へお問い合わせ下さい。

プログラミング言語

プログラミング言語の設計とその実装について, 実例を取り上げながら, 講義と演習を行う. プログラミング言語の基本的な目標は生産性 (簡単に正しいプログラムが書けること, 特にメモリ安全性) と性能 (その言語で書いたプログラムが高速に実行できること) である. そのための仕組み (型システム, メモリ管理), 簡単な言語処理系の作り方について講義する. 演習用プログラミング言語の実例としてJulia, Go, OCaml, Rustを取り上げる.

Talks and exercises on the design and implementation of programming languages with actual programming languages. Two basic goals of programming languages are productivity (the programmer can easily write correct, esp. memory-safe, programs) and performance (programs can be executed efficiently). The lecture part will cover mechanisms to achieve these goals (type systems and memory management) and how to create a simple compiler. The exercise part will cover Julia, Go, OCaml, and Rust as examples of actual programming languages.
MIMA Search
時間割/共通科目コード
コース名
教員
学期
時限
FEN-EE4d19L1
FEN-EE4d19L1
プログラミング言語
田浦 健次朗
S1 S2
月曜2限
マイリストに追加
マイリストから削除
講義使用言語
日本語、英語
単位
2
実務経験のある教員による授業科目
NO
他学部履修
開講所属
工学部
授業計画
* 高水準プログラミング言語の実例 * Julia, Go, OCaml, Rust * プログラミング言語設計の目標 * 生産性, 特に安全性, 効率性, 高速性 * 安全で効率的な言語の基礎としての型システム * 多相型, 部分型 * メモリ管理 * 自動ゴミ集め, Rustメモリ管理 * 言語処理系・コンパイラ * 字句解析・構文解析, その生成器 * アセンブリ言語とそれへの変換 ------------------------- * examples of high-level programming languages * Julia, Go, OCaml, Rust * programming language design goals * Productivity, esp. safety, efficiency, and performance * type system as a foundation of safe and efficient languages * polymorphic types, subtyping * memory management * automatic garbage collection, Rust memory management * compilers and interpreters * lexical analyzer/syntactic analyzer, their generator * assembly language and translation into it
授業の方法
The language will be English if there is an international student having difficulty following Japanese lecture.
成績評価方法
出席,演習参加,演習課題提出,レポート
教科書
下記講義ノートページに記載
参考書
下記講義ノートページに記載
履修上の注意
基礎を固める(分野別基礎)
その他
前提となる知識と項目:・Cでのプログラミング経験 ・・コンピュータのハードウェアとオペレーティングシステムに関する基本的理解 応用先_分野と項目:ソフトウェアシステム構築 ヒューマンインタフェース構築