シラバス参照

授業情報/Class Information

科目一覧へ戻る 2024/03/27 現在

基本情報/Basic Information

遠隔授業(授業回数全体の半分以上)の場合は、科目名の先頭に◆が付加されています(2023年度以降)
開講科目名
/Course
プログラミング言語1/Programming Languages 1
時間割コード
/Course Code
S1407830_S1
開講所属
/Course Offered by
システム工学部/Faculty of Systems Engineering
ターム・学期
/Term・Semester
2024年度/Academic Year  第1クォーター/1Q
曜限
/Day, Period
木/Thu 1
開講区分
/Semester offered
第1クォーター/1Q
単位数
/Credits
1.0
学年
/Year
3,4
主担当教員
/Main Instructor
福安 直樹
科目区分
/Course Group
_ 
授業形態
/Lecture Form
講義
教室
/Classroom
北1号館A101/北1号館A101
開講形態
/Course Format
ディプロマポリシー情報
/Diploma Policy

担当教員情報/Instructor Information

教員名
/Instructor
教員所属名
/Affiliation
福安 直樹 システム工学部(教員)
伊原 彰紀 システム工学部(教員)
授業の概要・ねらい
/Course Aims
プログラミング言語は,解釈に曖昧さを有する自然言語とは異なり,コンピュータが一意に解釈できるように明確なルールによってその文法や意味が定義されている.この授業では,コンピュータの仕組みや言語設計者の意図に着目しながら,プログラミング言語について深く理解し,さまざまなプログラミングの場面でその特徴を踏まえたよりよいプログラムが設計・記述できるようになることを目指す.
到達目標
/Course Objectives
・後置記法で記述された数式を評価するスタックマシンを説明することができる.
・データ型のある言語とない言語について理解しそれぞれの振舞いを説明することができる.
・制御構造を記述する構文をアセンブリ言語と対応付けて説明することができる.
・関数呼出しの仕組みをスタックを用いて説明することができる.
・ポインタの仕組みについて理解しそれを用いたプログラムを記述することができる.
・抽象構文木で表現された数式を評価することができる.
成績評価の方法・基準
/Grading Policies/Criteria
プログラミング言語に対する理解度を,毎回の授業中に指示する課題(70%)と最終課題(30%)の取り組み状況およびその内容により評価する.コンピュータの仕組みとプログラミング言語との関係が理解できており,それに基づいてプログラムが記述できれば合格とする.
教科書
/Textbook
記載事項なし
参考書・参考文献
/Reference Book
プログラミング言語C 第2版(B.W.カーニハン/D.M.リッチー 著、石田晴久 訳、ISBN 978-4320026926、3,080円)
コーディングを支える技術~成り立ちから学ぶプログラミング作法(西尾泰和 著、ISBN 978-4774156545、2,717円)
履修上の注意 ・メッセージ
/Notice for Students
プログラミングの基礎技術をすでに修得しており、プログラミング経験(言語は問わない)があることを前提としている。
説明は主にC言語を用いて行うが、C言語の開発・実行環境については授業中に指示する。
履修する上で必要な事項
/Prerequisite
課題実施(プログラミングやレポート作成)のために授業内でPCを使用するので、各自持参すること。
履修を推奨する関連科目
/Related Courses
プログラミング言語2
授業時間外学修についての指示
/Instructions for studying outside class hours
授業計画に沿って、計30時間の授業時間外学修(予習・復習など)を⾏うことが必要である。また、授業内容に関連する課題への調査・考察を含めた⾃主的学修を求める。
その他連絡事項
/Other messages
本講義のガイダンス資料を事前公開しています.
https://drive.google.com/file/d/1S_3oNduI-qlYaPCQGtqjbYf7ylqBRjfU/view?usp=sharing
授業理解を深める方法
/How to deepen your understanding of classes
通常の課題に加えて、毎回の授業の中で発展的な課題を提示することにより、各自の理解度に応じた学習を促す。
【「アクティブ・ラーニング」実施要項 ⑦】
オフィスアワー
/Office Hours
非常勤講師のため、授業前後に対応
科目ナンバリング
/Course Numbering
S60053J11100K314
No. 回(日時)
/Time (date and time)
主題と位置付け(担当)
/Subjects and instructor's position
学習方法と内容
/Methods and contents
備考
/Notes
1 1 プログラミング言語の歴史 シラバスおよび授業の進め方の説明
プログラミングの歴史について
プログラミングの基礎技術のおさらい
2 2 プログラミング言語の文法 数式の表現方法
抽象構文木
スタックによる数式処理
3 3 データ型 データの表現形式
データ型の指定によるプログラミング
仕様としての型
4 4 制御構造 構造化プログラミング
Go to statement considered harmful
データの集合に対する処理
5 5 関数 手続きのモジュール化
局所変数
再帰呼び出し
6 6 ポインタと動的メモリ管理 ポインタとアドレス
ポインタと配列
動的メモリ管理
7 7 構文解析 構文規則と抽象構文木
宣言の構文
中置記法の数式処理
8 8 まとめ 学習内容のおさらい
最終課題の実施

科目一覧へ戻る