Skip to main content

A Collaborative Peer Review Process for Grading Coding Assignments

  • Conference paper
  • First Online:
Computational Science – ICCS 2021 (ICCS 2021)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 12747))

Included in the following conference series:

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.

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 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.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. Git cheat sheets. https://training.github.com/

  2. GitLab CI/CD. https://docs.gitlab.com/ee/ci/

  3. Jenkins CI. https://www.jenkins.io/index.html

  4. The standard of code review. https://google.github.io/eng-practices/review/reviewer/standard.html

  5. Travis CI - test and deploy your code with confidence. https://travis-ci.org/

  6. Catch2 - testing framework. https://github.com/catchorg/Catch2

  7. Googletest - testing framework. https://github.com/google/googletest

  8. 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

  9. 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

  10. Nayak, P.: Exercises framework. https://github.com/pratikvn/nla4hpc-exercises-framework

Download references

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

Authors

Corresponding author

Correspondence to Pratik Nayak .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2021 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

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)

Publish with us

Policies and ethics