AI Chat Paper
Note: Please note that the following content is generated by AMiner AI. SciOpen does not take any responsibility related to this content.
{{lang === 'zh_CN' ? '文章概述' : 'Summary'}}
{{lang === 'en_US' ? '中' : 'Eng'}}
Chat more with AI
PDF (5.8 MB)
Collect
Submit Manuscript AI Chat Paper
Show Outline
Outline
Show full outline
Hide outline
Outline
Show full outline
Hide outline
Open Access

Formative Assessment of Programming Language Learning Based on Peer Code Review: Implementation and Experience Report

Qing SunJi Wu( )Wenge RongWenbo Liu
School of Computer Science and Engineering, Beihang University, Beijing 100191, China.
Show Author Information

Abstract

In programming courses, the traditional assessment approach tends to evaluate student performance by scoring one or more project-level summative assignments. This approach no longer meets the requirements of a quality programming language education. Based on an upgraded peer code review model, we propose a formative assessment approach to assess the learning of computer programming languages, and develop an online assessment system (OOCourse) to implement this approach. Peer code review and inspection is an effective way to ensure the high quality of a program by systematically checking the source code. Though it is commonly applied in industrial and open-source software development, it is rarely taught and practiced in undergraduate-level programming courses. We conduct a case study using the formative assessment method in a sophomore level Object-Oriented Design and Construction course with more than 240 students. We use Moodle (an online learning system) and some relevant plugins to conduct peer code review. We also conduct data mining on the running data from the peer assessment activities. The case study shows that formative assessment based on peer code review gradually improved the programming ability of students in the undergraduate class.

References

[1]
M., Zundert D. Sluijsmans, and J. Merrinboer, Effective peer assessment processes: Research findings and future directions, Learning and Instruction, vol. 20, no. 4, pp. 270-279, 2010.
[2]
S. D. Thanga, Impact of formative assessment: Comparative analysis on the performance of bachelor of science in education students, presented at the National Meeting of JWS, Tokyo, Japan, 2015.
[3]
Z., Wang B., Fan X. J., Zhao H. W. Yue, and A. M. Klushin, Integrating formative and summative assessment, Oecd Education Working Papers, vol. 28, no. 58, pp. 10-11, 2011.
[4]
Y. Q., Wang H. Li, and Y. Liu, Assessment of programming language learning based on peer code review model: Implementation and experience report, Computers and Education, vol. 59, no. 2, pp. 412-422, 2012.
[5]
I., Cabrera J. Villalon, and J. Chavez, Blending communities and team-based learning in a programming course, IEEE Transactions on Education, vol. 99, pp. 1-8, 2017.
[6]
M. Bernhart and T. Grechenig, On the understanding of programs with continuous code reviews, presented at the IEEE International Conference on Program Comprehension, San Francisco, CA, USA, 2013.
[7]
M. E. Fagan, Advances in software inspections to reduce errors in program development, IBM Systems Journal, vol. 15, no. 3, pp. 182-211, 1976.
[8]
P. C. Rigby and C. Bird, Convergent contemporary software peer review practices, presented at the Joint Meeting on Foundations of Software Engi neering, Saint Petersburg, Russia, 2013.
[9]
C., Hundhausen A. Agrawal, and M. Trevisan, Integrating pedagogical code reviews into a cs 1 course: An empirical study, ACM SIGCSE Bulletin, vol. 41, no. 1, pp. 291-295, 2009.
[10]
X. S. Li, Using peer review to assess coding standards: A case study, presented at the Frontiers in Education Conference, Las Vegas, NV, USA, 2007.
[11]
C. D., Hundhausen A. Agrawal, and P. Agarwal, Talking about code: Integrating pedagogical code reviews into early computing courses, ACM Transactions on Computing Education, vol. 13, no. 3, pp. 1-28, 2013.
[12]
S., Sripada Y. R. Reddy, and A. Sureka, In support of peer code review and inspection in an undergraduate software engineering course, presented at the IEEE Conference on Software Engineering Education and Training, Florence, Italy, 2015.
[13]
Y. Q., Wang Y. W. Liang, and Y. Liu, A multi-peer assessment platform for programming language learning: Considering group non-consensus and personal radicalness, Interactive Learning Environments, vol. 23, no. 6, pp. 2011-2031, 2015.
[14]
T., Wang X. Su, and K. Wang, Ability-training-oriented automated assessment in introductory programming course, Computers and Education, vol. 56, no. 1, pp. 220-226, 2011.
[15]
Y. Q., Wang L., Hang Y. Sun, and Y. Jie, Learning outcomes of programming language courses based on peer code review model, presented at the International Conference on Computer Science and Education, Singapore, 2011.
[16]
M. Matthias, Two controlled experiments concerning the comparison of pair programming to peer review, Journal of Systems and Software, vol. 78, no. 2, pp. 166-179, 2005.
[17]
H., Ponbarry W. L. Packard, and S. John, Expanding capacity and promoting inclusion in introductory computer science: A focus on near-peer mentor preparation and code review, Computer Science Education, vol. 27, pp. 1-24, 2017.
[18]
B. M. Corsatea and S. Walker, Opportunities for moodle data and learning intelligence in virtual environments, presented at the IEEE International Conference on Evolving and Adaptive Intelligent Systems, Douai, France, 2015.
Tsinghua Science and Technology
Pages 423-434
Cite this article:
Sun Q, Wu J, Rong W, et al. Formative Assessment of Programming Language Learning Based on Peer Code Review: Implementation and Experience Report. Tsinghua Science and Technology, 2019, 24(4): 423-434. https://doi.org/10.26599/TST.2018.9010109

613

Views

36

Downloads

18

Crossref

N/A

Web of Science

20

Scopus

0

CSCD

Altmetrics

Received: 19 May 2018
Revised: 19 June 2018
Accepted: 26 June 2018
Published: 07 March 2019
© The author(s) 2019
Return