tag:blogger.com,1999:blog-18677687.post4316907522686283556..comments2024-03-27T15:13:24.764-04:00Comments on Computer Science Teacher: Some Thoughts on Drag and Drop Block ProgrammingAlfred Thompsonhttp://www.blogger.com/profile/05575057876858763822noreply@blogger.comBlogger8125tag:blogger.com,1999:blog-18677687.post-11023699045116637352017-12-17T13:37:58.151-05:002017-12-17T13:37:58.151-05:00I am a fourth year teacher, teaching Exploring Com...I am a fourth year teacher, teaching Exploring Computer Science (ECS) for the first time this year and decided to do it with Python, specifically because I wanted students to have experience with a text based language before taking Java. However, having taught nine weeks of Python, which is all we have time for in the ECS course. I am thinking that I should step back and use a block based language such as Scratch as recommended in the course when I teach it next year.<br /><br />Teaching the base concepts of selection, loops, variables, and lists seem like it would be easier to do it without having to worry about syntax errors. Students get to focus on the concepts and not the syntax. You do raise a good point about debugging using messages instead of a debugger, so that will be something to keep in mind.<br /><br />As someone coming to teaching after having programmed for many years, I had forgotten how difficult it was to learn some of those base programming constructs. Thanks for sharing your experiences.Mr. Scholtenhttps://www.blogger.com/profile/15973457902841978450noreply@blogger.comtag:blogger.com,1999:blog-18677687.post-18822717886155552982017-12-06T14:05:25.490-05:002017-12-06T14:05:25.490-05:00Mike - The thing I am thinking about is that they ...Mike - The thing I am thinking about is that they would have a structure to build on if all they saw was the DnD. Often the option for non CS kids is DnD or nothing. They do not want to take a line code course. DnD is much better than the nothing. I think there is a bit of an issue carrying over the DnD to line code, the transition is still real iffy. I personally do not teach any course that is a full semester of a DnD language. I make sure they see a true line language, even if it is as simple as Small Basic. Any kid that takes a second semester will see Python and a little VB (just so they can see a language that uses forms and VS).<br /><br />Another thread to this discussion is the teacher side. To my knowledge Montana has one CS teacher with a CS degree. All the others (me included) started with another field and ended up in CS/programming. (I am willing to bet this is a trend nation wide.) I know quite a few teachers who's introduction to teaching programming started with the principal walking into their room in the late spring and asking them to teach programming in the fall. Those teachers almost have to start with teaching DnD, there is a lot of low level curricular materials available that will not bury them in the first year. I attended a week long Python curriculum PD this summer. Three quarters of the class had little or no programming experience. At the end of the week they still were clueless. They had no foundation to build on. They thought programming was just learning syntax. I think if they had started with a DnD they would understand that programming is 80% planning the code and 20% typing the code. A problem with a DnD teacher is they often do not seem to want to progress beyond DnD. It is easy, the kids are having fun, the class is easy to manage so why learn something as ugly and boring as line code? Garthnoreply@blogger.comtag:blogger.com,1999:blog-18677687.post-43098157279770603172017-12-06T10:28:34.668-05:002017-12-06T10:28:34.668-05:00Garth -- that assumes that there's a smooth tr...Garth -- that assumes that there's a smooth transfer from DnD to text for the non CS student. <br /><br />That non CS student could be asked to or could leverage CS and programming to their advantage in either their future course of job experiences but, at least at this time, would involve text based programming -- writing a Google doc/spreadsheet macro (JS) or a Python script to analyze data for a research project or to generate visuals as two examples. <br /><br />Would that non CS kid be able to seamlessly on their own move to the text based environments that they could leverage to tremendous advantage? They might have the mental tools from CS using DnD but will they get best benefit out of them without being able to use them in practical environments?Mike Zamanskyhttps://www.blogger.com/profile/15069276938781711576noreply@blogger.comtag:blogger.com,1999:blog-18677687.post-63872907758992260622017-12-06T10:21:52.796-05:002017-12-06T10:21:52.796-05:00For any student continuing in CS after high school...For any student continuing in CS after high school they have to see a line code language before they graduate. I do not think there is a big difference in the coding skills learned between DnD and line code but the concepts of syntax, IDE management, and the simple skill of typing correctly are something I feel a student needs from high school if they are going to continue on. A kid could walk into a CSCI 135 Java/Python course and survive but they would be burning some midnight oil for quite a while if all they knew was DnD. For those that do not go on in CS DnD is just fine. The concepts behind CS and programming are not (or at least should not be) based on language type but on thought process.<br /><br />Of course I am like Alfred, I find debugging DnD a royal pain. I also cannot see as much code on the screen with DnD as I like. Those icons take up so much room! I want something like a 40 inch monitor.Garthnoreply@blogger.comtag:blogger.com,1999:blog-18677687.post-18438210762053665132017-12-06T02:32:47.292-05:002017-12-06T02:32:47.292-05:00Maybe using a mix of languages would be best.
Sna...Maybe using a mix of languages would be best.<br /><br />Snap! programming has a good visualization of lists and lists of lists. You could be teaching a text based language, and then just briefly switch over to Snap! to get across the concept of lists and lists of lists, without the syntax of that particular language.<br /><br />Snap! also has a visual step debugger, which would be useful for teaching loops.Ed Robinsonhttps://www.blogger.com/profile/03797873118301201072noreply@blogger.comtag:blogger.com,1999:blog-18677687.post-90827482972461269502017-12-05T18:55:08.141-05:002017-12-05T18:55:08.141-05:00Just in time for consideration during this, Comput...Just in time for consideration during this, Computer Science Week.cooltech.blogspot.comhttps://www.blogger.com/profile/01684251692104630477noreply@blogger.comtag:blogger.com,1999:blog-18677687.post-39866259141977642522017-12-05T18:48:59.107-05:002017-12-05T18:48:59.107-05:00I think you know my feelings on this. Some good to...I think you know my feelings on this. Some good tools but frequently used in the wrong place and as a crutch to excuse teachers not knowing content. <br /><br />I'll add one that I like that I don't think you mentioned - codesters.com. They grew out of a tutoring company in NY. I like the tool because it's DnD of Python blocks - when you drop a block, it becomes the Python code. <br /><br />I also like them because they really listen to and work with teachers.<br />Mike Zamanskyhttps://www.blogger.com/profile/15069276938781711576noreply@blogger.comtag:blogger.com,1999:blog-18677687.post-46849193207980805232017-12-05T17:21:26.739-05:002017-12-05T17:21:26.739-05:00There are a couple of other block programming lang...There are a couple of other block programming languages that you might want to look at: thunkable.com and gpblocks.org.<br /><br />Thunkable is similar to AppInventor, but can be used on iOS and Android. I have played with it and like it, but I have not used it with students yet.<br /><br />GP Blocks is a program that runs on a computer - Windows, MacOS, and Linux. (There is a web-based option, too, but I have not used it.) It is Scratch on steroids, and without the training wheels. My intro-level classes used GP Blocks for the fall term. We have used Scratch in the past, but were able to do far more (and teach more advanced topics and techniques) in GP Blocks than we could with Scratch. The primary author of the program (John Maloney) has been very helpful in tweaking the program to suit a high school lab environment.<br /><br />There are many example programs in the downloadable package, and an active support discussion forum. <br />Brian Grayhttps://www.blogger.com/profile/05262855997556284835noreply@blogger.com