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

  • Moritz SchlarbEmail author
  • Christian Hundt
  • Bertil Schmidt
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9523)


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


Virtual Machine Parallel Programming Message Passing Interface Automate Assessment Integrate Development Environment 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


  1. 1.
    Learning Tools Interoperability.
  2. 2.
    Ashoo, S.E., Boudreau, T., Lane, D.A.: Programming Contest Control System.
  3. 3.
    Bayer, M.: The Python SQL Toolkit and Object Relational Mapper.
  4. 4.
    Breitner, J., Hecker, M.: Quality control for programming assignments.
  5. 5.
    Cloud9: Online Code Editor.
  6. 6.
    Compilr: Online Editor and Sandbox.
  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). CrossRefGoogle Scholar
  9. 9.
    Ideone: Online Compiler and Debugging Tool.
  10. 10.
    Molina, A.: TurboGears: Rapid Web Development Framework.
  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.
  13. 13.
    Schlarb, M., Hundt, C., Schmidt, B.: System for AUtomated Code Evaluation Cloud Service.
  14. 14.
    WebLab: Learning Management System.

Copyright information

© Springer International Publishing Switzerland 2015

Authors and Affiliations

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

Personalised recommendations