A Web-Based Automated Code Assessment and Testing System for ICT Teachers
DOI:
https://doi.org/10.59573/emsj.7(4).2023.39Keywords:
Teaching programming, Automated grading, E-learning, Self-learning, Test automation, Lexical analysisAbstract
Computer programming captivates the attention of both professionals and young learners due to its multidisciplinary applications and high paid jobs. However, mastering computer programming requires critical thinking and consistent practice under the guidance of expert teachers. Consistently assessing the programming laboratories and giving detailed feedback are curial for novice learners. However, manual grading is daunting and time-consuming. Moreover, novice programmers often do not identify all the test cases and sufficient test data to test their programs thoroughly. This research introduces a sophisticated web-based system to aid instructors in grading programming assignments. Instructors can create questions and corresponding solutions, shared with students, who then write their programs. The system generates test cases for both student and correct solutions, assessing performance through comparison. A survey with 30 teachers affirmed the system's effectiveness, rating it 4.00 for simplifying assessment and 4.13 for user-friendliness on a 5-point Likert scale. Statistical analysis, yielding a p-value of 0.034, supported its positive impact. This web-based grading system not only streamlines assessment but also enhances the educational experience, fostering a user-friendly environment for both instructors and students.
References
Aldriye, H., Alkhalaf, A., & Alkhalaf, M. (2019). Automated grading systems for programming assignments: A literature review. International Journal of Advanced Computer Science and Applications, 10.
Allevato, A., & Edwards, S. H. (2012). RoboLIFT: Engaging CS2 students with testable, automatically evaluated Android applications. Proceedings of the 43rd ACM technical symposium on Computer Science Education, (pp. 547–552).
Bilan, Y., Mishchuk, H., Samoliuk, N., & Grishnova, O. (2019). ICT and economic growth: Links and possibilities of engaging. Intellectual Economics, 13, 93–104.
Cheah, C. S. (2020). Factors contributing to the difficulties in teaching and learning of computer programming: A literature review. Contemporary Educational Technology, 12, ep272.
De Silva, C. H. (2007). Information Technology Education in the Sri Lankan School System: Challenges and Perspectives. Conference ICL2007, September 26-28, 2007.
Edwards, S. H., & Perez-Quinones, M. A. (2008). Web-CAT: automatically grading programming assignments. Proceedings of the 13th annual conference on Innovation and technology in computer science education, (pp. 328–328).
Forquesato, L. E., & Borin, J. F. (2018). Kids Block Coding Game: A game to introduce programming to kids. Anais do XXVI Workshop sobre Educa??o em Computa??o.
Forsythe, G. E., & Wirth, N. (1965). Automatic grading programs. Communications of the ACM, 8, 275–278.
Gajewski, R. R., & Smyrnova-Trybulska, E. (2018). Algorithms, Programming, Flowcharts and Flowgorithm. E-Learning and Smart Learning Environment for the Preparation of New Generation Specialists, 393–408.
Glaser, J., Henley, D. E., Downing, G., Brinner, K. M., & of the American Health Information Community, P. H. (2008). Advancing personalized health care through health information technology: an update from the American Health Information Community's Personalized Health Care Workgroup. Journal of the American Medical Informatics Association, 15, 391–396.
Higgins, C. A., Gray, G., Symeonidis, P., & Tsintsifas, A. (2005). Automated assessment and experiences of teaching programming. Journal on Educational Resources in Computing (JERIC), 5, 5–es.
Hollingsworth, J. (1960). Automatic graders for programming classes. Communications of the ACM, 3, 528–529.
Hull, M. J., Powell, D., & Klein, E. (2011). Infandango: automated grading for student programming. Proceedings of the 16th annual joint conference on Innovation and technology in computer science education, (pp. 330–330).
Hundhausen, C. D., & Brown, J. L. (2005). Personalizing and discussing algorithms within CS1 studio experiences: an observational study. Proceedings of the first international workshop on Computing education research, (pp. 45–56).
Hyv?nen, J., & Malmi, L. (1993). TRAKLA-a system for teaching algorithms using email and a graphical editor. In HYPERMEDIA, Vaasa, 1993 (pp. 141–147). VAASAN YLIOPISTO.
Ihantola, P., Ahoniemi, T., Karavirta, V., & Sepp?l?, O. (2010). Review of recent systems for automatic assessment of programming assignments. Proceedings of the 10th Koli calling international conference on computing education research, (pp. 86–93).
Jackson, D., & Usher, M. (1997). Grading student programs using ASSYST. Proceedings of the twenty-eighth SIGCSE technical symposium on Computer science education, (pp. 335–339).
Jelemensk?, K., & ?i??k, P. (2012). Improved Assignments Management in MOODLE Environment. INTED2012 Proceedings, (pp. 1809–1817).
Jones, E. L. (2001). Grading student programs- a software testing approach. Journal of Computing Sciences in Colleges, 16, 185–192.
Joy, M., Griffiths, N., & Boyatt, R. (2005). The boss online submission and assessment system. Journal on Educational Resources in Computing (JERIC), 5, 2–es.
Kamis, C., & Lynch, S. M. (2020). Cronbach’s alpha. SAGE Publications Ltd.
Konecki, M. (2014). Problems in programming education and means of their improvement. DAAAM international scientific book, 2014, 459–470.
Korel, B. (1996). Automated test data generation for programs with procedures. ACM SIGSOFT Software Engineering Notes, 21, 209–215.
Korol, A., Blashkova, O., Kravchenko, V., & Khilya, A. (2021). Web-Technologies and multimedia systems in the training of professionals in the education system. ENVIRONMENT. TECHNOLOGIES. RESOURCES. Proceedings of the International Scientific and Practical Conference, 2, pp. 244–248.
Lajis, A., Baharudin, S. A., Ab Kadir, D., Ralim, N. M., Nasir, H. M., & Aziz, N. A. (2018). A review of techniques in automatic programming assessment for practical skill test. Journal of Telecommunication, Electronic and Computer Engineering (JTEC), 10, 109–113.
Leal, J. P., & Silva, F. (2008). Using Mooshak as a competitive learning tool. The 2008 Competitive Learning Symposium.
Li, Y., Krishnamurthy, R., Raghavan, S., Vaithyanathan, S., & Jagadish, H. V. (2008). Regular expression learning for information extraction. Proceedings of the 2008 conference on empirical methods in natural language processing, (pp. 21–30).
Linzmayer, O. W. (2004). Apple confidential 2.0: The definitive history of the world's most colorful company. No Starch Press.
Lowe, J. (2009). Google speaks: secrets of the world's greatest billionaire entrepreneurs, Sergey Brin and Larry Page. John Wiley & Sons.
Malik, S. I., & Coldwell-Neilson, J. (2017). A model for teaching an introductory programming course using ADRI. Education and Information Technologies, 22, 1089–1120.
Medeiros, S., Mascarenhas, F., & Ierusalimschy, R. (2011). From regular expressions to parsing expression grammars. Brazilian Symposium on Programming Languages.
Mekterovi?, I., Brki?, L., Mila?inovi?, B., & Baranovi?, M. (2020). Building a comprehensive automated programming assessment system. IEEE Access, 8, 81154–81172.
Morris, D. S. (2002). Automatically grading Java programming assignments via reflection, inheritance, and regular expressions. 32nd Annual Frontiers in Education, 1, p. T3G.
Nouri, J., Zhang, L., Mannila, L., & Nor?n, E. (2020). Development of computational thinking, digital competence and 21st century skills when learning programming in K-9. Education Inquiry, 11, 1–17.
Orlikowski, W. J., & Robey, D. (1991). Information technology and the structuring of organizations. Information systems research, 2, 143–169.
Patil, A. (2010). Automatic grading of programming assignments.
Pribela, I., Ivanovi?, M., & Budimac, Z. (2011). System for testing different kinds of students’ programming assignments. Proceedings. of 5th International Conference on Information Technology ICIT.
Queir?s, R. A., & Leal, J. P. (2012). PETCHA: a programming exercises teaching assistant. Proceedings of the 17th ACM annual conference on Innovation and technology in computer science education, (pp. 192–197).
Rahman, K. A., & Nordin, M. J. (2007). A review on the static analysis approach in the automated programming assessment systems.
Reek, K. A. (1989). The TRY system-or-how to avoid testing student programs. Proceedings of the twentieth SIGCSE technical symposium on Computer science education, (pp. 112–116).
Romli, R., Sulaiman, S., & Zamli, K. Z. (2010). Automatic programming assessment and test data generation a review on its approaches. 2010 International symposium on information technology, 3, pp. 1186–1192.
Roopa, S., & Rani, M. S. (2012). Questionnaire designing for a survey. Journal of Indian Orthodontic Society, 46, 273–277.
Sardana, V., & Singhania, S. (2018). Digital technology in the realm of banking: A review of literature. International Journal of Research in Finance and Management, 1, 28–32.
Scott, V. (2008). Google. ABC-CLIO. Retrieved from https://books.google.lk/books?id=OZJxDwAAQBAJ
Shalf, J. (2020). The future of computing beyond Moore’s Law. Philosophical Transactions of the Royal Society A, 378, 20190061.
Spacco, J. W. (2006). Marmoset: a programming project assignment framework to improve the feedback cycle for students, faculty and researchers. University of Maryland, College Park.
Strother, R. (2007). Bill Gates: Microsoft Founder: Microsoft Founder. ABDO Publishing Company.
Sutherland, A. (2012). The story of Facebook. The Rosen Publishing Group, Inc.
Tiantian, W., Xiaohong, S., Peijun, M., Yuying, W., & Kuanquan, W. (2009). Autolep: An automated learning and examination system for programming and its application in programming course. 2009 First International Workshop on Education Technology and Computer Science, 1, pp. 43–46.
Tkachuk, V., Yechkalo, Y., & Khotskina, S. (2020). Selection of mobile ICT for learning informatics of future professionals in engineering pedagogy.
Truong, N., Roe, P., & Bancroft, P. (2004). Static analysis of students' Java programs. Proceedings of the Sixth Australasian Conference on Computing Education-Volume 30, (pp. 317–325).
Von Wangenheim, C. G., Hauck, J. C., Demetrio, M. F., Pelle, R., da Cruz Alves, N., Barbosa, H., & Azevedo, L. F. (2018). CodeMaster–Automatic Assessment and Grading of App Inventor and Snap! Programs. Informatics in Education, 17, 117–150.
Wang, T., Su, X., Wang, Y., & Ma, P. (2007). Semantic similarity-based grading of student programs. Information and Software Technology, 49, 99–107.
Yusof, N., Zin, N. A., & Adnan, N. S. (2012). Java programming assessment tool for assignment module in moodle e-learning system. Procedia-Social and Behavioral Sciences, 56, 767–773.
Zuckerberg, M. (2012). Mark Zuckerberg. Wikipedia, the Free Encyclopaedia.
Downloads
Published
Issue
Section
License

This work is licensed under a Creative Commons Attribution 4.0 International License.
Terms and conditions of Creative Commons Attribution 4.0 International License apply to all published manuscripts. This Journal is licensed under a Creative Commons Attribution 4.0 International License. This licence allows authors to use all articles, data sets, graphics and appendices in data mining applications, search engines, web sites, blogs and other platforms by providing appropriate reference. The journal allows the author(s) to hold the copyright without restrictions and will retain publishing rights without restrictions.
A competing interest exists when professional judgment concerning the validity of research is influenced by a secondary interest, such as financial gain. We require that our authors reveal all possible conflicts of interest in their submitted manuscripts.
The Editor reserves the right to shorten and adjust texts. Significant changes in the text will be agreed with the Authors.
ISSN 


