4 ms·
As a teacher of IT courses, I'd love a tool that would make it easy for me to set up "TDD" assignments and manage student submissions and grading. For example,
by joeclark77 13y ago
As a teacher of IT courses, I'd love a tool that would make it easy for me to set up "TDD" assignments and manage student submissions and grading. For example, I teach a SQL database course. I'd like to tell students that they need to build a database such that queries A, B, C succeed and D, E, F fail. They would upload their schema (the CREATE TABLE code), the test suite would run, and they'd see the score and decide if they wanted to try again. This minimizes the grading work, and by making the test suite transparent, helps the students learn.
It would be very tedious to build tests for one assignment, and there'd be a risk of cheating if every student had to pass the exact same tests. If the product were a "platform" however, teachers could share the assignments (and test suites) they defined, so pretty soon it would be possible for me to assign a different database project to each student in my class, with a different test suite, by drawing on the content library.
- jayjohnson 13y agoInteresting idea. So we're in Beta and looking for good ideas like this to build showing our technology. For background, we take a user's GitHub repo and deploy them into REST API endpoints hosted on EC2. Each REST API is already paired with a database with SQLAlchemy. Clients invoke their REST API to publish their code as a "Job" requiring 3 parts: inputs, outputs, and tasks to perform (states). Those tasks can be whatever is necessary for your tdd and we test Jobs directly from our Web Developer Dashboard or with our cli. I could see something like a Final Exam repo setup where your students fork it for development and then testing based off the same code and tests are shared already in the repo and can be invoked for grading from our cli or the Web Developer Dashboard. Some More Information on FlowStacks (https://flowstacks.com/ https://flowstacks.com/) FlowStacks Hello World Example https://github.com/FlowStacks/hello-world https://github.com/FlowStacks/hello-world FlowStacks Tests https://github.com/FlowStacks/hello-world/tree/master/tests https://github.com/FlowStacks/hello-world/tree/master/tests Endpoint-specific Database Schema https://github.com/FlowStacks/hello-world/blob/master/schema/demo_database_schema.py https://github.com/FlowStacks/hello-world/blob/master/schema... Example Job Inputs https://github.com/FlowStacks/hello-world/blob/master/src/ra_send_email_template_to_user.py#L14-L21 https://github.com/FlowStacks/hello-world/blob/master/src/ra... Outputs: https://github.com/FlowStacks/hello-world/blob/master/src/ra_send_email_template_to_user.py#L23-L24 https://github.com/FlowStacks/hello-world/blob/master/src/ra... Example Job Tasks to Perform (States) https://github.com/FlowStacks/hello-world/blob/master/src/ra_db_flowstacks_create_new_record.py#L209-L225 https://github.com/FlowStacks/hello-world/blob/master/src/ra... We also support Jobs integration with Redis https://github.com/FlowStacks/hello-world/blob/master/src/ra_store_simple_user_value.py#L57-L62 https://github.com/FlowStacks/hello-world/blob/master/src/ra... Contact me if you have more questions. Cheers, Jay