Microsoft Word - IPSJ-Vol Sakura-thesis.docx

Similar documents
IPSJ SIG Technical Report Vol.2014-CE-123 No /2/8 Bebras 1,a) Bebras,,, Evaluation and Possibility of the Questions for Bebras Contest Abs

,,,,., C Java,,.,,.,., ,,.,, i

プログラミング基礎

IPSJ SIG Technical Report Vol.2009-DPS-141 No.20 Vol.2009-GN-73 No.20 Vol.2009-EIP-46 No /11/27 1. MIERUKEN 1 2 MIERUKEN MIERUKEN MIERUKEN: Spe

Web Web [4] Web Web [5] Web 2 Web 3 4 Web Web 2.1 Web Web Web Web Web 2.2 Web Web Web *1 Web * 2*3 Web 3. [6] [7] [8] 4. Web 4.1 Web Web *1 Ama

Contents Logging in 3-14 Downloading files from e-ijlp 15 Submitting files on e-ijlp Sending messages to instructors Setting up automatic

2006 [3] Scratch Squeak PEN [4] PenFlowchart 2 3 PenFlowchart 4 PenFlowchart PEN xdncl PEN [5] PEN xdncl DNCL 1 1 [6] 1 PEN Fig. 1 The PEN

PowerPoint プレゼンテーション

C プログラミング演習 1( 再 ) 2 講義では C プログラミングの基本を学び 演習では やや実践的なプログラミングを通して学ぶ

Microsoft PowerPoint - C_Programming(3).pptx

IPSJ SIG Technical Report Vol.2011-DBS-153 No /11/3 Wikipedia Wikipedia Wikipedia Extracting Difference Information from Multilingual Wiki

プログラミング入門1

IPSJ SIG Technical Report Vol.2013-CE-119 No /3/15 C 1 1 Web C MILES(Model-based Interactive Learning Support) MILES 1. C C MILES(Model-based In

1986 NHK NTT NTT CONTENTS SNS School of Information and Communi

PowerPoint Presentation

2) TA Hercules CAA 5 [6], [7] CAA BOSS [8] 2. C II C. ( 1 ) C. ( 2 ). ( 3 ) 100. ( 4 ) () HTML NFS Hercules ( )

( ) [1] [4] ( ) 2. [5] [6] Piano Tutor[7] [1], [2], [8], [9] Radiobaton[10] Two Finger Piano[11] Coloring-in Piano[12] ism[13] MIDI MIDI 1 Fig. 1 Syst

プログラミングI第10回

PowerPoint プレゼンテーション

1 Web Web 1,,,, Web, Web : - i -

4 分岐処理と繰返し処理 ( 教科書 P.32) プログラムの基本的処理は三つある. (1) 順次処理 : 上から下に順番に処理する ぶんきそろ (2) 分岐処理 : 条件が揃えば, 処理する はんぷく (3) 反復処理 : 条件が揃うまで処理を繰り返す 全てのプログラムは (1) から (3) の

プログラミングA

メソッドのまとめ

kiso2-09.key

JavaプログラミングⅠ


23 Study on Generation of Sudoku Problems with Fewer Clues

プログラミングA

情報処理Ⅰ

258 5) GPS 1 GPS 6) GPS DP 7) 8) 10) GPS GPS ) GPS Global Positioning System

PowerPoint Template

IPSJ SIG Technical Report Vol.2016-CE-137 No /12/ e β /α α β β / α A judgment method of difficulty of task for a learner using simple

Web Web Web Web 1 1,,,,,, Web, Web - i -

3_23.dvi

プログラミング実習I

Vol.55 No (Jan. 2014) saccess 6 saccess 7 saccess 2. [3] p.33 * B (A) (B) (C) (D) (E) (F) *1 [3], [4] Web PDF a m

pp2018-pp9base

プログラミング基礎I(再)

IPSJ SIG Technical Report Secret Tap Secret Tap Secret Flick 1 An Examination of Icon-based User Authentication Method Using Flick Input for

講習No.9

Microsoft PowerPoint - ●SWIM_ _INET掲載用.pptx

<4D F736F F D20438CBE8CEA8D758DC F0939A82C282AB2E646F63>

3. 標準入出力

