| 講演抄録/キーワード |
| 講演名 |
2024-01-20 15:05
Javaへの応用に着目した関数型プログラミングの学習環境 ○堀田康輔・佐藤克己(学芸大)・中村勝一(福島大)・宮寺庸造(学芸大) ET2023-49 |
| 抄録 |
(和) |
StandardML,OCamlやHaskellをはじめとした関数型プログラミングは,手続き型やオブジェクト指向型とは大きく異なる特徴を持つプログラミングパラダイムである.具体的には,再代入が禁止されていること,関数を変数に代入できること,関数を引数として受け取り返り値として返す高階関数,リストなどのデータ構造に対して簡単に操作を行えるパターンマッチングなどである.近年では,その有用性が認められ関数型プログラミング言語以外にも関数型プログラミングの機能が実装されている.Javaもその一つであり,メソッドを第一級オブジェクトとして使うことができ,高階関数として使えるラムダ式やデータ構造に対するパターンマッチングが実装されている.一方で,関数型プログラミングの習得の難しさ,学習環境が十分に整っていないことから十分に普及しているとは言い難い.本研究は,関数型プログラミングを再帰関数,パターンマッチング, 高階関数の活用と捉え,その基礎を体系的に学べるような学習用プログラミング言語,学習教材,学習支援システムの開発をすることで,学習者が関数型プログラミング言語の利用,および Java などの言語で関数型プログラミングの手法を取り入れられるようになることを目的とする.実際に開発したものを評価実験したところ,被験者からは概ね好評を得られた. |
| (英) |
Functional programming is a programming paradigm with characteristics that are significantly different from procedural programming. For example, reassignment is prohibited, functions can be assigned to variables, high-order functions can use functions as argument or return values, and pattern matching can easily operate on data structures such as lists. Recently, its usefulness has been recognized and functional programming features have been implemented in various other programming languages. Java is one of them. It can use lambda expressions like high-order functions, and pattern matching for data structures. On the other hand, functional programming is not widely used due to its difficulty and lack of sufficient learning environment. This study aims to enable learners to use functional programming and incorporate functional programming techniques in languages such as Java through developing an educational programming language, a textbook, and a learning support system. In this study, functional programming is considered to be the use of recursive functions, pattern matching, and higher-order functions. We evaluated the developed products in an experimental study and received generally good results from test subjects. |
| キーワード |
(和) |
関数型プログラミング / プログラミング教育 / プログラミング言語処理系 / 学習支援システム / Java / / / |
| (英) |
Functional Programming / Programming Education / Programming Language Processor / Learning Support System / Java / / / |
| 文献情報 |
信学技報, vol. 123, no. 348, ET2023-49, pp. 24-31, 2024年1月. |
| 資料番号 |
ET2023-49 |
| 発行日 |
2024-01-13 (ET) |
| ISSN |
Online edition: ISSN 2432-6380 |
著作権に ついて |
技術研究報告に掲載された論文の著作権は電子情報通信学会に帰属します.(許諾番号:10GA0019/12GB0052/13GB0056/17GB0034/18GB0034) |
| PDFダウンロード |
ET2023-49 |
| 研究会情報 |
| 研究会 |
ET |
| 開催期間 |
2024-01-20 - 2024-01-20 |
| 開催地(和) |
京都大学 吉田キャンパス+オンライン開催 |
| 開催地(英) |
Kyoto University Yoshida Campus / Online |
| テーマ(和) |
身体知・スキル教育/一般 |
| テーマ(英) |
Bodily knowledge / Skill education, General |
| 講演論文情報の詳細 |
| 申込み研究会 |
ET |
| 会議コード |
2024-01-ET |
| 本文の言語 |
日本語 |
| タイトル(和) |
Javaへの応用に着目した関数型プログラミングの学習環境 |
| サブタイトル(和) |
|
| タイトル(英) |
Learning Environment for Functional Programming with Focus on Application to Study Java Programming |
| サブタイトル(英) |
|
| キーワード(1)(和/英) |
関数型プログラミング / Functional Programming |
| キーワード(2)(和/英) |
プログラミング教育 / Programming Education |
| キーワード(3)(和/英) |
プログラミング言語処理系 / Programming Language Processor |
| キーワード(4)(和/英) |
学習支援システム / Learning Support System |
| キーワード(5)(和/英) |
Java / Java |
| キーワード(6)(和/英) |
/ |
| キーワード(7)(和/英) |
/ |
| キーワード(8)(和/英) |
/ |
| 第1著者 氏名(和/英/ヨミ) |
堀田 康輔 / Kosuke Hotta / ホッタ コウスケ |
| 第1著者 所属(和/英) |
東京学芸大学 (略称: 学芸大)
Tokyo Gakugei University (略称: Tokyo Gakugei Univ.) |
| 第2著者 氏名(和/英/ヨミ) |
佐藤 克己 / Yoshiki Sato / サトウ ヨシキ |
| 第2著者 所属(和/英) |
東京学芸大学 (略称: 学芸大)
Tokyo Gakugei University (略称: Tokyo Gakugei Univ.) |
| 第3著者 氏名(和/英/ヨミ) |
中村 勝一 / Shoichi Nakamura / ナカムラ ショウイチ |
| 第3著者 所属(和/英) |
福島大学 (略称: 福島大)
Fukushima University (略称: Fukushima Univ.) |
| 第4著者 氏名(和/英/ヨミ) |
宮寺 庸造 / Youzou Miyadera / ミヤデラ ヨウゾウ |
| 第4著者 所属(和/英) |
東京学芸大学 (略称: 学芸大)
Tokyo Gakugei University (略称: Tokyo Gakugei Univ.) |
| 第5著者 氏名(和/英/ヨミ) |
/ / |
| 第5著者 所属(和/英) |
(略称: )
(略称: ) |
| 第6著者 氏名(和/英/ヨミ) |
/ / |
| 第6著者 所属(和/英) |
(略称: )
(略称: ) |
| 第7著者 氏名(和/英/ヨミ) |
/ / |
| 第7著者 所属(和/英) |
(略称: )
(略称: ) |
| 第8著者 氏名(和/英/ヨミ) |
/ / |
| 第8著者 所属(和/英) |
(略称: )
(略称: ) |
| 第9著者 氏名(和/英/ヨミ) |
/ / |
| 第9著者 所属(和/英) |
(略称: )
(略称: ) |
| 第10著者 氏名(和/英/ヨミ) |
/ / |
| 第10著者 所属(和/英) |
(略称: )
(略称: ) |
| 第11著者 氏名(和/英/ヨミ) |
/ / |
| 第11著者 所属(和/英) |
(略称: )
(略称: ) |
| 第12著者 氏名(和/英/ヨミ) |
/ / |
| 第12著者 所属(和/英) |
(略称: )
(略称: ) |
| 第13著者 氏名(和/英/ヨミ) |
/ / |
| 第13著者 所属(和/英) |
(略称: )
(略称: ) |
| 第14著者 氏名(和/英/ヨミ) |
/ / |
| 第14著者 所属(和/英) |
(略称: )
(略称: ) |
| 第15著者 氏名(和/英/ヨミ) |
/ / |
| 第15著者 所属(和/英) |
(略称: )
(略称: ) |
| 第16著者 氏名(和/英/ヨミ) |
/ / |
| 第16著者 所属(和/英) |
(略称: )
(略称: ) |
| 第17著者 氏名(和/英/ヨミ) |
/ / |
| 第17著者 所属(和/英) |
(略称: )
(略称: ) |
| 第18著者 氏名(和/英/ヨミ) |
/ / |
| 第18著者 所属(和/英) |
(略称: )
(略称: ) |
| 第19著者 氏名(和/英/ヨミ) |
/ / |
| 第19著者 所属(和/英) |
(略称: )
(略称: ) |
| 第20著者 氏名(和/英/ヨミ) |
/ / |
| 第20著者 所属(和/英) |
(略称: )
(略称: ) |
| 第21著者 氏名(和/英/ヨミ) |
/ / |
| 第21著者 所属(和/英) |
(略称: )
(略称: ) |
| 第22著者 氏名(和/英/ヨミ) |
/ / |
| 第22著者 所属(和/英) |
(略称: )
(略称: ) |
| 第23著者 氏名(和/英/ヨミ) |
/ / |
| 第23著者 所属(和/英) |
(略称: )
(略称: ) |
| 第24著者 氏名(和/英/ヨミ) |
/ / |
| 第24著者 所属(和/英) |
(略称: )
(略称: ) |
| 第25著者 氏名(和/英/ヨミ) |
/ / |
| 第25著者 所属(和/英) |
(略称: )
(略称: ) |
| 第26著者 氏名(和/英/ヨミ) |
/ / |
| 第26著者 所属(和/英) |
(略称: )
(略称: ) |
| 第27著者 氏名(和/英/ヨミ) |
/ / |
| 第27著者 所属(和/英) |
(略称: )
(略称: ) |
| 第28著者 氏名(和/英/ヨミ) |
/ / |
| 第28著者 所属(和/英) |
(略称: )
(略称: ) |
| 第29著者 氏名(和/英/ヨミ) |
/ / |
| 第29著者 所属(和/英) |
(略称: )
(略称: ) |
| 第30著者 氏名(和/英/ヨミ) |
/ / |
| 第30著者 所属(和/英) |
(略称: )
(略称: ) |
| 第31著者 氏名(和/英/ヨミ) |
/ / |
| 第31著者 所属(和/英) |
(略称: )
(略称: ) |
| 第32著者 氏名(和/英/ヨミ) |
/ / |
| 第32著者 所属(和/英) |
(略称: )
(略称: ) |
| 第33著者 氏名(和/英/ヨミ) |
/ / |
| 第33著者 所属(和/英) |
(略称: )
(略称: ) |
| 第34著者 氏名(和/英/ヨミ) |
/ / |
| 第34著者 所属(和/英) |
(略称: )
(略称: ) |
| 第35著者 氏名(和/英/ヨミ) |
/ / |
| 第35著者 所属(和/英) |
(略称: )
(略称: ) |
| 第36著者 氏名(和/英/ヨミ) |
/ / |
| 第36著者 所属(和/英) |
(略称: )
(略称: ) |
| 講演者 |
第1著者 |
| 発表日時 |
2024-01-20 15:05:00 |
| 発表時間 |
25分 |
| 申込先研究会 |
ET |
| 資料番号 |
ET2023-49 |
| 巻番号(vol) |
vol.123 |
| 号番号(no) |
no.348 |
| ページ範囲 |
pp.24-31 |
| ページ数 |
8 |
| 発行日 |
2024-01-13 (ET) |