研究生: |
劉喜媚 Lao, Hei-Mei |
---|---|
論文名稱: |
線上程式評量平台的推薦系統 Recommendation System for Online Programming Judge Platform |
指導教授: |
李哲榮
Lee, Che-Rung |
口試委員: |
許秋婷
HSU, CHIU-TING 沈之涯 SHEN, CHIH-YA |
學位類別: |
碩士 Master |
系所名稱: |
電機資訊學院 - 資訊工程學系 Computer Science |
論文出版年: | 2019 |
畢業學年度: | 107 |
語文別: | 英文 |
論文頁數: | 23 |
中文關鍵詞: | 推薦系統 、線上解題系統 、序列資料 、最短路徑 |
外文關鍵詞: | recommendation system, Online Judge, sequential data, The All Pair Shortest Path |
相關次數: | 點閱:2 下載:0 |
分享至: |
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報 |
程式設計課程的需求與日俱增,然而現今的線上自學工具無法滿足學生鍛練程式能力的需求。線上解題系統雖有提供各類型的題目並且按需求判定學生所提交的程式是否通過,但並不會為學生提供教學指導。本研究會提出專為線上解題系統而設計的推薦系統,會按照學生不同的程度與需求提供合適的練習題目。此方法是基於協同過濾與序列資料分析法如最長公共子序列組合而成的。此外,研究中提出了一個全新的基於圖論中的最短路徑設計出評量問題相似度的方法。利用清華大學線上解題系統過去的資料建構出線上解題系統的推薦系統,和以此資料評估本推薦系統的可用性。最後在實驗的結果中得到85%以上的準確度。
As the demand of introductory programming courses increases, there is no satisfactory online tool for self-learning students to drill their programming skills. Although the online judge systems can host various contest problems and judge the submitted codes on-demand, they do not provide a clear guideline for students to choose a proper problem set for learning, which however can be very diverse for different students. In this thesis, we presented a recommendation system for online programming judge platforms, which can suggest the problems to practice for each student based on his/her learning situations. Our method is based on the collaborative filtering algorithm with the sequential data analysis methods, such as LCSS. In addition, we define a new similarity measurement for problems based on the all pair shortest path of the problem dependency graph. We used the dataset from NTHU OJ to train the system and to evaluate the proposed algorithm. The experimental results show that our algorithm can achieve 85% recommendation accuracy.
[1] Codeforces. https://codeforces.com/. Online; accessed 15 July 2019.
[2] National tsing hua university online judge. https://acm.cs.nthu.edu.tw/. On-
line; accessed 15 July 2019.
[3] Topcoder: Design build high-quality software with crowdsourcing.
https://www.topcoder.com/. Online; accessed 15 July 2019.
[4] University of Valladolid (UVa) Online Judge. https://uva.onlinejudge.org/.
Online; accessed 15 July 2019.
[5] Rakesh Agrawal and Ramakrishnan Srikant. Fast algorithms for mining asso-
ciation rules in large databases. In Proceedings of the 20th International Con-
ference on Very Large Data Bases, VLDB '94, pages 487{499, San Francisco,
CA, USA, 1994. Morgan Kaufmann Publishers Inc.
[6] Marc Andreessen. Why software is eating the world. Aug 2011.
[7] John S. Breese, David Heckerman, and Carl Kadie. Empirical analysis of pre-
dictive algorithms for collaborative ltering. In Proceedings of the Fourteenth
Conference on Uncertainty in Articial Intelligence, UAI'98, pages 43{52, 1998.
[8] Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Cliord Stein.
Introduction to Algorithms, Third Edition. The MIT Press, 3rd edition, 2009.
[9] Jyh-Shing Roger Jang. Data clustering and pattern recognition.
http://mirlab.org/jang.
[10] Dietmar Jannach, Markus Zanker, Alexander Felfernig, and Gerhard Friedrich.
Recommender Systems: An Introduction. Cambridge University Press, New
York, NY, USA, 1st edition, 2010.
[11] Mozhgan Karimi, Dietmar Jannach, and Michael Jugovac. News recommender
systems survey and roads ahead. Information Processing Management,
54(6):1203 { 1227, 2018.
[12] C. Lee and Y. Chang. Enhancing accuracy and performance of collaborative
ltering algorithm by stochastic svd and its mapreduce implementation. In 2013
IEEE International Symposium on Parallel Distributed Processing, Workshops
and Phd Forum, pages 1869{1878, May 2013.
[13] G. Linden, B. Smith, and J. York. Amazon.com recommendations: item-to-
item collaborative ltering. IEEE Internet Computing, 7(1):76{80, Jan 2003.
[14] Francesco Ricci, Lior Rokach, and Bracha Shapira. Introduction to recom-
mender systems handbook. In Francesco Ricci, Lior Rokach, Bracha Shapira,
and Paul B. Kantor, editors, Recommender Systems Handbook, pages 1{35.
Springer, 2011.
[15] Anthony Robins, Janet Rountree, and Nathan Rountree. Learning and teach-
ing programming: A review and discussion. Computer Science Education,
13(2):137{172, 2003.
[16] J. Ben Schafer, Dan Frankowski, Jon Herlocker, and Shilad Sen. The adaptive
web. chapter Collaborative Filtering Recommender Systems, pages 291{324.
Springer-Verlag, Berlin, Heidelberg, 2007.
[17] Yingyuan Xiao, Pengqiang Ai, Ching-Hsien Hsu, HongyaWang, and Xu JiaoXu
Jiao. Time-ordered collaborative ltering for news recommendation. In China
Communications, pages 53{62, Dec 2015.
[18] S. Yu, Q. Kao, and C. Lee. Performance optimization of the SSVD
collaborative ltering algorithm on mapreduce architectures. In IEEE
DASC/PiCom/DataCom/CyberSciTech, pages 612{619, Aug 2016.