シラバス参照 |
科目一覧へ戻る | 2024/09/20 現在 |
開講科目名 /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号館A103/北1号館A103 | ||||||||||||||||||||||||||||
開講形態 /Course Format |
|||||||||||||||||||||||||||||
ディプロマポリシー情報 /Diploma Policy |
|
教員名 /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 | まとめ | 学習内容のおさらい 最終課題の実施 |