20 Replies Latest reply on 20-Jul-2018 2:15 PM by cmoo16

    Module 8 Discussion

    teachontario.team

      Python is (in my opinion) one of the best and easiest syntax languages to begin with because it has less rules than other languages. For example, most languages require a semicolon at the end of each line. With python, there is less syntax to have to remember. In this blog post, I also created Rock Paper Scissors, Guess a Number Game and a Dice roller with python.

       

      While I can definitely see K-8 students interested in a syntax based language, I don’t often explicitly teach it. Since students are writing syntax, I’d hate for them to lose sight of the task while trying to fix syntax errors. Having said this, there is real value in debugging as a skill (critical thinking, computational thinking). What are your thoughts? Post your ideas to the module thread. Post your thoughts in the thread below.

        • Re: Module 8 Discussion
          mattlet2002

          I was really happy to have the opportunity to explore syntax coding like Python.  It's not something that I would feel comfortable using on a regular basis but it definitely opens doors to new learning.  I worked on the Rock, Paper, Scissors game.  It was interesting exploring the "if else" conditions.  It was beneficial to really look at the organization and planning that can happen before coding takes place.  You have to consider the different results in Rock Paper Scissors, plus an error and quit result.  This connects well with the writing process.  I was stumped this year when I was told by a student that she didn't like block coding, but preferred Javascript.  There has been a few times this year when "struggling" students have enjoyed and excelled at syntax coding.  In this time of differentiated instruction, providing students with both block and syntax coding allows them to show their learning in different ways.  In looking at block and syntax coding, sometimes I find that block coding looks simpler for an activity and other times syntax coding looks simpler.  I really like the suggestion of teaching debugging skills using syntax - another great way that coding can be used to teach a skill like editing and revising.  Unlike written work, students are forced to immediately see the results of their editing and revising when coding and make immediate changes.

           

          As we look at 21st Century learning, why can't we use coding activities like Rock Paper Scissors as part of the writing mark?  I had a similar discussion earlier this year about the growing importance of teaching students how to write a Twitter tweet or Facebook post as part of teaching Writing.

          • Re: Module 8 Discussion
            room210math

            Just as we revise and edit written texts towards published pieces, we should revise and edit code as a whole-group, in small-group or individually. The amazing thing about debugging and revising the syntax you wrote in Python is when you ‘Run program’, you see the results instantaneously. Written texts have purpose and audience and so does code, so teaching debugging would be comparable to teaching revising.

             

            In math lessons, we often tape various solutions on the board and discuss strategies. By asking students to identify similarities and differences between solutions, we have opportunities to discuss errors made by groups. We discuss why these errors were made as well as how they could be fixed. Couldn’t debugging syntax take a similar approach?

              • Re: Module 8 Discussion
                aspinabr

                Absolutely! In fact, I have found success giving students Scratch instructions that are meant to draw shapes but I intentionally include bugs. When you ask students to reflect on WHY the shape is drawn incorrectly, they are able to tell you the properties of the shapes being studied. Worked well with trapezoids and parallelograms in my grade 7 class.

              • Re: Module 8 Discussion
                charlandl

                I know that I, nor the students are at that level yet.  However, I know where to get the information, if and when the time will come.

                • Re: Module 8 Discussion
                  mckinnonab

                  Like Lynn, I am not ready to try writing syntax (too much too fast!).  Students, however, work on correcting coding errors using micro:bits.  When we worked on fidget cubes with micro:bits, students had to think critically and problem solve when their fidget cube did not do what they planned for it to do.  Some students were very resilient and worked it out!  Some were not though and simply wanted to give up. Guess because of my comfort level, I would probably not introduce writing syntax in Grade 7.  Is there syntax writing when using Arduino software? 

                  • Re: Module 8 Discussion
                    yolantak

                    I too have a hard time with syntax language. I'll be honest, this is where I get lost. However I understand that importance of giving students the opportunity to use the language. As Matt mentioned, I too had a student (that I did not expect) that preferred coding in Python when using the mircobit. This student was so happy to do so too! This is when I realized that I need to give these opportunities to these students.

                    When using the syntax language, I think there is more room for error than block coding, and therefore more "debugging" happening. As mentioned above, there is value in revising your work - a task that students hate to do but need to.

                    • Re: Module 8 Discussion
                      stheobald

                      I was recently at a workshop where they  introduced Micro:Python using the Micro:bit. This made perfect sense. As you mentioned it is an easy language to learn.  I haven't started yet but BBC Micro:bit has tutorials to walk you through the steps.

                      Introduction — BBC micro:bit MicroPython 0.5.0 documentation

                      Micro:bit - Python editor

                      Python seems like a logical next step. I am just not sure at what point or in what context I would introduce it. When I am done the tutorials it might make more sense.

                        • Re: Module 8 Discussion
                          aspinabr

                          I'll be honest, I don't teach any syntax languages to my students. I am not a CS teacher and my students have enough difficulty with English spelling :-)

                           

                          BUT, if a students wishes to pursue it, I am more than happy to help. I really like block baed languages because it is the thinking skills I want them to develop. I can see much time being wasted with students trying to debug syntax errors. I did feel it was important to expose Python in this course so we can all be at least familiar with what it is.

                          1 of 1 people found this helpful
                          • Re: Module 8 Discussion
                            donnad

                            Thanks for these links. I will definitely try the music ones, as I know precious little about music but teach it.

                            On a reflective note, I am realising most of the activities I want to do on my own (with no husband or step son interference), some I like to do on my own and then show them, and a few (like this Python stuff) I want them with me while I'm attempting it. (Another 'Hmm.. wonder if my students feel the same way sometimes' moment')

                            • Re: Module 8 Discussion
                              mattlet2002

                              I would consider using Python at the following times:

                              - to rewrite a Micro:bit or Scratch coding activity in Python to compare different programming languages

                              - to work on revising and editing skills in writing

                              - if students seem to need a break from block coding

                            • Re: Module 8 Discussion
                              s_whit

                              When I first open module 8, I said a couple of words out loud, that went a little school friendly something like: “Wow, what is this? I don’t know what I’m doing!” And then I sat down and tried the Coin Flipper python text provided... And I stumbled... and stumbled and after several attempts, I retreated because I’m not ready, at least not YET and I don’t need to be there, but I can simply be aware. I have an appreciation for the introduction and demystification of what programming/coding/languages mean, even if I’m not yet ready to perform. It’s like anything, some of us will have a natural aptitude and others not so much. Some will have keen interest and work to the point of acquiring the skills, and others will say ‘hello and goodbye’ all in one breath. Others will hit pause until a later date... I think the ability to at least be familiar, and to try, puts us in the position to have meaningful, authentic conversations with kids. It gives us the chance to talk about our own process and to relate to the students.  It also puts us in the unique position to challenge stdents to figure out our challenges and teach us something new. It allows them the opportunity to be masters!

                              1 of 1 people found this helpful
                              • Re: Module 8 Discussion
                                donnad

                                Some thoughts:

                                • I was fairly comfortable and willing to challenge myself during the course, but when I opened Module 8, I closed the tab. (Hmm... wonder if my students ever feel like that when I present something new in class?)
                                • When I finally tried the Heads/Tail script, I was able to copy it and got it to function properly (although I'm sure one of my cats would have been faster at programming). But in all honesty, I felt like a struggling reader/writer just copying letters off the board into his Language book. I was able to copy, but I wasn't sure what I was doing.
                                • My undergrad degree is in Anthropology Linguistics. My favourite course was a Syntax course where we studied the rules (syntax) of several Languages. It wasn't until I read Matt's initial response to this module that I saw the connection!
                                • Re: Module 8 Discussion
                                  s_whit

                                  For lines 8 and 11 in the Console (python coding of the coin flipper) which key is being used to make the tally mark?

                                  • Re: Module 8 Discussion
                                    donnad

                                    I too have a student that prefers Python. Not sure if it just makes more sense to him, or it's a comfort level thing (he was familiar with Python before I showed him Scratch).

                                    I like that the 'Run Program' gives instant feedback as to whether their script was correct or not.

                                    It's seems giving feedback on written work can be perceived as being judgemental of their work, or the feedback is optional (as they can add capitals and periods, or not if they don't feel like it).

                                    With their Python script, it's not being judgemental of their attempt, it's letting them know where debugging (edit/revise) needs to happen.

                                    I might use it with some of my students, but definitely shorter scripts. I am concerned about the level of accurate spelling needed that might frustrate some. But they might surprise me.

                                    • Re: Module 8 Discussion
                                      cmoo16

                                      I too was reluctant to try Python but once I did I felt it was very similar to Scratch. I also liked the Waterloo link because I could "code"/copy and then get immediate feedback for debugging. Also, I didn't have to download anything. I have to admit I did have a transcription error (my H column kept showing "1" for the total number of heads) and it was this error that helped me understand how the syntax structure worked. As other posters have commented, Python seems like a good next step after Scratch.