Block vs Native Interfaces – which is better?
While Scratch is a powerful language that can be used to create quite sophisticated applications, a time may come when students may want to perform tasks that are too complex for block-based programming languages, which may be more easily achieved in Python. This is a great time for teachers to consider introducing a new language. The adopted language will be determined by the platform (and more importantly the processor) being used.
Teachers should try to slowly incorporate the language into their learning sessions. A good starting point to help this transition is to show students real-world examples of language in use. For example, a useful task may be to translate a simple project or feature from an existing project into the new language.
Often it is useful to have an example solution available to the student as a guide. When the student encounters an error, a productive way to help them solve the problem is through ‘spot the difference’, where the student has to identify any small syntactical differences between the example solution and their own.
Some websites offer ‘gamified’ representations of learning applications, which present coding challenges as fun and easily navigable games. A popular example is CodeCombat, which challenges the user to code their way through various levels of dungeons using languages such as Python and JavaScript.
https://www.ucode.com/courses/coding-classes-for-high-school-students
https://www.ucode.com/courses/coding-classes-for-middle-school-students
https://www.ucode.com/courses/coding-classes-for-kids-ages-6-to-11
Sources: