What's the benefit of prohibiting the use of techniques/language constructs that have not been taught?Teaching high-level versus low-level conceptsA quick ruby crash courseHow do you structure broad, open-ended, freely chosen projects so that students use class time wisely?To plan or not to plan that is the questionWhy do educators not set an upper bound for the amount of times we're allowed to compile code?Students seem to be unable to use code to express their ideas. Is the teaching methodology improvable?How to teach C++ language to beginners of (BSCS) students who have no any idea about it?

What is a "major country" as named in Bernie Sanders' Healthcare debate answers?

How to control the output voltage of a solid state relay

super and subscripts on stackrel variable

If I want an interpretable model, are there methods other than Linear Regression?

What organs or modifications would be needed for a life biological creature not to require sleep?

sed replacing character in a file

Why are some files not movable on Windows 10?

Reading double values from a text file

Why the car dealer is insisting on loan instead of cash

Is there a tool to measure the "maturity" of a code in Git?

Is there any way to land a rover on the Moon without using any thrusters?

Bit one of the Intel 8080's Flags register

What's the benefit of prohibiting the use of techniques/language constructs that have not been taught?

Python web-scraper to download table of transistor counts from Wikipedia

Why is the year in this ISO timestamp not 2019?

What is the name of this Allen-head furniture fastener?

How to publish superseding results without creating enemies

Is using gradient descent for MIP a good idea?

Some Prime Peerage

What was the ultimate objective of The Party in 1984?

If the gambler's fallacy is false, how do notions of "expected number" of events work?

What are these things that surround museum exhibits called?

Which is the current decimal separator?

Planar regular languages



What's the benefit of prohibiting the use of techniques/language constructs that have not been taught?


Teaching high-level versus low-level conceptsA quick ruby crash courseHow do you structure broad, open-ended, freely chosen projects so that students use class time wisely?To plan or not to plan that is the questionWhy do educators not set an upper bound for the amount of times we're allowed to compile code?Students seem to be unable to use code to express their ideas. Is the teaching methodology improvable?How to teach C++ language to beginners of (BSCS) students who have no any idea about it?






.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;








3












$begingroup$


I teach as a private tutor and most of my students are prohibited to use techniques and/or language constructs that they haven't been taught!



There's a really broad variety of stuff that is prohibited like foreach-loops, switch-statements, functions/methods, etc.



What do you think is the benefit of this rule or why do most schools and universities have such a rule?










share|improve this question









New contributor



csabinho is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.






