シラバスの表示

プログラミング演習B / Programming B

単位数: 1. 担当教員: 松田 一孝, 浅田 和之, 菊池 健太郎. 開講年度: 2024. 科目ナンバリング: TEI-PRI309J.

主要授業科目/Essential Subjects

授業の目的・概要及び達成方法等

授業にはGoogle Classroomを利用します.Google Classroomのクラスコードは工学部Webページ:学部シラバス・時間割 (https://www.eng.tohoku.ac.jp/edu/syllabus-ug.html)より確認すること.水曜クラスと木曜クラスでクラスコードが異なるのでご注意ください.

1.目的
現代的なプログラミング方式としてオブジェクト指向プログラミングと関数プログラミングの基本を学ぶ.

2.概要
本演習は前半と後半に分かれる.前半ではプログラミング言語 C# を通じてクラスやオブジェクト,そして継承といったオブジェクト指向プログラミングにおける基本概念について学ぶ.後半では F# を通じて,代数データ型やパターンマッチ,そして高階関数といった関数プログラミングにおける基本概念について学ぶ.

3.達成目標等
オブジェクト指向および関数プログラミングの基本概念を習得し,C#およびF#で簡単なプログラミングが可能になること.

授業の目的・概要及び達成方法等(E)

This course uses Google Classroom. Please refer to https://www.eng.tohoku.ac.jp/edu/syllabus-ug.html for the class code. Note that Wednesday's course and Thursday's course use different class codes.

1. Objective
Students will learn basic concepts of the two major approaches to modern programming: object-oriented and functional programming.

2. Overview
This course is divided into two parts: In the former half, students will use C# to learn fundamental concepts in object-oriented programming, including classes, objects, and inheritance. In the latter half, students will use F# to learn key concepts in functional programming, including algebraic datatypes, pattern matching, and higher-order functions.

3. Goals
Students are expected to understand the basic concepts underlying object-oriented and functional programming and to acquire the basic programming skills in C# and F#.

他の授業科目との関連及び履修上の注意

計算機およびプログラミング言語に関する基本的なリテラシーを有していることを仮定する.
「情報処理演習」と「プログラミング演習A」を履修していることが望ましい。

他の授業科目との関連及び履修上の注意(E)

Students are assumed to have basic literacy on computers and programming languages.
Students should have taken "Information Processing Exercises" and "Programming Exercises A."

授業計画

1.環境設定
2. C#入門
3. C#の文法基礎
4.オブジェクト指向プログラミング
5.コレクションとジェネリクス
6.ファイルの入出力
7.GUIプログラミング
8.応用プログラミング
9.F#入門
10.変数定義,関数定義,局所定義,スコープ
11.再帰関数,多相関数
12.高階関数,匿名関数,部分適用
13.組,レコード,リスト,パターンマッチング
14.バリアント,多相データ型
15.応用プログラミング

授業計画(E)

1. Set up
2. Introduction to C#
3. Basic syntax
4. Object-oriented programming
5. Collections and generics
6. File I/O
7. GUI programming
8. Graphics programming
9. Introduction to F#
10. Variables, functions, and their scope
11. Recursive functions, polymorphic functions
12. Higher-order functions, anonymous functions, partial application
13. Tuples, records, lists, pattern matching
14. Algebric data types, polymorphic data types
15. Application of functional programming

授業時間外学習

基本的に毎週プログラミングの課題を課す.課題の提出に加え,演習前後には講義資料や参考書などを用いて予習,復習を行うこと.また,応用プログラムを自ら作成するなどして,演習で学んだ事柄についての理解を深めることが望ましい.

授業時間外学習(E)

Basically, programming assignments will be given every week. Students are required to submit the assignments and to review each class by using lecture and/or reference materials. In addition to the assignments, students are recommended to make their own programs using techniques they have learned in each class.

成績評価方法及び基準

提出された課題の評価により成績を決定する。

成績評価方法及び基準(E)

Submitted assignments.

教科書および参考書

  • プログラミングの基礎, 浅井 健一, サイエンス社 (2007) ISBN/ISSN: 9784781911601

オフィスアワー

メールにて質問を受け付ける.

オフィスアワー(E)

Students may ask questions by email.

 これと関連したシラバス 学務情報システムで確認
このシラバスを共有