How can I validate python code in a Jupyter Notebook?












1














I am looking for a way to do the above within a coding class for students. The idea is to check in the background if the code the students created e.g. returns the correct value or performs the correct routine.



That way I could make sure the code works and will be useful in the forthcoming cells. What would be the best way to do so and to give feedback/hints as to what was done wrong?



This should of course be not visible to the students as they should figure out the answers themselves. Should I send the code to be validated by some other kernel? Is there an optimal way?










share|improve this question






















  • Perhaps this is better suited for cseducators.stackexchange.com
    – juanpa.arrivillaga
    Nov 23 '18 at 9:37
















1














I am looking for a way to do the above within a coding class for students. The idea is to check in the background if the code the students created e.g. returns the correct value or performs the correct routine.



That way I could make sure the code works and will be useful in the forthcoming cells. What would be the best way to do so and to give feedback/hints as to what was done wrong?



This should of course be not visible to the students as they should figure out the answers themselves. Should I send the code to be validated by some other kernel? Is there an optimal way?










share|improve this question






















  • Perhaps this is better suited for cseducators.stackexchange.com
    – juanpa.arrivillaga
    Nov 23 '18 at 9:37














1












1








1







I am looking for a way to do the above within a coding class for students. The idea is to check in the background if the code the students created e.g. returns the correct value or performs the correct routine.



That way I could make sure the code works and will be useful in the forthcoming cells. What would be the best way to do so and to give feedback/hints as to what was done wrong?



This should of course be not visible to the students as they should figure out the answers themselves. Should I send the code to be validated by some other kernel? Is there an optimal way?










share|improve this question













I am looking for a way to do the above within a coding class for students. The idea is to check in the background if the code the students created e.g. returns the correct value or performs the correct routine.



That way I could make sure the code works and will be useful in the forthcoming cells. What would be the best way to do so and to give feedback/hints as to what was done wrong?



This should of course be not visible to the students as they should figure out the answers themselves. Should I send the code to be validated by some other kernel? Is there an optimal way?







python jupyter-notebook jupyter






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Nov 23 '18 at 9:35









user3507070

213




213












  • Perhaps this is better suited for cseducators.stackexchange.com
    – juanpa.arrivillaga
    Nov 23 '18 at 9:37


















  • Perhaps this is better suited for cseducators.stackexchange.com
    – juanpa.arrivillaga
    Nov 23 '18 at 9:37
















Perhaps this is better suited for cseducators.stackexchange.com
– juanpa.arrivillaga
Nov 23 '18 at 9:37




Perhaps this is better suited for cseducators.stackexchange.com
– juanpa.arrivillaga
Nov 23 '18 at 9:37












3 Answers
3






active

oldest

votes


















1














You could write tests for the tasks you hand out to your students. Depending on which ones fail proceed to print possible fixes.