$endgroup$




















    3












    $begingroup$


    I teach as a private tutor and most of my students are prohibited to use techniques and/or language constructs that they haven't been taught!



    There's a really broad variety of stuff that is prohibited like foreach-loops, switch-statements, functions/methods, etc.



    What do you think is the benefit of this rule or why do most schools and universities have such a rule?










    share|improve this question









    New contributor



    csabinho is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
    Check out our Code of Conduct.






    $endgroup$
















      3












      3








      3





      $begingroup$


      I teach as a private tutor and most of my students are prohibited to use techniques and/or language constructs that they haven't been taught!



      There's a really broad variety of stuff that is prohibited like foreach-loops, switch-statements, functions/methods, etc.



      What do you think is the benefit of this rule or why do most schools and universities have such a rule?










      share|improve this question









      New contributor



      csabinho is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.






      $endgroup$




      I teach as a private tutor and most of my students are prohibited to use techniques and/or language constructs that they haven't been taught!



      There's a really broad variety of stuff that is prohibited like foreach-loops, switch-statements, functions/methods, etc.



      What do you think is the benefit of this rule or why do most schools and universities have such a rule?







      programming project homework






      share|improve this question









      New contributor



      csabinho is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.










      share|improve this question









      New contributor



      csabinho is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.








      share|improve this question




      share|improve this question








      edited 7 hours ago









      thesecretmaster

      3,3713 gold badges11 silver badges44 bronze badges




      3,3713 gold badges11 silver badges44 bronze badges






      New contributor



      csabinho is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.








      asked 8 hours ago









      csabinhocsabinho

      1164 bronze badges




      1164 bronze badges




      New contributor



      csabinho is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.




      New contributor




      csabinho is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.

























          3 Answers
          3






          active

          oldest

          votes


















          2














          $begingroup$

          Rules like this are generally instituted because the teacher is attempting to teach a concept made moot by one of these constructs. For example, as a teacher, if you're teaching bitwise operators and ask students to implement absolute value, it simply makes no sense to permit the students to use whatever library function does absolute value. You're teaching bitwise operators, and the fact that they know of the library function doesn't help them learn bitwise operators.



          I believe that because you're asking here, the reason for the prohibition isn't as obvious as in my example, but my guess (without knowing the specifics of the situation) is that the prohibited constructs are not what are being taught so, for that course, the students knowledge of a more advanced concept is irrelevant to the subject matter being taught.






          share|improve this answer









          $endgroup$














          • $begingroup$
            The first sentence of your second paragraph is spot-on. In most cases I suspect that those constructs were just forgotten... Also i don't see why functions/methods are taught that late, but that's almost another topic... Also I'm not really sure if there is a clear plan behind this or if it is more about authority than didactics, or in other words: "Rules are rules and that's it! Just follow them and don't ask why they have been set up. If you don't follow them, you disrespected the teacher and will be penalized"!
            $endgroup$
            – csabinho
            6 hours ago



















          2














          $begingroup$

          I think that the answer of thesecretmaster is correct but let me add a bit of advice to an instructor who would do this. Just as you wonder yourself, the rule doesn't seem to make a lot of sense and it won't make sense to students either. It may cause resentment.



          So, if an instructor wants to use a rule like this then, I think that a general rule agains using things not yet taught is foolish. However, you can achieve the same result by carefully stating the problem you want solved. So, for example, following thesecretmaster, instead of asking for the students to compute the absolute value ask them to compute the absolute value using only the bitwise operators. In other words, put the specific restriction into the question itself.



          This brings up an important teaching and learning technique called "creativity under constraint". Some wood working artists, for example, use only hand tools, forgoing power tools. Furniture makers I've known do this. The restricted set of tools forces them to make better use of the tools that the do use, becoming more skilled in the process. But, to impose it on someone else requires that you make it clear why it is a good idea to do this.



          I've discussed Creativity Under Constraint here in the past in other contexts. See this post and this other one.






          share|improve this answer









          $endgroup$






















            1














            $begingroup$

            Where it stems from is, of course, because the lab is not the thing that the instructors want solved. After all, the lab problem is not an unsolved problem, and it will only be unique (if at all) in some surface way. This is the source of the feeling that people have that the restrictions are unreasonable: they feel like solving the lab is somehow the purpose of the assignment, and therefore any high quality solution is to be praised.



            So if solving the problem isn't the deeper purpose of a lab, then what is? Typically, we are teaching an algorithm or a data structure. The lab is conjured as something that lends itself to that algorithm or data structure, and that is the goal of the instruction. I want to engender mastery of linked lists, or stack management, or two-dimensional arrays, or memory management, or... whatever the focus is.



            The lab problem itself is entirely secondary, even if it does not in any way feel like this to the student. The lab problem is simply meant to provide a rich environment to play around with the learning target, and to gain some measure of experience wrestling with it.



            The problem that we run into, then, is that there is no problem that cannot be solved in many ways. I can search as hard as I might for a problem that would be much, much harder to solve in a manner perpendicular to the purpose of the lab, and sometimes I will have some success. But sometimes I will not, because sometimes no such problem exists.



            There exists no problem that can be solved with a linked list that cannot also be solved with an arraylist. I could provide starter code to try to force my approach, but that simultaneously increases the difficulty of creating the lab while decreasing the thought that must go into starting it.



            A blanked ban, such as "you may use no bang operators in your Racket lab" is an imperfect solution, but all of the solutions are imperfect, and sometimes a ban feels like the least of the evils.



            This is not a blanket defense; such band can be careless, or needless, or clumsily done. I try hard to avoid them in my own instruction, but I don't always succeed. If it seems unfair to restrict my students' approach, it is also unfair to my students if they don't delve far enough into the course material because they originally thought of a different solution, and they just stuck with it. That cheats them of the chance to learn the material in the course, which they may well need in their next course, or later on in their life.






            share|improve this answer









            $endgroup$














            • $begingroup$
              Even though I completely see your point, my point, which was maybe not made clear enough in my question, is why students are forced to do typical "don't try this at home"-programming because of those restrictions. Also mostly I don't have the feeling that the teachers are following a clear didactic plan which requires to solve specific examples with specific constructs but it's more about their authority, which is undermined if their students leave their path and start learning on their own(and also that some constructs are just forgotten, but that's another topic).
              $endgroup$
              – csabinho
              3 hours ago













            Your Answer








            StackExchange.ready(function()
            var channelOptions =
            tags: "".split(" "),
            id: "678"
            ;
            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: false,
            noModals: true,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: null,
            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/4.0/"u003ecc by-sa 4.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
            );



            );







            csabinho is a new contributor. Be nice, and check out our Code of Conduct.









            draft saved

            draft discarded
















            StackExchange.ready(
            function ()
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fcseducators.stackexchange.com%2fquestions%2f5906%2fwhats-the-benefit-of-prohibiting-the-use-of-techniques-language-constructs-that%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









            2














            $begingroup$

            Rules like this are generally instituted because the teacher is attempting to teach a concept made moot by one of these constructs. For example, as a teacher, if you're teaching bitwise operators and ask students to implement absolute value, it simply makes no sense to permit the students to use whatever library function does absolute value. You're teaching bitwise operators, and the fact that they know of the library function doesn't help them learn bitwise operators.



            I believe that because you're asking here, the reason for the prohibition isn't as obvious as in my example, but my guess (without knowing the specifics of the situation) is that the prohibited constructs are not what are being taught so, for that course, the students knowledge of a more advanced concept is irrelevant to the subject matter being taught.






            share|improve this answer









            $endgroup$














            • $begingroup$
              The first sentence of your second paragraph is spot-on. In most cases I suspect that those constructs were just forgotten... Also i don't see why functions/methods are taught that late, but that's almost another topic... Also I'm not really sure if there is a clear plan behind this or if it is more about authority than didactics, or in other words: "Rules are rules and that's it! Just follow them and don't ask why they have been set up. If you don't follow them, you disrespected the teacher and will be penalized"!
              $endgroup$
              – csabinho
              6 hours ago
















            2














            $begingroup$

            Rules like this are generally instituted because the teacher is attempting to teach a concept made moot by one of these constructs. For example, as a teacher, if you're teaching bitwise operators and ask students to implement absolute value, it simply makes no sense to permit the students to use whatever library function does absolute value. You're teaching bitwise operators, and the fact that they know of the library function doesn't help them learn bitwise operators.



            I believe that because you're asking here, the reason for the prohibition isn't as obvious as in my example, but my guess (without knowing the specifics of the situation) is that the prohibited constructs are not what are being taught so, for that course, the students knowledge of a more advanced concept is irrelevant to the subject matter being taught.






            share|improve this answer









            $endgroup$














            • $begingroup$
              The first sentence of your second paragraph is spot-on. In most cases I suspect that those constructs were just forgotten... Also i don't see why functions/methods are taught that late, but that's almost another topic... Also I'm not really sure if there is a clear plan behind this or if it is more about authority than didactics, or in other words: "Rules are rules and that's it! Just follow them and don't ask why they have been set up. If you don't follow them, you disrespected the teacher and will be penalized"!
              $endgroup$
              – csabinho
              6 hours ago














            2














            2










            2







            $begingroup$

            Rules like this are generally instituted because the teacher is attempting to teach a concept made moot by one of these constructs. For example, as a teacher, if you're teaching bitwise operators and ask students to implement absolute value, it simply makes no sense to permit the students to use whatever library function does absolute value. You're teaching bitwise operators, and the fact that they know of the library function doesn't help them learn bitwise operators.



            I believe that because you're asking here, the reason for the prohibition isn't as obvious as in my example, but my guess (without knowing the specifics of the situation) is that the prohibited constructs are not what are being taught so, for that course, the students knowledge of a more advanced concept is irrelevant to the subject matter being taught.






            share|improve this answer









            $endgroup$



            Rules like this are generally instituted because the teacher is attempting to teach a concept made moot by one of these constructs. For example, as a teacher, if you're teaching bitwise operators and ask students to implement absolute value, it simply makes no sense to permit the students to use whatever library function does absolute value. You're teaching bitwise operators, and the fact that they know of the library function doesn't help them learn bitwise operators.



            I believe that because you're asking here, the reason for the prohibition isn't as obvious as in my example, but my guess (without knowing the specifics of the situation) is that the prohibited constructs are not what are being taught so, for that course, the students knowledge of a more advanced concept is irrelevant to the subject matter being taught.







            share|improve this answer












            share|improve this answer



            share|improve this answer










            answered 7 hours ago









            thesecretmasterthesecretmaster

            3,3713 gold badges11 silver badges44 bronze badges




            3,3713 gold badges11 silver badges44 bronze badges














            • $begingroup$
              The first sentence of your second paragraph is spot-on. In most cases I suspect that those constructs were just forgotten... Also i don't see why functions/methods are taught that late, but that's almost another topic... Also I'm not really sure if there is a clear plan behind this or if it is more about authority than didactics, or in other words: "Rules are rules and that's it! Just follow them and don't ask why they have been set up. If you don't follow them, you disrespected the teacher and will be penalized"!
              $endgroup$
              – csabinho
              6 hours ago

















            • $begingroup$
              The first sentence of your second paragraph is spot-on. In most cases I suspect that those constructs were just forgotten... Also i don't see why functions/methods are taught that late, but that's almost another topic... Also I'm not really sure if there is a clear plan behind this or if it is more about authority than didactics, or in other words: "Rules are rules and that's it! Just follow them and don't ask why they have been set up. If you don't follow them, you disrespected the teacher and will be penalized"!
              $endgroup$
              – csabinho
              6 hours ago
















            $begingroup$
            The first sentence of your second paragraph is spot-on. In most cases I suspect that those constructs were just forgotten... Also i don't see why functions/methods are taught that late, but that's almost another topic... Also I'm not really sure if there is a clear plan behind this or if it is more about authority than didactics, or in other words: "Rules are rules and that's it! Just follow them and don't ask why they have been set up. If you don't follow them, you disrespected the teacher and will be penalized"!
            $endgroup$
            – csabinho
            6 hours ago





            $begingroup$
            The first sentence of your second paragraph is spot-on. In most cases I suspect that those constructs were just forgotten... Also i don't see why functions/methods are taught that late, but that's almost another topic... Also I'm not really sure if there is a clear plan behind this or if it is more about authority than didactics, or in other words: "Rules are rules and that's it! Just follow them and don't ask why they have been set up. If you don't follow them, you disrespected the teacher and will be penalized"!
            $endgroup$
            – csabinho
            6 hours ago














            2














            $begingroup$

            I think that the answer of thesecretmaster is correct but let me add a bit of advice to an instructor who would do this. Just as you wonder yourself, the rule doesn't seem to make a lot of sense and it won't make sense to students either. It may cause resentment.



            So, if an instructor wants to use a rule like this then, I think that a general rule agains using things not yet taught is foolish. However, you can achieve the same result by carefully stating the problem you want solved. So, for example, following thesecretmaster, instead of asking for the students to compute the absolute value ask them to compute the absolute value using only the bitwise operators. In other words, put the specific restriction into the question itself.



            This brings up an important teaching and learning technique called "creativity under constraint". Some wood working artists, for example, use only hand tools, forgoing power tools. Furniture makers I've known do this. The restricted set of tools forces them to make better use of the tools that the do use, becoming more skilled in the process. But, to impose it on someone else requires that you make it clear why it is a good idea to do this.



            I've discussed Creativity Under Constraint here in the past in other contexts. See this post and this other one.






            share|improve this answer









            $endgroup$



















              2














              $begingroup$

              I think that the answer of thesecretmaster is correct but let me add a bit of advice to an instructor who would do this. Just as you wonder yourself, the rule doesn't seem to make a lot of sense and it won't make sense to students either. It may cause resentment.



              So, if an instructor wants to use a rule like this then, I think that a general rule agains using things not yet taught is foolish. However, you can achieve the same result by carefully stating the problem you want solved. So, for example, following thesecretmaster, instead of asking for the students to compute the absolute value ask them to compute the absolute value using only the bitwise operators. In other words, put the specific restriction into the question itself.



              This brings up an important teaching and learning technique called "creativity under constraint". Some wood working artists, for example, use only hand tools, forgoing power tools. Furniture makers I've known do this. The restricted set of tools forces them to make better use of the tools that the do use, becoming more skilled in the process. But, to impose it on someone else requires that you make it clear why it is a good idea to do this.



              I've discussed Creativity Under Constraint here in the past in other contexts. See this post and this other one.






              share|improve this answer









              $endgroup$

















                2














                2










                2







                $begingroup$

                I think that the answer of thesecretmaster is correct but let me add a bit of advice to an instructor who would do this. Just as you wonder yourself, the rule doesn't seem to make a lot of sense and it won't make sense to students either. It may cause resentment.



                So, if an instructor wants to use a rule like this then, I think that a general rule agains using things not yet taught is foolish. However, you can achieve the same result by carefully stating the problem you want solved. So, for example, following thesecretmaster, instead of asking for the students to compute the absolute value ask them to compute the absolute value using only the bitwise operators. In other words, put the specific restriction into the question itself.



                This brings up an important teaching and learning technique called "creativity under constraint". Some wood working artists, for example, use only hand tools, forgoing power tools. Furniture makers I've known do this. The restricted set of tools forces them to make better use of the tools that the do use, becoming more skilled in the process. But, to impose it on someone else requires that you make it clear why it is a good idea to do this.



                I've discussed Creativity Under Constraint here in the past in other contexts. See this post and this other one.






                share|improve this answer









                $endgroup$



                I think that the answer of thesecretmaster is correct but let me add a bit of advice to an instructor who would do this. Just as you wonder yourself, the rule doesn't seem to make a lot of sense and it won't make sense to students either. It may cause resentment.



                So, if an instructor wants to use a rule like this then, I think that a general rule agains using things not yet taught is foolish. However, you can achieve the same result by carefully stating the problem you want solved. So, for example, following thesecretmaster, instead of asking for the students to compute the absolute value ask them to compute the absolute value using only the bitwise operators. In other words, put the specific restriction into the question itself.



                This brings up an important teaching and learning technique called "creativity under constraint". Some wood working artists, for example, use only hand tools, forgoing power tools. Furniture makers I've known do this. The restricted set of tools forces them to make better use of the tools that the do use, becoming more skilled in the process. But, to impose it on someone else requires that you make it clear why it is a good idea to do this.



                I've discussed Creativity Under Constraint here in the past in other contexts. See this post and this other one.







                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered 6 hours ago









                BuffyBuffy

                25.4k9 gold badges44 silver badges88 bronze badges




                25.4k9 gold badges44 silver badges88 bronze badges
























                    1














                    $begingroup$

                    Where it stems from is, of course, because the lab is not the thing that the instructors want solved. After all, the lab problem is not an unsolved problem, and it will only be unique (if at all) in some surface way. This is the source of the feeling that people have that the restrictions are unreasonable: they feel like solving the lab is somehow the purpose of the assignment, and therefore any high quality solution is to be praised.



                    So if solving the problem isn't the deeper purpose of a lab, then what is? Typically, we are teaching an algorithm or a data structure. The lab is conjured as something that lends itself to that algorithm or data structure, and that is the goal of the instruction. I want to engender mastery of linked lists, or stack management, or two-dimensional arrays, or memory management, or... whatever the focus is.



                    The lab problem itself is entirely secondary, even if it does not in any way feel like this to the student. The lab problem is simply meant to provide a rich environment to play around with the learning target, and to gain some measure of experience wrestling with it.



                    The problem that we run into, then, is that there is no problem that cannot be solved in many ways. I can search as hard as I might for a problem that would be much, much harder to solve in a manner perpendicular to the purpose of the lab, and sometimes I will have some success. But sometimes I will not, because sometimes no such problem exists.



                    There exists no problem that can be solved with a linked list that cannot also be solved with an arraylist. I could provide starter code to try to force my approach, but that simultaneously increases the difficulty of creating the lab while decreasing the thought that must go into starting it.



                    A blanked ban, such as "you may use no bang operators in your Racket lab" is an imperfect solution, but all of the solutions are imperfect, and sometimes a ban feels like the least of the evils.



                    This is not a blanket defense; such band can be careless, or needless, or clumsily done. I try hard to avoid them in my own instruction, but I don't always succeed. If it seems unfair to restrict my students' approach, it is also unfair to my students if they don't delve far enough into the course material because they originally thought of a different solution, and they just stuck with it. That cheats them of the chance to learn the material in the course, which they may well need in their next course, or later on in their life.






                    share|improve this answer









                    $endgroup$














                    • $begingroup$
                      Even though I completely see your point, my point, which was maybe not made clear enough in my question, is why students are forced to do typical "don't try this at home"-programming because of those restrictions. Also mostly I don't have the feeling that the teachers are following a clear didactic plan which requires to solve specific examples with specific constructs but it's more about their authority, which is undermined if their students leave their path and start learning on their own(and also that some constructs are just forgotten, but that's another topic).
                      $endgroup$
                      – csabinho
                      3 hours ago















                    1














                    $begingroup$

                    Where it stems from is, of course, because the lab is not the thing that the instructors want solved. After all, the lab problem is not an unsolved problem, and it will only be unique (if at all) in some surface way. This is the source of the feeling that people have that the restrictions are unreasonable: they feel like solving the lab is somehow the purpose of the assignment, and therefore any high quality solution is to be praised.



                    So if solving the problem isn't the deeper purpose of a lab, then what is? Typically, we are teaching an algorithm or a data structure. The lab is conjured as something that lends itself to that algorithm or data structure, and that is the goal of the instruction. I want to engender mastery of linked lists, or stack management, or two-dimensional arrays, or memory management, or... whatever the focus is.



                    The lab problem itself is entirely secondary, even if it does not in any way feel like this to the student. The lab problem is simply meant to provide a rich environment to play around with the learning target, and to gain some measure of experience wrestling with it.



                    The problem that we run into, then, is that there is no problem that cannot be solved in many ways. I can search as hard as I might for a problem that would be much, much harder to solve in a manner perpendicular to the purpose of the lab, and sometimes I will have some success. But sometimes I will not, because sometimes no such problem exists.



                    There exists no problem that can be solved with a linked list that cannot also be solved with an arraylist. I could provide starter code to try to force my approach, but that simultaneously increases the difficulty of creating the lab while decreasing the thought that must go into starting it.



                    A blanked ban, such as "you may use no bang operators in your Racket lab" is an imperfect solution, but all of the solutions are imperfect, and sometimes a ban feels like the least of the evils.



                    This is not a blanket defense; such band can be careless, or needless, or clumsily done. I try hard to avoid them in my own instruction, but I don't always succeed. If it seems unfair to restrict my students' approach, it is also unfair to my students if they don't delve far enough into the course material because they originally thought of a different solution, and they just stuck with it. That cheats them of the chance to learn the material in the course, which they may well need in their next course, or later on in their life.






                    share|improve this answer









                    $endgroup$














                    • $begingroup$
                      Even though I completely see your point, my point, which was maybe not made clear enough in my question, is why students are forced to do typical "don't try this at home"-programming because of those restrictions. Also mostly I don't have the feeling that the teachers are following a clear didactic plan which requires to solve specific examples with specific constructs but it's more about their authority, which is undermined if their students leave their path and start learning on their own(and also that some constructs are just forgotten, but that's another topic).
                      $endgroup$
                      – csabinho
                      3 hours ago













                    1














                    1










                    1







                    $begingroup$

                    Where it stems from is, of course, because the lab is not the thing that the instructors want solved. After all, the lab problem is not an unsolved problem, and it will only be unique (if at all) in some surface way. This is the source of the feeling that people have that the restrictions are unreasonable: they feel like solving the lab is somehow the purpose of the assignment, and therefore any high quality solution is to be praised.



                    So if solving the problem isn't the deeper purpose of a lab, then what is? Typically, we are teaching an algorithm or a data structure. The lab is conjured as something that lends itself to that algorithm or data structure, and that is the goal of the instruction. I want to engender mastery of linked lists, or stack management, or two-dimensional arrays, or memory management, or... whatever the focus is.



                    The lab problem itself is entirely secondary, even if it does not in any way feel like this to the student. The lab problem is simply meant to provide a rich environment to play around with the learning target, and to gain some measure of experience wrestling with it.



                    The problem that we run into, then, is that there is no problem that cannot be solved in many ways. I can search as hard as I might for a problem that would be much, much harder to solve in a manner perpendicular to the purpose of the lab, and sometimes I will have some success. But sometimes I will not, because sometimes no such problem exists.



                    There exists no problem that can be solved with a linked list that cannot also be solved with an arraylist. I could provide starter code to try to force my approach, but that simultaneously increases the difficulty of creating the lab while decreasing the thought that must go into starting it.



                    A blanked ban, such as "you may use no bang operators in your Racket lab" is an imperfect solution, but all of the solutions are imperfect, and sometimes a ban feels like the least of the evils.



                    This is not a blanket defense; such band can be careless, or needless, or clumsily done. I try hard to avoid them in my own instruction, but I don't always succeed. If it seems unfair to restrict my students' approach, it is also unfair to my students if they don't delve far enough into the course material because they originally thought of a different solution, and they just stuck with it. That cheats them of the chance to learn the material in the course, which they may well need in their next course, or later on in their life.






                    share|improve this answer









                    $endgroup$



                    Where it stems from is, of course, because the lab is not the thing that the instructors want solved. After all, the lab problem is not an unsolved problem, and it will only be unique (if at all) in some surface way. This is the source of the feeling that people have that the restrictions are unreasonable: they feel like solving the lab is somehow the purpose of the assignment, and therefore any high quality solution is to be praised.



                    So if solving the problem isn't the deeper purpose of a lab, then what is? Typically, we are teaching an algorithm or a data structure. The lab is conjured as something that lends itself to that algorithm or data structure, and that is the goal of the instruction. I want to engender mastery of linked lists, or stack management, or two-dimensional arrays, or memory management, or... whatever the focus is.



                    The lab problem itself is entirely secondary, even if it does not in any way feel like this to the student. The lab problem is simply meant to provide a rich environment to play around with the learning target, and to gain some measure of experience wrestling with it.



                    The problem that we run into, then, is that there is no problem that cannot be solved in many ways. I can search as hard as I might for a problem that would be much, much harder to solve in a manner perpendicular to the purpose of the lab, and sometimes I will have some success. But sometimes I will not, because sometimes no such problem exists.



                    There exists no problem that can be solved with a linked list that cannot also be solved with an arraylist. I could provide starter code to try to force my approach, but that simultaneously increases the difficulty of creating the lab while decreasing the thought that must go into starting it.



                    A blanked ban, such as "you may use no bang operators in your Racket lab" is an imperfect solution, but all of the solutions are imperfect, and sometimes a ban feels like the least of the evils.



                    This is not a blanket defense; such band can be careless, or needless, or clumsily done. I try hard to avoid them in my own instruction, but I don't always succeed. If it seems unfair to restrict my students' approach, it is also unfair to my students if they don't delve far enough into the course material because they originally thought of a different solution, and they just stuck with it. That cheats them of the chance to learn the material in the course, which they may well need in their next course, or later on in their life.







                    share|improve this answer












                    share|improve this answer



                    share|improve this answer










                    answered 4 hours ago









                    Ben I.Ben I.

                    19.2k7 gold badges43 silver badges111 bronze badges




                    19.2k7 gold badges43 silver badges111 bronze badges














                    • $begingroup$
                      Even though I completely see your point, my point, which was maybe not made clear enough in my question, is why students are forced to do typical "don't try this at home"-programming because of those restrictions. Also mostly I don't have the feeling that the teachers are following a clear didactic plan which requires to solve specific examples with specific constructs but it's more about their authority, which is undermined if their students leave their path and start learning on their own(and also that some constructs are just forgotten, but that's another topic).
                      $endgroup$
                      – csabinho
                      3 hours ago
















                    • $begingroup$
                      Even though I completely see your point, my point, which was maybe not made clear enough in my question, is why students are forced to do typical "don't try this at home"-programming because of those restrictions. Also mostly I don't have the feeling that the teachers are following a clear didactic plan which requires to solve specific examples with specific constructs but it's more about their authority, which is undermined if their students leave their path and start learning on their own(and also that some constructs are just forgotten, but that's another topic).
                      $endgroup$
                      – csabinho
                      3 hours ago















                    $begingroup$
                    Even though I completely see your point, my point, which was maybe not made clear enough in my question, is why students are forced to do typical "don't try this at home"-programming because of those restrictions. Also mostly I don't have the feeling that the teachers are following a clear didactic plan which requires to solve specific examples with specific constructs but it's more about their authority, which is undermined if their students leave their path and start learning on their own(and also that some constructs are just forgotten, but that's another topic).
                    $endgroup$
                    – csabinho
                    3 hours ago




                    $begingroup$
                    Even though I completely see your point, my point, which was maybe not made clear enough in my question, is why students are forced to do typical "don't try this at home"-programming because of those restrictions. Also mostly I don't have the feeling that the teachers are following a clear didactic plan which requires to solve specific examples with specific constructs but it's more about their authority, which is undermined if their students leave their path and start learning on their own(and also that some constructs are just forgotten, but that's another topic).
                    $endgroup$
                    – csabinho
                    3 hours ago











                    csabinho is a new contributor. Be nice, and check out our Code of Conduct.









                    draft saved

                    draft discarded

















                    csabinho is a new contributor. Be nice, and check out our Code of Conduct.












                    csabinho is a new contributor. Be nice, and check out our Code of Conduct.











                    csabinho is a new contributor. Be nice, and check out our Code of Conduct.














                    Thanks for contributing an answer to Computer Science Educators Stack Exchange!


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

                    Use MathJax to format equations. MathJax reference.


                    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%2fcseducators.stackexchange.com%2fquestions%2f5906%2fwhats-the-benefit-of-prohibiting-the-use-of-techniques-language-constructs-that%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

                    Invision Community Contents History See also References External links Navigation menuProprietaryinvisioncommunity.comIPS Community ForumsIPS Community Forumsthis blog entry"License Changes, IP.Board 3.4, and the Future""Interview -- Matt Mecham of Ibforums""CEO Invision Power Board, Matt Mecham Is a Liar, Thief!"IPB License Explanation 1.3, 1.3.1, 2.0, and 2.1ArchivedSecurity Fixes, Updates And Enhancements For IPB 1.3.1Archived"New Demo Accounts - Invision Power Services"the original"New Default Skin"the original"Invision Power Board 3.0.0 and Applications Released"the original"Archived copy"the original"Perpetual licenses being done away with""Release Notes - Invision Power Services""Introducing: IPS Community Suite 4!"Invision Community Release Notes

                    Canceling a color specificationRandomly assigning color to Graphics3D objects?Default color for Filling in Mathematica 9Coloring specific elements of sets with a prime modified order in an array plotHow to pick a color differing significantly from the colors already in a given color list?Detection of the text colorColor numbers based on their valueCan color schemes for use with ColorData include opacity specification?My dynamic color schemes

                    Ласкавець круглолистий Зміст Опис | Поширення | Галерея | Примітки | Посилання | Навігаційне меню58171138361-22960890446Bupleurum rotundifoliumEuro+Med PlantbasePlants of the World Online — Kew ScienceGermplasm Resources Information Network (GRIN)Ласкавецькн. VI : Літери Ком — Левиправивши або дописавши її