今回のプログラミングの課題 ( 前回の課題で取り上げた )data.txt の要素をソートして sorted.txt というファイルに書出す ソート (sort) とは : 数の場合 小さいものから大きなもの ( 昇順 ) もしくは 大きなものから小さなもの ( 降順 ) になるよう 並び替えること

MDD PBL ET 9) 2) ET ET 2.2 2), 1 2 5) MDD PBL PBL MDD MDD MDD 10) MDD Executable UML 11) Executable UML MDD Executable UML

IT,, i


JavaScript Web JavaScript BitArrow BitArrow ( 4 ) Web VBA JavaScript JavaScript JavaScript Web Ajax(Asynchronous JavaScript + XML) Web. JavaScr

プログラミング方法論 II 第 14,15 回 ( 担当 : 鈴木伸夫 ) 問題 17. x 座標と y 座標をメンバに持つ構造体 Point を作成せよ 但し座標 は double 型とする typedef struct{ (a) x; (b) y; } Point; 問題 18. 問題 17 の

ポインタ変数

PowerPoint プレゼンテーション

プログラミング入門1

Microsoft PowerPoint - exp2-02_intro.ppt [互換モード]

4 月 東京都立蔵前工業高等学校平成 30 年度教科 ( 工業 ) 科目 ( プログラミング技術 ) 年間授業計画 教科 :( 工業 ) 科目 :( プログラミング技術 ) 単位数 : 2 単位 対象学年組 :( 第 3 学年電気科 ) 教科担当者 :( 高橋寛 三枝明夫 ) 使用教科書 :( プロ

Microsoft PowerPoint - C言語の復習(配布用).ppt [互換モード]

1 2. Nippon Cataloging Rules NCR [6] (1) 5 (2) 4 3 (3) 4 (4) 3 (5) ISSN 7 International Standard Serial Number ISSN (6) (7) 7 16 (8) ISBN ISSN I

Vol. 48 No. 3 Mar PM PM PMBOK PM PM PM PM PM A Proposal and Its Demonstration of Developing System for Project Managers through University-Indus

Microsoft PowerPoint Java基本技術PrintOut.ppt [互換モード]

1 Fig. 1 Extraction of motion,.,,, 4,,, 3., 1, 2. 2.,. CHLAC,. 2.1,. (256 ).,., CHLAC. CHLAC, HLAC. 2.3 (HLAC ) r,.,. HLAC. N. 2 HLAC Fig. 2

Delphi/400を使用したWebサービスアプリケーション

ソフトウェア基礎 Ⅰ Report#2 提出日 : 2009 年 8 月 11 日 所属 : 工学部情報工学科 学籍番号 : K 氏名 : 當銘孔太

Prog1_6th

Vol. 42 No. SIG 8(TOD 10) July HTML 100 Development of Authoring and Delivery System for Synchronized Contents and Experiment on High Spe

4-4 while 文 for 文と同様 ある処理を繰り返し実行するためのものだが for 文と違うのは while 文で指定するのは 継続条件のみであるということ for 文で書かれた左のプログラムを while 文で書き換えると右のようになる /* 読込んだ正の整数値までカウントアップ (for

1_26.dvi

05_藤田先生_責

[2] OCR [3], [4] [5] [6] [4], [7] [8], [9] 1 [10] Fig. 1 Current arrangement and size of ruby. 2 Fig. 2 Typography combined with printing

kiso2-03.key

1 1 CodeDrummer CodeMusician CodeDrummer Fig. 1 Overview of proposal system c

1 UD Fig. 1 Concept of UD tourist information system. 1 ()KDDI UD 7) ) UD c 2010 Information Processing S

2 ( ) i

Javaプログラムの実行手順

Vol. 48 No. 4 Apr LAN TCP/IP LAN TCP/IP 1 PC TCP/IP 1 PC User-mode Linux 12 Development of a System to Visualize Computer Network Behavior for L

Appropriate Disaster Preparedness Education in Classrooms According to Students Grade, from Kindergarten through High School Contrivance of an Educati

GET Vol.8

Microsoft PowerPoint - C1(演算と変数).ppt

Microsoft PowerPoint - ca ppt [互換モード]

2. 動的コンテンツとは動的コンテンツとは Web ブラウザからの要求に応じて動的に Web ページや画像などを生成する Web コンテンツのことをいいます Web で利用するサーチエンジンやアクセスカウンタ等は この仕組みを用いています 動的コンテンツは大きく次の二つに分類されます (1) Web

Web Stamps 96 KJ Stamps Web Vol 8, No 1, 2004

1 [1, 2, 3, 4, 5, 8, 9, 10, 12, 15] The Boston Public Schools system, BPS (Deferred Acceptance system, DA) (Top Trading Cycles system, TTC) cf. [13] [

BOK body of knowledge, BOK BOK BOK 1 CC2001 computing curricula 2001 [1] BOK IT BOK 2008 ITBOK [2] social infomatics SI BOK BOK BOK WikiBOK BO

Taro-ポインタ変数Ⅰ(公開版).j

目次 研究目的 背景システム開発について実験および評価結論

Java講座

Microsoft PowerPoint - 説明3_if文switch文(C_guide3)【2015新教材対応確認済み】.pptx

ガイダンス

Microsoft PowerPoint - prog03.ppt

IPSJ SIG Technical Report 3,a),b),,c) Web Web Web Patrash Patrash Patrash Design and Implementation of 3D interface for Patrash: Personalized Autonomo

The 18th Game Programming Workshop ,a) 1,b) 1,c) 2,d) 1,e) 1,f) Adapting One-Player Mahjong Players to Four-Player Mahjong

プログラミング基礎

Microsoft PowerPoint - C4(反復for).ppt

* ライブラリ関数 islower(),toupper() を使ったプログラム 1 /* 2 Program : trupper.c 3 Student-ID : K 4 Author : TOUME, Kouta 5 Comments : Used Library function i

& Vol.5 No (Oct. 2015) TV 1,2,a) , Augmented TV TV AR Augmented Reality 3DCG TV Estimation of TV Screen Position and Ro

1., 1 COOKPAD 2, Web.,,,,,,.,, [1]., 5.,, [2].,,.,.,, 5, [3].,,,.,, [4], 33,.,,.,,.. 2.,, 3.., 4., 5., ,. 1.,,., 2.,. 1,,

.N..

IPSJ SIG Technical Report Vol.2018-SE-200 No /12/ Proposal of test description support environment for request acquisition in web appli

2

IPSJ SIG Technical Report Vol.2010-GN-75 No /3/19 1. Proposal and Evaluation of Laboratory Experiments for understanding Offshore Software Deve

(1) プログラムの開始場所はいつでも main( ) メソッドから始まる 順番に実行され add( a,b) が実行される これは メソッドを呼び出す ともいう (2)add( ) メソッドに実行が移る この際 add( ) メソッド呼び出し時の a と b の値がそれぞれ add( ) メソッド

Microsoft PowerPoint - CproNt02.ppt [互換モード]

Transcription:

SKP 情報に基づく C 言語初学者のための学習コンテンツ推薦手法 石森さくら 倉澤陽輔菅澤昂成 Aiguo He 我々はプログラミング初学者が Web を多用していることに着目し 適切な Web コンテンツを推薦する手法を研究している 本研究は Web コンテンツを検索する必要性を明らかにした上 Web コンテンツの推薦アルゴリズムを提案した 実験によって 提案した推薦方法はプログラミング初学者の自主学習に役立つことが判明された 1. はじめに 現在 プログラミング初学者はインターネットを通じて学習コンテンツを探すことが一般的になっている 本研究はまず 初学者の Web コンテンツの利用状況を把握するために 2018 年度の会津大学 プログラミング入門 コースの 46 名の学生に対し アンケート調査を行った 尚 本コースでは学生が C プログラミング言語を学習し そのほとんどが本コースで初めてプログラミング言語を学ぶ SKP-based Recommendation of Learning Contents for C Programming Beginners SAKURA ISHIMORI KURASAWA YOUSUKE SUGASAWA KOUSEI AIGUO HE We focus on the fact that programming beginners use the Web and study methods to recommend suitable Web contents. In this research, we identified the necessity of searching Web content and proposed a recommendation algorithm of Web content. Experiments have shown that the proposed recommendation method is useful for self learning of programming beginners. 図 1 C 言語の問題解決時に活用するもの Figure: 1 What kind of resource do you rely to solve problems in C Language 本調査はまず 学生が勉強内容中の不明点などの解決に利用する方法を尋ねた 図 learning? 1 は学生の回答である 回答結果から 生徒は普段の授業で教科書かハンドアウトを使用しているにもかかわらず 79% の学生が Web サイトを利用していることが判明し よって 生徒は教科書の情報よりも Web での情報を重視していると言える また 学生に Web の使用目的を尋ねたところ 図 2 の回答が得られた それで 70% の生徒が講義の内容を理解するために Web を利用していることが判明した 教科書は構文こそ書いてあるが その使用例が少ない そのため 生徒は講義内容を理解するために 文法の具体的な使い方を参考にしたいようだ 様々な例を見て比較することで 改めてそれを理解していると考える 会津大学 University of Aizu 1 c2019 Information Processing Society of Japan

図 2 Web の使用目的 Figure: 2 What do you use Web site for? 最後に 現在の Web 検索方法に対する満足度について質問したが その回答 ( 図 3) でわかるように 図 1で Web の利用度が高いにも関わらず 半分以上の生徒が Web での検索結果に満足していない Web に満足していないと答えた人の理由は以下の 2 点であった l エラーコードから何をキーワードとして検索すべきかわからない l 18% 10% 72% Web から適切な情報を見つけられない To understand the lecture To search answer of exercise Other アンケート調査の結果でわかるように プログラミング初学者にはより適切な Web コンテンツを推薦する方法が求められている 我々は C プログラミング初学者の支援を目標に研究を進めており [1][2][3][4] プログラムのソースコードから摘出される知識点 (SKP: Syntactic Knowledge Point) とその利用が提案されてきた [1][2][3] 本研究は SKP を利用し Web コンテンツの推薦を改善する方法を提案する 2. SKP-based Learning Contents Recommendation 19% Yes No 67% 14% Other 図 3 Web 検索時の結果に不満があるか Figure: 3 Are you unsatisfied with the results you found from the Web site? 図 4 SKP-based Learning Contents Recommendation Figure: 4 SKP-based Learning Contents Recommendation 本提案のシステム構成を SKP-based Learning Contents Recommendation と定義する ( 図 4) Web 上のプログラミング学習に利用可能なコンテンツは以下の基本単位から構成されるものとする l Web ページの URL l サンプルプログラムに関する説明 l サンプルプログラムの一部 2 c2019 Information Processing Society of Japan

ここでいうサンプルプログラムの一部とは main() 関数などがない不完全なプログラムでもよい ( 図 5) 図 5 Figure: 5 サンプルプログラムの一部の例 Example of sample program.* 本研究では上記基本単位を LT(Learning Topic) と定義する 教育者は Topic Creation 機能を利用し 以下の手順で Web 上のコンテンツに関する情報を LTDB( 図 6) にまとめる (1) インターネットから LT 作成に適切な Web サイトを確定 (2) 確定した Web サイト上のサンプルコードから完全なプログラムにし SKPV(SKP- Vector) を抽出 ただし この SKPV は Web サイト上から抜き出したサンプルコー ドのみのものとする (3) Web サイトの URL 抽出した SKPV LT の名前から LT を作成 図 6 LT レコードのフォーマット Figure: 6 Format of LT record. 学生がコンテンツを検索するときは GUI で表示されているプログラムコードの構成要素 ( キーワード ) をクリックして 調べたい文法を指示する 指示された構成要素から PU-SKPV(Poor Understanding-SKPV) が抽出され 検索キーとして Recommender に送られる Recommender はこの検索キーを利用して LTDB から LT を検索し GUI に返す GUI は返された LT に基づき 該当の Web ページにアクセスし コンテンツを表示する SKPV は複数の SKP からなる集合体である SKP はプログラムソースコードに含まれている文法的な知識点であるため 図 7(a) に示すようにプログラムソースコードの解析木を利用して抽出できる 図 7(a) はプログラムコードの一部とそれの部分木 * https://www.javadrive.jp/cstart/for/index1.html 3 c2019 Information Processing Society of Japan

であり 一つの SKP は木の上の一組の親子節点ペアに対応している 図 7(b) の表に はそのソースコードの中から抽出された SKP の一部が示されている 3. 推薦アルゴリズム 検索キーとして与えられた PU-SKPV と LTDB 中の任意のレコード LT i に含まれるレコードキー SKPV i とは図 8 に示す関係がある int a, b; a = 10; 図 7(a) Figure: 7(a) プログラムコードと解析木 Program code and its syntax tree. 図 8 SKPV i と PU-SKP の関係 Figure: 8 Relation between SKPV i and PU-SKP. l A i は SKPV i に存在し PU-SKPV に存在しない SKP の集合である A i の大きさ A i l l は利用者にとって不要な情報量を示す B i は PU-SKPV にあり SKPV i にない SKP の集合である B i は LT i に利用者の期 待する情報がどれだけ不足しているかを示す C i は PU-SKPV と SKPV i 双方に含まれる SKP の集合である C i は LT i に利用者の 期待する情報がどれだけ含まれているかを示す 図 7(b) Figure: 7(b) SKP の例 Example of SKP. ここでは以下の二つの推薦方法を提案する 方法 A: 以下の条件の LT を最適 LT とする (1) C 1 が最も大きい (2) (1) の中で A i が最も小さいこの方法は SKPV が大きいものに有効である つまり PU-SKP の組み合わせに対応した一つの LT を推薦できる 4 c2019 Information Processing Society of Japan

方法 B:PU-SKPV に含まれる SKP{b # 1 i PU SKPV } ごとに以下のように最適 LT を選ぶ (1) LT i の SKPV i に b # が含まれる (2) (1) の中で A i の大きさが最も小さいこの方法 ( 図 9) は LT 中の SKPV が小さいものに有効である よって 不要な情報の少ない LT を推薦できる また 全ての PU-SKP に対応した LT を抽出できる この時 抽出される LT は PU-SKP の数に依存する 図 10 LTC の GUI Figure: 10 GUI of LTC. 4. 実験システムの実装 図 9 推薦方法 B Figure: 9 Recommend method B このシステムは Java, JavaFX, FXML で作成した また LTDB はテキストファイルで構成した 図 10 は LTC(Learning Topic Creator) の GUI である 教育者はこれを利用して通常の Web 検索を行い サンプルコードから SKPV を作成し LT レコードを LTDB に登録する 図 11 は学生用 GUI である 最初に個人情報を記入し プログラムを作成または サンプルプログラムから選択する 次にプログラム中の学習したい部分をクリックし PU-SKPV を抽出 この時クリックした部分は緑色に変わる GET ボタンを押すことで 最適な LT を得られる その推薦された LT をクリックすると該当の Web コンテンツを表示する 5 c2019 Information Processing Society of Japan

5. 実験 (1) 変数宣言 代入 キャスト 条件分岐 if (2) 関数 二次元配列 ループ for (3) ループ while (4) switch case これらは会津大学の プログラミング入門 コースで習う範囲である 今回用意した LTDB のレコード数は 61 個である これらは用意した全てのサンプルコードに対応している 5.2 実験 法 被験者が図 11 の GUI を利用し 学習したい文法要素を選択する 推薦された LT をクリックすると LT に該当する Web ページと評価画面が表示される 被験者は選択した学習したい文法要素に対して 推薦された LT の内容が適切かどうか 5 段階で評価する (5 が一番高い評価とする ) ただし 推薦された LT に該当する Web ページの明快さなどは考慮しないものとする 5.3 推薦 法の実験結果 本研究では 指定された学習すべき文法について 新しく定義した推薦方法は有効か C 言語経験年数を問わず 23 人に実験した 5.1 準備 図 11 Figure: 11 学生用 GUI GUI for students. この実験では以下の 4 つのサンプルプログラムを用意した 表 1 実験結果 Table: 1 Result of Experiment. 学年 1 学年 2 学年 3 学年 4 学年院生全体 方法 A 4.61 4.87 4.13 4.59 4.37 4.51 方法 B 4.7 4.88 4.56 4.31 4.4 4.57 平均 4.65 4.87 4.34 4.45 4.38 4.54 人数 5 2 4 10 2 23 方法 A,B 共に 4.5 近い評価を得ることができた ( 表 1) しかし PU-SKPV が大きい時 方法 A 評価が極端に低くなった SKP の組み合わせに対応した LTDB が不十分であったと言える 4 学年以外は方法 B の方の評価が高かったが全体的に評価に大きな差はなかった この理由を以下のように考察する 6 c2019 Information Processing Society of Japan

Ø Ø 方法 A B で推薦された LT の数が違うため つまりサンプルの母数が違うため 正確な結果が得られなかった PU-SKPV が大きい時 方法 A の評価が低くなる しかし PU-SKP を4つ以上選択した被験者は 23 人中 3 人と少なかったため 方法 A の評価が下がることがなかった ( 図 12) が関数の仮引数 (EX_F05EX_CST) として認識され その上 LT_2 より LT_1 の A i が大きいからだ これを解決するためには SKP の関連性を考慮した推薦方法が必要だと考える もし SKP の関連性を考慮した推薦を実現できれば 各 LT の A i と C i が同じ時でも 適切な LT を推薦できるだろう printf( %d, i ); 9 8 7 6 5 4 3 2 1 0 LT_1 A: SKPV size in LT LT_2 9 8 7 6 5 4 3 2 1 0 Ø 図 12 Figure: 12 全回答 Total answer. また 方法 B の評価が低い原因として LT に該当する Web ページの情報が PU-SKP に対して適切ではなかったことが挙げられる 例えば int a; に対して 変数宣言の例が記載されている URL を LT として作成する しかし 実際は変数宣言の使用例ではなく int( 整数型 ) の説明が必要であった このことから 一つの PU-SKP について 複数の LT を推薦する機能を追加すべきだと考える もう一つの例として printf( %d,i); のフォーマット演算子を PU-SKPV として選択したときの結果を挙げる ( 図 13) 本来であれば printf() の使用例やフォーマット指定子に関する LT_1 を推薦すべきだが LT_2 が推薦されてしまう これは %d C: PU-SKPV size included in LT B: PU-SKPV size 5.4 システム全体の評価 図 13 Figure: 13 低評価の例 Example of low grade. 本研究では 実験に伴いシステムアンケート調査を行なった ( 図 14) アンケート内容は以下である Q1. Web から必要な情報を見つける手間が省けたか Q2. Web 検索と比べ SKP-based LCR の利便性は良かったか 7 c2019 Information Processing Society of Japan

Q3. 第三者に SKP-based LCR を薦めたいか SKP-based LCR について 被験者の 9 割から高い評価を得られた アンケート結果からも 提案した推薦方法が生徒の文法理解に役立ったと言える 20 15 10 6. まとめ 5 0 Q1 Q2 Q3 はいどちらでもないいいえ 図 14 アンケート結果 Figure: 14 Questionnaire of System. 本研究では SKP を利用し Web コンテンツの推薦を改善する方法を提案した 実験結果とシステムアンケート結果から 生徒が抱える 検索方法がわからない Web から適切な情報を見つけられない という問題を解決した よって 提案した方法はプログラミング初学者の文法理解に役立ったと言える SKP-based LCR は生徒の自主学習だけでなく 授業の演習時にも応用することで プログラム中のエラーの解決に役立つ LT を推薦できる その一例の手順を以下に示す (1) 生徒はエラーのあるプログラムを指導者に送る (2) 指導者はそのプログラムをエラーのない状態に修正し PU-SKPV を作成 (3) SKP-based LCR はその PU-SKPV に対する最適な LT を推薦する これによって Web 検索の手間を省き 先生の仕事量削減を可能にする 本研究で 今後も多様な使い方に応用できるシステムを開発できた 7. 今後の展望 実験結果から SKP-based LCR を実際に自主学習で使うと想定すると 一度に生成される PU-SKPV は 3 4 である よって 選択できる PU-SKP の数に上限をつけたい また PU-SKPV に対してより適切な LT を推薦できるようにしたい そのために SKP の関連性を考慮した推薦方法を提案と 一つの SKP について複数の LT を推薦できるように実装しなければならない 提案した Web コンテンツ推薦方法では 一つの Web ページで LT を複数作成できるが LT 検索時 その Web ページどの行に存在するのか特定できない したがって Web ページ内での LT の存在位置検索システムを実装すべきだ そして SKP-based LCR を応用した演習授業用システムの評価実験をし 今後のシステムの改善 生徒の C 言語理解に役立てたい 8. 参考 献 [1] T.K Yu Yan, Kohei Hara and A. He, A method for personalized c programming learning contents recommendation to enhance traditional instruction, IEEE 31 st International Conference on Advanced Information Networking and Applications, 2017. [2] T.K Yu Yan, Kohei Hara and A. He, A method to describe student learning status for personalized computer programming e-learning environment, IEEE, pp.231,238,mar 2016. [3] Yuka Katsushima SKP-based Learning Contents Creation and Recommendation C-programming beginners, University of Aizu,Graduation Thesis. Mar, 2018 [4] Provit. http://cleast.u-aizu.ac.jp/. 8 c2019 Information Processing Society of Japan