share|improve this answer





























    1















    This should of course be not visible to the students as they should figure out the answers themselves.




    This is usually the wrong tactic. You should provide a set of test cases that expect correct output that the student can run their test against. Recall that Test-Driven Development teaches that application code should only be written to satisfy existing unit tests. Since you're assigning the application code: you need to write the unit tests to be passed!






    share|improve this answer





























      0














      It might be overkill for what you want to do, but INGInious might help here. From the website:




      INGInious is a secure and automated exercises assessment platform
      using your own tests, also providing a pluggable interface with your
      existing LMS.




      It offers all the infrastructure to test student code and give feedback.



      Disclaimer: It is developed by people in my university






      share|improve this answer





















        Your Answer






        StackExchange.ifUsing("editor", function () {
        StackExchange.using("externalEditor", function () {
        StackExchange.using("snippets", function () {
        StackExchange.snippets.init();
        });
        });
        }, "code-snippets");

        StackExchange.ready(function() {
        var channelOptions = {
        tags: "".split(" "),
        id: "1"
        };
        initTagRenderer("".split(" "), "".split(" "), channelOptions);

        StackExchange.using("externalEditor", function() {
        // Have to fire editor after snippets, if snippets enabled
        if (StackExchange.settings.snippets.snippetsEnabled) {
        StackExchange.using("snippets", function() {
        createEditor();
        });
        }
        else {
        createEditor();
        }
        });

        function createEditor() {
        StackExchange.prepareEditor({
        heartbeatType: 'answer',
        autoActivateHeartbeat: false,
        convertImagesToLinks: true,
        noModals: true,
        showLowRepImageUploadWarning: true,
        reputationToPostImages: 10,
        bindNavPrevention: true,
        postfix: "",
        imageUploader: {
        brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
        contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
        allowUrls: true
        },
        onDemand: true,
        discardSelector: ".discard-answer"
        ,immediatelyShowMarkdownHelp:true
        });


        }
        });














        draft saved

        draft discarded


















        StackExchange.ready(
        function () {
        StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53443995%2fhow-can-i-validate-python-code-in-a-jupyter-notebook%23new-answer', 'question_page');
        }
        );

        Post as a guest















        Required, but never shown

























        3 Answers
        3






        active

        oldest

        votes








        3 Answers
        3






        active

        oldest

        votes









        active

        oldest

        votes






        active

        oldest

        votes









        1














        You could write tests for the tasks you hand out to your students. Depending on which ones fail proceed to print possible fixes.






        share|improve this answer


























          1














          You could write tests for the tasks you hand out to your students. Depending on which ones fail proceed to print possible fixes.






          share|improve this answer
























            1












            1








            1






            You could write tests for the tasks you hand out to your students. Depending on which ones fail proceed to print possible fixes.






            share|improve this answer












            You could write tests for the tasks you hand out to your students. Depending on which ones fail proceed to print possible fixes.







            share|improve this answer












            share|improve this answer



            share|improve this answer










            answered Nov 23 '18 at 9:39









            Daniel Einars

            4212




            4212

























                1















                This should of course be not visible to the students as they should figure out the answers themselves.




                This is usually the wrong tactic. You should provide a set of test cases that expect correct output that the student can run their test against. Recall that Test-Driven Development teaches that application code should only be written to satisfy existing unit tests. Since you're assigning the application code: you need to write the unit tests to be passed!






                share|improve this answer


























                  1















                  This should of course be not visible to the students as they should figure out the answers themselves.




                  This is usually the wrong tactic. You should provide a set of test cases that expect correct output that the student can run their test against. Recall that Test-Driven Development teaches that application code should only be written to satisfy existing unit tests. Since you're assigning the application code: you need to write the unit tests to be passed!






                  share|improve this answer
























                    1












                    1








                    1







                    This should of course be not visible to the students as they should figure out the answers themselves.




                    This is usually the wrong tactic. You should provide a set of test cases that expect correct output that the student can run their test against. Recall that Test-Driven Development teaches that application code should only be written to satisfy existing unit tests. Since you're assigning the application code: you need to write the unit tests to be passed!






                    share|improve this answer













                    This should of course be not visible to the students as they should figure out the answers themselves.




                    This is usually the wrong tactic. You should provide a set of test cases that expect correct output that the student can run their test against. Recall that Test-Driven Development teaches that application code should only be written to satisfy existing unit tests. Since you're assigning the application code: you need to write the unit tests to be passed!







                    share|improve this answer












                    share|improve this answer



                    share|improve this answer










                    answered Nov 23 '18 at 9:49









                    Adam Smith

                    33.3k53174




                    33.3k53174























                        0














                        It might be overkill for what you want to do, but INGInious might help here. From the website:




                        INGInious is a secure and automated exercises assessment platform
                        using your own tests, also providing a pluggable interface with your
                        existing LMS.




                        It offers all the infrastructure to test student code and give feedback.



                        Disclaimer: It is developed by people in my university






                        share|improve this answer


























                          0














                          It might be overkill for what you want to do, but INGInious might help here. From the website:




                          INGInious is a secure and automated exercises assessment platform
                          using your own tests, also providing a pluggable interface with your
                          existing LMS.




                          It offers all the infrastructure to test student code and give feedback.



                          Disclaimer: It is developed by people in my university






                          share|improve this answer
























                            0












                            0








                            0






                            It might be overkill for what you want to do, but INGInious might help here. From the website:




                            INGInious is a secure and automated exercises assessment platform
                            using your own tests, also providing a pluggable interface with your
                            existing LMS.




                            It offers all the infrastructure to test student code and give feedback.



                            Disclaimer: It is developed by people in my university






                            share|improve this answer












                            It might be overkill for what you want to do, but INGInious might help here. From the website:




                            INGInious is a secure and automated exercises assessment platform
                            using your own tests, also providing a pluggable interface with your
                            existing LMS.




                            It offers all the infrastructure to test student code and give feedback.



                            Disclaimer: It is developed by people in my university







                            share|improve this answer












                            share|improve this answer



                            share|improve this answer










                            answered Nov 23 '18 at 9:58









                            damienfrancois

                            25.2k54361




                            25.2k54361






























                                draft saved

                                draft discarded




















































                                Thanks for contributing an answer to Stack Overflow!


                                • Please be sure to answer the question. Provide details and share your research!

                                But avoid



                                • Asking for help, clarification, or responding to other answers.

                                • Making statements based on opinion; back them up with references or personal experience.


                                To learn more, see our tips on writing great answers.





                                Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


                                Please pay close attention to the following guidance:


                                • Please be sure to answer the question. Provide details and share your research!

                                But avoid



                                • Asking for help, clarification, or responding to other answers.

                                • Making statements based on opinion; back them up with references or personal experience.


                                To learn more, see our tips on writing great answers.




                                draft saved


                                draft discarded














                                StackExchange.ready(
                                function () {
                                StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53443995%2fhow-can-i-validate-python-code-in-a-jupyter-notebook%23new-answer', 'question_page');
                                }
                                );

                                Post as a guest















                                Required, but never shown





















































                                Required, but never shown














                                Required, but never shown












                                Required, but never shown







                                Required, but never shown

































                                Required, but never shown














                                Required, but never shown












                                Required, but never shown







                                Required, but never shown







                                Popular posts from this blog

                                Trompette piccolo

                                Slow SSRS Report in dynamic grouping and multiple parameters

                                Simon Yates (cyclisme)