diff --git a/Assignments.md b/Assignments.md index 7aea726..5310873 100644 --- a/Assignments.md +++ b/Assignments.md @@ -395,63 +395,5 @@ testWeights: During the execution tasks can use one shared log. There is no use for multiple logs, one per task for example, because of pretty small amount of information logged. By default logging is disabled, enabling can be done in job configuration. -After execution the log is packed with results into archive and sent back to fileserver. So the log can be found here for further processing. - - -## Case study - -We present some of the courses that might use ReCodEx to evaluate homework -assignments and outline the setup of the evaluation with respect to the concept -of stages. - -### Simple programming exercises - -For example introductory programming courses such as Programming I or Java -programming. - -In the simplest case we only need one stage that builds the program and passes -the test inputs to its standard input. Outputs are compared with the default judge. - -### Compiler principles - -This course uses multiple tools in a pipeline-like fashion -- for example `flex` -and `bison`. - -We create a stage for each of the steps of this pipeline -- we run flex and test -the output, then we run bison on top of previous stage results and do the same. This is more advanced configuration and ReCodEx is specifically designed to support such evaluation pipeline. - -### XML technologies - -In this course, students choose a topic they model using XML -- for example a -library or a bulletin board. During the semester, they expand this project by -adding XSLT transformations, XQuery scripts, XPath queries, etc. These are -tested against fixed requirements (e.g. using some particular language -constructs). - -This course already has a rather sophisticated application for testing homework -assignments, so we only include it for demonstration purposes. - -Because every assignment focuses on a different technology, we would need a new -type of stage for each one. These stages would only run some checker programs -against the submitted sources (and possibly try to check their syntax etc.). ReCodEx is not primarily determined to perform static analysis, but surely it is also possible. - -### Non-procedural programming - -This course is different from other programming courses, because it only teaches -input/output manipulation by the end of the semester. In their assignments, -students are mostly required to write a function/predicate that behaves -according to a specification (e.g. appends an item at the end of a list). - -Due to this, we need to take the function submitted by a student and combine it -with a snippet of code that reads the standard input and calls the submitted -function. This could be nicely achieved by setting the build command. - -### Operating systems - -The operating systems course requires students to work on a simple OS kernel -that is then run in a MIPS simulator called `msim`. There are various tests that -checks if the student's implementation of core OS mechanisms is correct. These -tests are compiled into the kernel. - -Each of these tests could be represented by a stage that compiles the kernel -with the test and then runs it against different configurations of `msim`. +After execution the log is packed with results into archive and sent back to +fileserver. So the log can be found here for further processing.