How Can We Successfully Transition Students From Block-Based Coding To Text-Based Coding?
What will we cover
- Why Text-Based Coding?
- How and when can you start?
- Gamified coding education platform: Codementum Studio
- Transition to text-based coding
- What are the programming languages we can start with?
- What are some of the problems and solutions you might encounter?
- Scientific research results
- Codementum statistics
- Result and Recommendations
Intro
Given how pervasive technology is, knowing the basics of coding is now an essential skill for students moving into higher education and those that are looking for a career start.
Teachers have identified this important skill and children are now learning to code at an early age. However, with the wide variety of options available for educators to begin teaching their students to code, it is important to make an informed decision that will prepare students for success.
Block-based coding emerged as a tool to offer students an introduction to the world of coding that allows them to explore code in a friendly environment. Kids learn coding logic by dragging and dropping items instead of coding with blocks. It’s a great starting point for learning about algorithms. While educators could instantly start introducing digital skills to their classrooms with blocks, they also saw the limitations of block coding. In this webinar; We will explain how to successfully transition to text-based programming languages that are widely used in the business world, such as Python and Javascript, for those of you that want to go beyond the blocks.
It is possible to teach young children the syntax of text-based programming languages, but educators need to be patient and adaptable. Because children’s psychomotor skills are not fully developed. It also means that students unfamiliar with the keyboard learn to type slowly.
Children can become quite proficient with text-based programming languages. Those passionate about coding will eventually want to go beyond block-based coding. At this point it is extremely helpful to know how to command a machine using text-based programming languages.
Why Text Based Coding?
There is no limit in text-based coding. It provides an environment where students can develop their skills in an unlimited way. Block coding hinders further development as a programmer, as the business world uses text-based coding.
It is much more difficult for students to grasp the actual coding concepts and syntax with block coding. With text-based coding, students have a complete learning experience that instills important coding concepts they will remember and develop.
An important aspect of learning something new is making mistakes, identifying what went wrong, and then fixing those mistakes. In block-based coding, it is not so common to make mistakes and learn from them, as students work within the boundaries of predetermined code blocks and cannot go beyond these boundaries.
Text-based coding presents many real-world challenges that help students truly learn how to solve problems. Text-based coding allows students to grow by making mistakes, as students are given the freedom to customize themselves and expand beyond drag-and-drop actions.
Transition to text-based encoding:
Algorithms are the basis of learning programming. Children can quickly improve their ability to build algorithms with block-based coding. Once children become familiar with the basics and syntax of programming with block-based coding, they can move on to text programming.
A recent MIT study found that the best age to learn a new language is before the age of 10. Learning to code is very similar to learning a new spoken language, and because children’s brains are much more flexible, it appears as an opportunity for students to grasp real coding concepts through text-based coding at an earlier age.
Codementum Studio
With Codementum Studio, students are provided with a smooth transition from block-based coding to text-based coding. Almost all the content of Python and Javascript programming languages are explained by gamification with Studio. Python has a very simple syntax similar to English. Therefore, it can be an ideal choice for a start. With synchronized code and block mode, students can instantly switch between text and blocks.
With the first 2 topics, “The Basics” and “Repeat Loops”, we direct people to use only numbers on the keyboard. With the third topic, “Variables”, we are slowly starting to use the keyboard. Approximately 50% of the students continue with text-based coding from this subject. Of course, this situation varies according to the level of knowledge of the students. Our teachers can watch the students live and encourage them to only do text-based coding by turning off the block mode function from any topic they see fit.
All challenges can be solved with both blocks, Python and Javascript. The student can set up the algorithm by using blocks for any subject at any time. The teacher can manage this process by turning the class-based block mode on/off. Our recommendation is the first 3 scenes of each subject are being solved and progressed in the presence of the teacher. The first scene of each subject is provided with a solution, the solution given for second scene will be intentionally wrong for the students to find the mistake and correct it, and finally, we also want the third scene to be solved in the presence of the teacher. There are given solutions for the 3rd scene in our lecture documents.
Statistics
Studies show that block coding is a great and fun way to start coding, but it is insufficient for real coding education. In addition, there are opinions based on new research studies for the transition to text-based coding.
Conclusion
Do unlimited coding with Text Based Coding:
There are no limitations in text-based coding as in block-based coding. Students who want to improve their coding skills and possibly even choose a relevant career path will need to use text-based coding. While block-based coding can serve as an introduction to the world of coding, students are limited to the blocks available to them, hindering further development as a programmer beyond a certain point. As students gain more experience, block-based coding does not offer the more dynamic and expressive capabilities provided by text-based coding. By learning real coding skills as opposed to drag-and-drop programs, students can develop a wide range of skills, including basic computational and critical thinking skills that are vital to learning in any fundamental subject.
Give Students a REAL Coding Experience:
Using text-based coding can seem like a difficult task, especially for teachers with insufficient programming knowledge. However, the reward of seeing students learn real-world coding skills and build on a knowledge base they can apply to any career in the future is well worth the initial challenge. With Codementum, even if you do not have the desired level of programming knowledge, you can easily teach your students a real programming language by following our documents and instructions.
Problems you may encounter:
Syntax Error: We don’t find any error messages in Visual coding but we have to memorize the syntax to write error-free codes. We have the concept of compilation and execution in text-based coding. We cannot compile our code if it has any syntax errors. But these small errors guide students and can enhance their learning experience.
Code Styling: Here by code styling we mean indentation and spacing. Some programming languages like python need proper indentation for execution else it will show an error.
Readability: While writing codes as programmers, we need to consider readability as an important aspect because it will directly affect you while debugging(finding errors in your code).
Suggestions:
- Create coding classes that allow students to progress at their own pace.
- Have 2 students work together with a computer during the coding training in the classroom.
- Make sure that one of the students has better coding knowledge than the other. In the research studies, it has been observed that Pair coding education provides a faster learning experience close to 50%.
- Since you will know the students best, make the transition to text-based coding at the most appropriate time. Even if they find it hard at first, you will see how creative they can be when they start coding.
- You definitely have to be patient. Just as not all mathematics subjects can be completed in one year, coding education will not be completed in one year. Prevent students from getting bored by spreading the topics over time.
- Show the class progress chart to your students by displaying it on the screen every week. This will motivate them more and strengthen the competition among students.
- Do activities that will increase students’ keyboard skills in advance.
- Coding; It is a process of correcting mistakes, manage your students’ mistakes.
- Switching to text-based coding may cause a backlash in students. Switch smoothly with hybrid apps.
- In transition, opt for easier-to-type languages like Python over languages that have much more difficult syntax like C++ and Java. Studies have shown that students trying to learn more difficult languages such as C++ and Java during the transition lose their confidence and become discouraged.
Result
- Block coding is a great way to get started.
- Block coding is insufficient for real programming education.
- Code without limits with Text Based Coding.
- Give Students a REAL Coding Experience.
- Research shows us when we can make the switch.
- Hybrid applications such as Codementum Studio make the transition easy.
- There will be difficulties during the transition, be patient.
Watch The Webinar: How Can We Successfully Transition Students From Block-Based Coding To Text-Based Coding?
info@codementum.com
Sources / References
Andrew Luxton-Reilly, University of Auckland : Transitioning from Block-Based to Text-Based Programming Languages
MIT Study: Cognitive scientists define critical period for learning language
Hussein Alrubaye, Stephanie Ludi, Mohamed Wiem Mkaouer, Rochester Institute of Technology, University of North Texas: Comparison of block-based and hybrid-based programming environments in transferring programming skills to text-based environment
Beth Darvell: Block-Based Coding Vs. Text-Based Coding
Priyanka Reddy: A Beginner’s Guide to Block-based and Text-based Coding
Codejig: Block coding
Jim Cash: Text-based vs. Block-based coding (Part 1)
CuriousJr: How to move from block Coding to Text Coding?
Weston Hagan: BEYOND BLOCKS: TEXT-BASED CODING IN MIDDLE SCHOOL
Amy O’Meara: 3 simple ways to move from block- to text-based programming
D. Parsons and P. Haden, “Programming osmosis: Knowledgetransfer from imperative to visual programming environ-ments,” in Conference of the National Advisory Committeeon Computing Qualifications. Citeseer, 2007.
Scratch, “Scratch statistics — imagine, program, share,”https://scratch.mit.edu/statistics/, 2016, accessed: 2016–8–28.[Online]. Available: https://scratch.mit.edu/statistics/
T. W. Price and T. Barnes, “Comparing textual and blockinterfaces in a novice programming environment,” in Pro-ceedings of the eleventh annual International Conference onInternational Computing Education Research. ACM, 2015,pp. 91–99.
D. Weintrop and U. Wilensky, “To block or not to block,that is the question: students’ perceptions of blocks-basedprogramming,” in Proceedings of the 14th International Con-ference on Interaction Design and Children. ACM, 2015,pp. 199–208.
J. Monig, Y. Ohshima, and J. Maloney, “Blocks at yourfingertips: Blurring the line between blocks and text in gp,”in Blocks and Beyond Workshop (Blocks and Beyond), 2015IEEE. IEEE, 2015, pp. 51–53.
D. Weintrop and U. Wilensky, “Using commutative assess-ments to compare conceptual understanding in blocks-basedand text-based programs,” in Proceedings of the eleventhannual International Conference on International ComputingEducation Research. ACM, 2015, pp. 101–110.
D. Weintrop and U. Wilensky, “Comparing block-basedand text-based programming in high school computerscience classrooms,” ACM Trans. Comput. Educ., vol. 18,no. 1, pp. 3:1–3:25, Oct. 2017. [Online]. Available:http://doi.acm.org/10.1145/3089799
D. Bau, D. A. Bau, M. Dawson, and C. S. Pickens, “Pencilcode: Block code for a text world,” in Proceedingsof the 14th International Conference on InteractionDesign and Children, ser. IDC ’15. New York, NY,USA: ACM, 2015, pp. 445–448. [Online]. Available:http://doi.acm.org/10.1145/2771839.2771875
M. K¨olling, N. C. C. Brown, and A. Altadmri, “Frame-basedediting: Easing the transition from blocks to text-basedprogramming,” in Proceedings of the Workshop in Primaryand Secondary Computing Education, ser. WiPSCE ’15.New York, NY, USA: ACM, 2015, pp. 29–38. [Online].Available: http://doi.acm.org/10.1145/2818314.2818331