単位数: 1. 担当教員: 松田 一孝, 浅田 和之, 菊池 健太郎. 開講年度: 2024. 科目ナンバリング: TEI-PRI309J.
○
授業にはGoogle Classroomを利用します.Google Classroomのクラスコードは工学部Webページ:学部シラバス・時間割 (https://www.eng.tohoku.ac.jp/edu/syllabus-ug.html)より確認すること.水曜クラスと木曜クラスでクラスコードが異なるのでご注意ください.
1.目的
現代的なプログラミング方式としてオブジェクト指向プログラミングと関数プログラミングの基本を学ぶ.
2.概要
本演習は前半と後半に分かれる.前半ではプログラミング言語 C# を通じてクラスやオブジェクト,そして継承といったオブジェクト指向プログラミングにおける基本概念について学ぶ.後半では F# を通じて,代数データ型やパターンマッチ,そして高階関数といった関数プログラミングにおける基本概念について学ぶ.
3.達成目標等
オブジェクト指向および関数プログラミングの基本概念を習得し,C#およびF#で簡単なプログラミングが可能になること.
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」を履修していることが望ましい。
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.応用プログラミング
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
基本的に毎週プログラミングの課題を課す.課題の提出に加え,演習前後には講義資料や参考書などを用いて予習,復習を行うこと.また,応用プログラムを自ら作成するなどして,演習で学んだ事柄についての理解を深めることが望ましい.
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.
提出された課題の評価により成績を決定する。
Submitted assignments.
メールにて質問を受け付ける.
Students may ask questions by email.