Abstract
With software technology becoming one of the most important aspects of computational science, it is imperative that we train students in the use of software development tools and teach them to adhere to sustainable software development workflows. In this paper, we showcase how we employ a collaborative peer review workflow for the homework assignments of our course on Numerical Linear Algebra for High Performance Computing (HPC). In the workflow we employ, the students are required to operate with the git version control system, perform code reviews, realize unit tests, and plug into a continuous integration system. From the students’ performance and feedback, we are optimistic that this workflow encourages the acceptance and usage of software development tools in academic software development.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Git cheat sheets. https://training.github.com/
GitLab CI/CD. https://docs.gitlab.com/ee/ci/
Jenkins CI. https://www.jenkins.io/index.html
The standard of code review. https://google.github.io/eng-practices/review/reviewer/standard.html
Travis CI - test and deploy your code with confidence. https://travis-ci.org/
Catch2 - testing framework. https://github.com/catchorg/Catch2
Googletest - testing framework. https://github.com/google/googletest
Anzt, H., et al.: Towards continuous benchmarking: an automated performance evaluation framework for high performance software. In: Proceedings of the Platform for Advanced Scientific Computing Conference, PASC 2019, pp. 1–11. Association for Computing Machinery, New York (June 2019). https://doi.org/10.1145/3324989.3325719
Anzt, H., et al.: Ginkgo: a high performance numerical linear algebra library. J. Open Source Softw. (August 2020). https://doi.org/10.21105/joss.02260
Nayak, P.: Exercises framework. https://github.com/pratikvn/nla4hpc-exercises-framework
Acknowledgements
The authors were supported by the “Impuls und Vernetzungsfond of the Helmholtz Association” under grant VH-NG-1241. The authors would also like to thank Jan-Patrick Lehr of TU Darmstadt for his helpful discussions and perspectives on this subject.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2021 Springer Nature Switzerland AG
About this paper
Cite this paper
Nayak, P., Göbel, F., Anzt, H. (2021). A Collaborative Peer Review Process for Grading Coding Assignments. In: Paszynski, M., Kranzlmüller, D., Krzhizhanovskaya, V.V., Dongarra, J.J., Sloot, P.M.A. (eds) Computational Science – ICCS 2021. ICCS 2021. Lecture Notes in Computer Science(), vol 12747. Springer, Cham. https://doi.org/10.1007/978-3-030-77980-1_49
Download citation
DOI: https://doi.org/10.1007/978-3-030-77980-1_49
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-77979-5
Online ISBN: 978-3-030-77980-1
eBook Packages: Computer ScienceComputer Science (R0)