Skip to main content

Improving Programming Education Quality with Automatic Grading System

  • Conference paper
  • First Online:
Innovative Technologies and Learning (ICITL 2019)

Part of the book series: Lecture Notes in Computer Science ((LNISA,volume 11937))

Included in the following conference series:

Abstract

As the rapid growth of information technology, the demand for proficiency in software programming skyrockets. Compared to teaching with slides traditionally, hands-on programming training is more beneficial and practical. However, it is exhausting and time-consuming for educators to grade all assignments in person. Besides, students may not get feedback immediately to correct their wrong conceptions. Therefore, an automatic grading system is required to grade and send feedback to students. Based on an existing continuous integration system, which checks whether new programs behave as expected, we develop a set of course management tools and deploy an automatic grading system in this paper. Our system requires a server to run and test the programs. However, the server is susceptible to being compromised by hackers. Therefore, how we protect sensitive data and prevent malicious network traffic are demonstrated in this paper as well. The tools were applied in an Android application development course with 140 students enrolled. Around 72% of the students indicate the automatic grading system is beneficial to their learning.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  1. Android_Developers: Espresso. https://developer.android.com/training/testing/espresso

  2. Android_Developers: Ui automator. https://developer.android.com/training/testing/uiautomator

  3. Britton, J., Berglund, T.: Using version control in the classroom. In: Proceeding of the 44th ACM Technical Symposium on Computer Science Education, pp. 753–753. ACM (2013)

    Google Scholar 

  4. Chacon, S., Straub, B.: Pro GIT. Apress, New York (2014)

    Book  Google Scholar 

  5. Clifton, C., Kaczmarczyk, L.C., Mrozek, M.: Subverting the fundamentals sequence: using version control to enhance course management. ACM SIGCSE Bull. 39(1), 86–90 (2007)

    Article  Google Scholar 

  6. Cusumano, M.A.: Extreme programming compared with microsoft-style iterative development. Commun. ACM 50(10), 15–18 (2007)

    Article  Google Scholar 

  7. Felt, A.P., Finifter, M., Chin, E., Hanna, S., Wagner, D.: A survey of mobile malware in the wild. In: Proceedings of the 1st ACM Workshop on Security and Privacy in Smartphones and Mobile Devices, pp. 3–14. ACM (2011)

    Google Scholar 

  8. GitHub_Inc.: Github classroom. https://github.com/education/classroom

  9. GitHub_Inc.: Github developer: webhooks. https://developer.github.com/webhooks/

  10. Glassy, L.: Using version control to observe student software development processes. J. Comput. Sci. Coll. 21(3), 99–106 (2006)

    Google Scholar 

  11. Google: Implementing continuous delivery with Travis CI and App Engine (2019). https://cloud.google.com/solutions/continuous-delivery-with-travis-ci

  12. Holck, J., Jørgensen, N.: Continuous integration and quality assurance: a case study of two open source projects. Australas. J. Inf. Syst. 11(1), 45 (2003)

    Google Scholar 

  13. Miller, A.: A hundred days of continuous integration. In: Agile 2008 Conference, pp. 289–293. IEEE (2008)

    Google Scholar 

  14. Rash, M.: Linux Firewalls: Attack Detection and Response with iptables, psad, and fwsnort. No Starch Press, San Francisco (2007)

    Google Scholar 

  15. Robolectric: Robolectric, http://robolectric.org/

  16. The_JUnit_Team: Junit (2019). https://junit.org/

  17. Travis: Encryption keys. https://docs.travis-ci.com/user/encryption-keys/

  18. Travis: Job lifecycle. https://docs.travis-ci.com/user/job-lifecycle/

  19. Travis: Travis CI education. https://education.travis-ci.com/

  20. Watters, C., Johnson, P.: Version numbering in single development and test environment (2013)

    Google Scholar 

Download references

Acknowledgement

This work was supported by the Center for Open Intelligent Connectivity through the Featured Areas Research Center Program within the Framework of the Higher Education Sprout Project by the Ministry of Education in Taiwan. The work of Y.-Z. Cai was sponsored by the R&D enhancement project “R&D of Network Behavior Security Analyses for IoT Devices on Advanced Edge Switch in an AIOT plus SDN Integrated Platform,” which is executed by EstiNet Technologies Inc. and partially sponsored by Hsinchu Science Park Bureau, Ministry of Science and Technology, Taiwan, R.O.C. The work of M.-H. Tsai was supported in part by the MOST under Grant 107-2221-E-006-062 and Grant 108-2221-E-006-112, and in part by the Industrial Technology Research Institute.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Yun-Zhan Cai .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2019 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Cai, YZ., Tsai, MH. (2019). Improving Programming Education Quality with Automatic Grading System. In: Rønningsbakk, L., Wu, TT., Sandnes, F., Huang, YM. (eds) Innovative Technologies and Learning. ICITL 2019. Lecture Notes in Computer Science(), vol 11937. Springer, Cham. https://doi.org/10.1007/978-3-030-35343-8_22

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-35343-8_22

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-35342-1

  • Online ISBN: 978-3-030-35343-8

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics