SAUCE: A Web-Based Automated Assessment Tool for Teaching Parallel Programming

Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9523)

Abstract

Many curricula for undergraduate studies in computer science provide a lecture on the fundamentals of parallel programming like multi-threaded computation on shared memory architectures using POSIX threads or OpenMP. The complex structure of parallel programs can be challenging, especially for inexperienced students. Thus, there is a latent need for software supporting the learning process. Subsequent lectures may cover more advanced parallelization techniques such as the Message Passing Interface (MPI) and the Compute Unified Device Architecture (CUDA) languages. Unfortunately, the majority of students cannot easily access MPI clusters or modern hardware accelerators in order to effectively develop parallel programming skills. To overcome this, we present an interactive tool to aid both educators and students in the learning process. This paper describes the “System for AUtomated Code Evaluation” (SAUCE), a web-based open source (available under the AGPL-3.0 license at https://github.com/moschlar/SAUCE) application for programming assignment evaluation and elaborates on its features specifically designed for the teaching of parallel programming. This tool enables educators to provide the required programming environments with a low barrier to entry since it is usable with just a web browser. SAUCE allows for immediate feedback and thus can be used interactively in class room settings.

References

  1. 1.
    Learning Tools Interoperability. http://www.imsglobal.org/lti/
  2. 2.
    Ashoo, S.E., Boudreau, T., Lane, D.A.: Programming Contest Control System. http://www.ecs.csus.edu/pc2/
  3. 3.
    Bayer, M.: The Python SQL Toolkit and Object Relational Mapper. http://www.sqlalchemy.org/
  4. 4.
    Breitner, J., Hecker, M.: Quality control for programming assignments. https://github.com/KITPraktomatTeam/Praktomat/
  5. 5.
    Cloud9: Online Code Editor. https://c9.io
  6. 6.
    Compilr: Online Editor and Sandbox. https://compilr.com
  7. 7.
    Goedicke, M., Striewe, M., Balz, M.: Computer aided assessments and programming exercises with JACK. Technical report (2008)Google Scholar
  8. 8.
    Higgins, C., Hegazy, T., Symeonidis, P., Tsintsifas, A.: The CourseMarker CBA system: improvements over Ceilidh. Educ. Inf. Technol. 8(3), 287–304 (2003). http://dx.doi.org/10.1023/A:1026364126982 CrossRefGoogle Scholar
  9. 9.
    Ideone: Online Compiler and Debugging Tool. http://ideone.com
  10. 10.
    Molina, A.: TurboGears: Rapid Web Development Framework. http://turbogears.org
  11. 11.
    Quinn, M.J.: Parallel Programming in C with MPI and OpenMP. McGraw-Hill Education Group, New York (2003)Google Scholar
  12. 12.
    Schlarb, M.: System for AUtomated Code Evaluation on Github. https://github.com/moschlar/SAUCE
  13. 13.
    Schlarb, M., Hundt, C., Schmidt, B.: System for AUtomated Code Evaluation Cloud Service. http://sauce.informatik.uni-mainz.de
  14. 14.
    WebLab: Learning Management System. https://weblab.tudelft.nl/

Copyright information

© Springer International Publishing Switzerland 2015

Authors and Affiliations

  • Moritz Schlarb
    • 1
  • Christian Hundt
    • 1
  • Bertil Schmidt
    • 1
  1. 1.Institute of Computer ScienceJohannes Gutenberg UniversityMainzGermany

Personalised recommendations