ENG1044 - English for
Computer Technology Studies
Exposing Children to <Programming> is Beneficial.
Group 13 - Gabriel Soh, Sah Wen Pin, Sean Dhirren, and Syed Sofian Ali.
<Portfolio Components>
<Timeline>
Week 3
May 7
  1. Started discussions on the research topic.
  2. Created the B(SE)ortfolio website.
Week 4
May 16-19
  1. Finalized the research topic to be: "Introducing coding to children is beneficial".
Week 5
May 20
  1. Research outline arguments finalised and submitted for review.
May 23
  1. Worked on research outline a little more.
May 26
  1. Started work on written responses.
Week 6
May 29
  1. First submission of research outline done.
May 31
  1. First review of research outlilne recieved.
June 2
  1. Approval for research outline recieved.
Week 7
June 7
  1. Written responses finalised and submitted.
Week 9-11
June 13 - July 11
  1. Work and consultation on research paper.
July 12
  1. Final submission of the research paper.
<Research Outline>
Working Title
Exposing children to programming is beneficial.
Introduction
Introducing programming to children enhances their problem-solving skills, work related computer skills, and interpersonal skills.
Body
Argument 1:
Programming refines children’s problem-solving skills.

Elaborations:
  1. Improvements in sequencing and plotting-a-route skills (Pérez-Marín et al., 2022).
  2. Algorithm-based activities support the problem-solving skills of children (Küçükkara & Aksüt, 2021).
  3. Increased fluid intelligence due to programming lessons. (Özcan et al., 2021).
Argument 2:
Programming prepares children for computer-based work environments.

Elaborations:
  1. Students gained insights about computer science (Copp et al., 2021).
  2. Programming introduces programming basics (Noak et al., 2022).
  3. Programming raises computational thinking skills (Herrero-Alvarez et al., 2023).
Argument 3:
Children exposed to programming learn human values like leadership, creativity and curiosity.

Elaborations:
  1. Teaching frameworks can be applied to promote leadership (Bers, 2021).
  2. Exposure to programming improves students’ creativity (Wong, 2020).
  3. Allowing children to explore in programming promotes curiosity in children (Jirout, 2020).
Counterargument:
Starting programming early is counterproductive for children.

Elaborations:
  1. Complex tasks result in larger cognitive loads (Chen et al., 2022).
Rebuttal:
Learning programming young can be done in many ways.

Elaborations:
  1. Children can learn programming in many ways (Hijon-Neira et al., 2020).
  2. Children can use gestures to explain computing concepts (Almjally et al., 2023).
Conclusion
In conclusion, programming enhances children's problem-solving skills, prepares them for future jobs, and fosters social abilities.
<Written Responses>
Gabriel
Exposing Children to Programming Classes Instills Human Values

As young children grow, their educators must instill positive human values in them that contribute to their development into capable, contributing members of society. Therefore, introducing programming as an extra-curricular class will be of assistance in educating them on human values, particularly leadership, creativity, and diligence. With communicative and collaborative learning mechanisms in place, such programming classes will urge children to engage in critical discussion as the assignments bring a tough challenge to the classroom. As children consequently become engaged in conversation, they are more encouraged to externalize ideas, promoting the development of their social confidence and leadership skills (Bers, 2021). Additionally, Wong and Cheung (2020) stated that programming tasks allow children to improve their creativity. They propose that this is linked to the fact that programming involves breaking down complex problems into parts to apply their knowledge and solve their solutions innovatively. This competency of creativity will become more important in the future, especially in compulsory education. Lastly, during the process of exploring computer programming in the classroom, children are faced with difficult tasks as mentioned, but instead of giving up, children will be encouraged to stay diligent, especially in a cooperative classroom environment with supportive partners and teammates. According to Denner et al. (2021), it is noted that what they define as “intrepid exploration”, also known as diligence or persistence, thrives when cooperating partners provide responsive feedback that is both verbal and non-verbal whilst expanding on each other’s expertise. This is why educators must find a way to encourage positive and cooperative engagement between the children during their programming classes, leading to the development of diligence in doing so. In summary, the introduction of programming to the classroom with tasks involving positive cooperation and collaboration will bring about the development of important human values for a better future for the children.

[303 words]
Wen Pin
Programming Prepares Children for Modern Computer-Based Workplaces

Learning programming during childhood is beneficial for cultivating computer science knowledge needed in modern workplaces; programming education improves children’s understanding of computer science, develops integral computer skills, and builds foundational knowledge for computer-based systems. As modern workplaces are progressing towards computerized environments, there is an increasing demand for employees well versed in computer science. An approach to address this demand is to teach children programming to introduce computer science. Learning programming during childhood aids in increasing children’s exposure to computer science. Noh and Lee (2020) stated that at a young age, learning programming instils the basic concepts and principles of computer science into children, and the knowledge accumulated during childhood has the potential to affect future job prospects. Hence, they state that it is beneficial for computer science education to begin at elementary school age. Additionally, programming introduces invaluable computer skills to children in preparation for their entrance to the workforce. In one study, where programming games were utilized as a methodology to allow young pupils to discover computer science, programming supports developing imaginative and autonomous skills which are impactful in the real world (Alvarez et al., 2021). Furthermore, with these skill sets that are learned through programming, children can be better prepared to recognize the diverse fields of study that computer science professions encompass. Md. Faizul Ibne Amin et al. (2022) remarked that programming education is an important foundation in computer science; computer-based fields including modern applications, artificial intelligence (AI), data analysis, and numerical analysis depend on that foundation. This indicates that children who are taught programming are granted experience that is not confined, but comprehensive in computer science. The overall conclusion is that since computer science is becoming an overarching field in the modern work setting, learning computer programming encapsulates the core nature of computer science. Therefore, learning programming will undoubtedly be beneficial for the child to ensure their future employability.

[313 words]
Sean
Effective Pedagogy for Programming Comprehension in Children

Despite the inherent cognitive limitations in children, these can be effectively overcome by utilizing gestures and traditional learning methods, cultivating an understanding of programming concepts without hindering their overall educational development. According to Critten et al. (2021), the inherent complexity of learning to code may have prominent negative effects on a child's growth. This is because kids by nature have cognitive limitations that result in difficulties with memorizing and processing information separately or together. Therefore, trying to grasp these programming concepts could overwhelm these young learners, leading to frustrations and a negative outlook on learning. Thus, reducing their overall educational development and interest in technology. However, while this proposition can hold in certain instances, it does mean it applies everywhere. A study conducted by Almjally et al. (2023) has shown that through the use of many gestures (spontaneous hand movements), youngsters have the capacity to convey computing concepts. These gestures, which are directly referenced to concrete objects, mapping, or processes, provide these kids with a means to comprehend these vital mechanisms. Furthermore, these gestures also assist teachers in gaining insight into how children think, allowing them to better educate the kids. Additionally, children aged six to twelve who learned programming via a virtual execution environment with a mouse, Makey Makey, or the blackboard, all developed significant improvements in their understanding; with the blackboard being the most optimal (Hijon-Neira et al., 2020). To add on, they also state that children in the 4th grade are able to understand certain concepts such as loops, conditions, and sequences much better than the 6th grade students. Therefore, while children by nature do still have their cognitive limitations, there are still many ways in which they can effectively grasp programming concepts. Hence, allowing them to develop an interest in technology while maintaining a strong educational background.

[301 words]
Sofian
Programming Lessons Refine a Child’s Ability to Solve Problems

Problem solving skills contribute highly to programming, as a well written program is the culmination of a person’s programming and problem-solving skills. Programming lessons for children strengthen their problem-solving abilities as they allow a child to improve in various skills that contribute to problem solving like sequencing, route mapping, algorithm development and fluid intelligence. Pérez-Marín et al. (2022) observed that teaching children programming brought about an improvement in some of the factors that contribute to a higher aptness in problem solving, namely event sequencing and solution mapping. They used Cubetto robots and Brighter Child flashcards, teaching tools used in teaching children programming and sequencing, for a period of five days and noticed an improvement in the children’s ability to produce sequences and map routes. Another contributing factor was observed by Küçükkara and Aksüt (2021). They noted the effectiveness of algorithm-based activities in supporting and enhancing problem solving skills. Using problem solving methods like problem-stating, solution-hunting, and mainly algorithm-development, the children were able to solve problems given to them with higher aptness and a better approach. Algorithmic thinking enabled children to better understand and navigate their way around these problems. Expanding on the previous studies, Özcan et al. (2021) observed another significant factor, namely fluid intelligence, in its contribution towards improving problem solving abilities. Fluid intelligence is the ability to solve problems without any prior experience or knowledge. The children were put through a ten-week-long course for programming in graphical interfaces. This resulted in increased scores in the fluid intelligence component of their tests. They also noted that learning-to-code programs led to a significant improvement in the children’s computational thinking scores. In summary, studies have concluded with results that are consistent with the fact that learning-to-code programs bring forth a notable improvement in a child’s ability to solve problems and have also noted the various causes that could have led to this effect.

[312 words]
<Research Draft 1.0>
Exposing children to programming is beneficial

Computer programming is becoming an increasingly prevalent skill in society, and its importance in the modern world is now irrefutable. With the current growing demand for programming skills in today’s technology-driven world, it is easy to foresee the necessity for future generations to be prepared for this expectation. Under situations such as this, the idea of introducing programming into children’s education systems across the globe is now a relevant consideration in the modern-day society. Thus, this research paper puts forth arguments to advocate for the introduction of programming to children through their education as a core subject in their curriculum. To begin the research, it is important to first define that a child is any human being below the age of 18 years unless under laws applicable to the child (United Nations Convention on the Rights of the Child, 1989). This research paper encompasses a diverse age range of children, ranging from three to 17 years old, with a significant portion of participants falling between the ages of eight and 12 years old. Moreover, all the results and conclusions in this paper were drawn from past research papers. These papers made use of both qualitative and quantitative evaluations of cognitive abilities, problem-solving skills, and social development to thoroughly examine the outcome of early programming education. Therefore, by utilizing said past research, this paper will contribute valuable insights into the significance of early childhood programming education, and its effect on the future of the participating children. Highlighting the diverse advantages and practicality of early programming education, introducing programming to children enhances their cognitive abilities and problem-solving skills, provides a strong foundational foothold in programming critical for future employability, fosters personal and social character development, and teaches human values by overcoming children’s social limitations with the help of innovative teaching methods.
Problem-solving skills are essential in programming. A well-written snippet of code is the culmination of a person’s programming and computational thinking skills. Introducing a young child to programming will lead to the strengthening of their problem-solving skills, as it brings forward an improvement in the different facets of problem-solving like sequencing, route mapping, and algorithm development. Often in programming, the need to map out paths from a problem to its solution and sequence the different steps on the way. This leads to an improvement in an individual’s ability to map paths and sequence events; both of which are essential parts of problem solving. Pérez-Marín et al. (2022) put this theory to the test. They used Cubetto, a robot used to teach children programming, and Brighter Child flashcards, a set of cards used to help improve a child’s sequencing skills. It was observed that using these two techniques on children over a period of five days led to an improvement in their ability to produce sequences and map routes, thus improving problem solving ability. Another factor that contributes to improvement in problem solving skills is the ability to dissect problems and hunt solutions. A study conducted by Küçükkara and Aksüt (2021) revealed the effectiveness of algorithm-based activities in supporting problem-solving skills. For these algorithm-based activities, their candidates used techniques like problem-stating, solution-hunting, and algorithm development which are known to be components of problem solving. Thus, dissecting problems and studying them to find solutions led to an improvement in their problem-solving ability. One more essential component of problem solving is a person’s capacity to compute problems. Özcan et al. (2021) observed that putting children through a ten-week-long course for programming in graphical interfaces resulted in increased computational thinking scores. Computational thinking is the ability to solve problems, design systems, and understand human behavior (Wing, 2006). It is known to be a crucial predictor of problem-solving ability; hence it is observed that the programming course resulted in improved problem-solving skills. Through all the above discussed factors, it is shown that programming does indeed boost a child’s skill in problem solving as it causes the person to face situations that enhance different facets of their problem-solving skills.
In today’s modern era, reliance in computers have been increasing at a rapid pace, and so does the need for computer-proficient employees in the workplace. As children are the part and parcel of our future workforce, providing children with programming education can satisfy this demand. Proficiency in computers on children can be improved by learning programming since it provides them with an understanding of computer science and builds foundational knowledge of programming languages. Present day computerized environments benefit from having a degree of understanding of computer science knowledge. Hence, before the child transitions from the school environment to the work environment, it is best for the child to be exposed to computer science. Programming aids in providing the child the information needed to adapt to the working environment. In Copp et al.’s (2021) study, their students gained invaluable insights about the knowledge and skills needed by computer scientists in their day-to-day work after finishing their programming projects. The knowledge accumulated here has the potential to provide the children with an advantageous position when it comes to future job prospects. Additionally, practicing programming builds children’s comprehension on programming languages. Noak et al. (2022) stated that it is possible for children to learn higher level programming languages through a guided course. By learning higher level programming, students improved their programming skills and gain a better grasp of high-level programming language syntax. A firm grasp on programming languages possesses great opportunities for the future adults in the workforce (Peslak & Conforti, 2020). Furthermore, programming concepts can provide better awareness of how computer processes are related to other fields in the real world. For example, Petricek (2021) discussed the possible links programming has with mathematics, linguistics, philosophy and culture, and science and engineering. This indicates that programming grants unconfined experience that is comprehensive for the workforce. Since computer science is becoming an overarching field in the modern work setting, learning computer programming encapsulates the core nature of computer science. Therefore, learning programming will undoubtedly be beneficial for the child to ensure their future employability.
As young children grow, their educators must instill positive human values in them that contribute to their development into capable, contributing members of society. Therefore, introducing programming as an extra-curricular class will be of assistance in educating them on human values, particularly leadership, creativity, and diligence. With communicative and collaborative learning mechanisms in place, such programming classes will urge children to engage in critical discussion as the assignments bring a tough challenge to the classroom. As children consequently become engaged in conversation, they are more encouraged to externalize ideas, promoting the development of their social confidence and leadership skills (Bers, 2021). Additionally, Wong and Cheung (2020) stated that programming tasks allow children to improve their creativity. They propose that this is linked to the fact that programming involves breaking down complex problems into parts to apply their knowledge and solve their solutions innovatively. This competency of creativity will become more important in the future, especially in compulsory education. Lastly, during the process of exploring computer programming in the classroom, children are faced with difficult tasks as mentioned, but instead of giving up, children will be encouraged to stay diligent, especially in a cooperative classroom environment with supportive partners and teammates. According to Denner et al. (2021), it is noted that what they define as “intrepid exploration”, also known as diligence or persistence, thrives when cooperating partners provide responsive feedback that is both verbal and non-verbal whilst expanding on each other’s expertise. This is why educators must find a way to encourage positive and cooperative engagement between the children during their programming classes, leading to the development of diligence in doing so. In summary, the introduction of programming to the classroom with tasks involving positive cooperation and collaboration will bring about the development of important human values for a better future for the children.
Given the naturally complex nature of programming, it becomes apparent why children may struggle to begin learning it at a young age. According to Chen et al. (2022) tasks of higher complexity and larger memory requirements will result in larger cognitive loads. This leads to a reduction in memory performance along with a lower capacity to execute processing tasks well. Thus, this highlights that children have cognitive limitations as the complexity of the given tasks increases. However, despite these inherent cognitive limitations in children, they can be overcome through unique learning methods. A study conducted by Almjally et al. (2023) has shown that through the use of gestures which are hand movements done during speech, youngsters can then convey computer concepts showing an understanding of both programming and problem-solving skills. These gestures, which are directly referenced to concrete objects, mapping, or processes, provide these kids with a means to comprehend these vital mechanisms. Furthermore, these gestures can be used as means for children to communicate their programming ideas to each other, bolstering their socialization and developing their social skills. Additionally, research done by Hijon-Neira et al. (2020) which focused on children aged six to 12 showed three different approaches in learning programming. These methods included a virtual execution environment with a mouse, Makey Makey which allows users to control software by closing simple electrical circuits, or the conventional teaching with the blackboard. All three techniques allowed for significant improvements in the children’s understanding, with the blackboard learning being the most optimal way for them to learn. Therefore, while children by nature do have cognitive limitations, they can still make use of numerous methods to adequately garner a proper understanding of programming concepts. Hence, allowing them to develop an interest in technology while gaining the necessary critical thinking and analytical skills, required for an increasingly digital world.
In conclusion, introducing programming to children at an early age provides them with significant advantages by not only enhancing their ability to solve complex problems and preparing them for future computer-intensive careers but also fostering the development of essential social and interpersonal skills. Furthermore, while there is research that states children shouldn’t learn programming as the complexity of it leads to reductions in memory performance and cognitive processing. There are methods which can be utilized to make learning programming children friendly. However, as of now there is not enough research to fully comprehend the long-term impacts of whether an early programming education is truly beneficial for children. Consequently, it should be a point of interest that further studies are to be conducted in order to explore this effect in a greater depth and to optimize the way in which students learn programming. Therefore, by integrating programming into early education in playful and engaging manners, educators can empower children with the skills and knowledge they need to navigate and shape the future effectively. Moreover, it ensures that children develop a strong foundation in problem-solving, computational thinking, and collaborative skills, paving the way for them to thrive in a rapidly evolving digital world.

[1812 words]
<Research draft 2.0>
Exposing children to programming is beneficial

1.0 Introduction
Computer programming is defined as the process of developing and implementing various sets of instructions to enable a computer to perform a certain task, solve problems, and provide human interactivity (Balanskat & Engelhardt, 2015). It is becoming an increasingly prevalent skill in society, and its importance in the modern world is now irrefutable. With the current growing demand for programming skills in today’s technology-driven world, it is easy to foresee the necessity for future generations to be prepared for this expectation. Under situations such as this, the idea of introducing programming into children’s education systems across the globe is now a relevant consideration in the modern-day society. Thus, this research paper puts forth arguments to advocate for the introduction of programming to children through their education as a core subject in their curriculum. To begin the research, it is important to first define that a child is any human being below the age of 18 years unless under laws applicable to the child (United Nations Convention on the Rights of the Child, 1989). This research paper encompasses a diverse age range of children, ranging from three to 17 years old, with a significant portion of participants falling between the ages of eight and 12 years old. Moreover, all the results and conclusions in this paper were drawn from past research papers. These papers made use of both qualitative and quantitative evaluations of cognitive abilities, problem-solving skills, and social development to thoroughly examine the outcome of early programming education. Therefore, by utilizing said past research, this paper will contribute valuable insights into the significance of early childhood programming education, and its effect on the future of the participating children. Highlighting the diverse advantages and practicality of early programming education, introducing programming to children enhances their cognitive abilities and problem-solving skills, provides a strong foundational foothold in computing critical for future employability, fosters personal and social character development, and teaches human values by overcoming children’s social limitations with the help of innovative teaching methods.
2.0 Reinforcing Problem-Solving Skills
Problem-solving skills are essential in programming. A well-written snippet of code is a culmination of a person’s programming and problem-solving skills. Introducing a young child to programming will lead to the strengthening of their problem-solving skills, as it brings forward an improvement in the different facets of problem-solving like sequencing, route mapping, and algorithm development. Often in programming, one needs to visualize a path to the solution and the steps required to get there. With practice, their ability in mapping out these paths evolves and makes it easier for them to find solutions. To verify this, Pérez-Marín et al. (2022) conducted a study using Cubetto, a robot used to teach children programming, and Brighter Child flashcards, a set of cards used to help improve a child’s sequencing skills. It was observed that using these two tools over a period of five days, children improved their skills in mapping paths and finding a sequence of steps. Some other skills that also contribute to problem solving are: Being able to dissect problems, and precisely specify the issue and formulate possible fixes or answers. The development of these skills is triggered while learning to program algorithms because it actively engages them and grants the person experience and practice. A study conducted by Küçükkara and Aksüt (2021) revealed the effectiveness of algorithm-based activities in supporting problem-solving skills. For these algorithm-based activities, their candidates used techniques like problem-stating, solution-hunting, and algorithm development. Dissecting problems and studying them to find solutions led to an improvement in their problem-solving ability. One more essential component of problem solving is a person’s capacity to think computationally. Computational thinking is the ability to solve problems, design systems, and understand human behavior (Wing, 2006). Özcan et al. (2021) observed that putting children through a ten-week-long course for programming in graphical interfaces resulted in increased computational thinking scores. They are known to be a crucial predictor of problem-solving ability; hence it is observed that the programming course resulted in improved problem-solving skills. Through all the above discussed factors, it is shown that programming does indeed boost a child’s skill in problem solving as it causes the person to face situations that enhance different facets of their problem-solving skills.
3.0 Preparation for Computer-Based Work Environments
Reliance of computers in today’s modern era have been increasing at a rapid pace, and so does the need for computer-proficient employees in the workplace. As children are an important part of the future workforce, providing children with programming education can satisfy this demand. Proficiency in computers on children can be improved by learning programming since it provides them with an understanding of computer science and builds foundational knowledge of programming languages. Computer science can be described as the general study of computing concepts (Dodig-Crnkovic, 2002). Present day computerized environments benefit from having a degree of understanding of computer science knowledge. Hence, before the child transitions from the school environment to the work environment, it is best for the child to be exposed to computer science. Programming aids in providing the child the computer science knowledge needed to adapt to the working environment. In Copp et al.’s (2021) study, their students gained invaluable insights about the knowledge and skills needed by computer scientists in their day-to-day work after finishing their programming projects. The knowledge accumulated here has the potential to provide the children with an advantageous position when it comes to future job prospects. Additionally, practicing programming builds children’s comprehension on programming languages. From Noak et al.’s (2022) research, it is possible for children to learn higher level programming languages through a guided course. By learning higher level programming, students improved their programming skills and gain a better grasp of high-level programming language syntax. A firm grasp on programming languages possesses great opportunities for the future adults in the workforce (Peslak & Conforti, 2020). Furthermore, computational thinking is crucial towards establishing children’s understanding of computer science. As observed earlier, programming can increase a child’s computational thinking ability. Another research shows that computational thinking can improve children’s perceptions toward computer science (Herrero-Alvarez et al., 2023). Thus, an increase in computational thinking skills can increase a children’s computer proficiency. Since computer science is becoming an overarching field in the modern work setting, learning computer programming encapsulates the core nature of computing. Therefore, learning programming will undoubtedly be beneficial for the child to ensure their future employability.
4.0 Cultivating Human Values
Teaching children programming in school does more than prepare them for future jobs; it also helps them develop character and human values, since the quality of a person’s character is also important for them to be a valuable, civilized member of society. Therefore, introducing programming as an extra-curricular class will be of assistance in educating them on those human values, particularly leadership, creativity, and curiosity. Bers (2012) emphasizes using the Positive Technological Development framework, a guideline for teaching programming that she constructed. She adds that learning programming has great potential to promote social growth from it. The framework utilizes applied research, proposing six positive behaviors that should be supported by educational programs of technology. Two of the six behaviors were communication and collaboration, by supporting communication in the classroom using the framework, children will become engaged in conversation, and they are more encouraged to externalize ideas, promoting the development of their social confidence. Whilst for collaboration, it happens when there is a requirement for cooperation on a shared goal, which is perfect for programming classes. Collaboration promotes children’s self-control and self-regulation (Bers, 2021). In leadership it is important to have social confidence to have influence on others. For self-regulation and self-control, children learn to be adaptive and level with their peers, which is likewise important for leadership. As a result, leadership is then promoted in children’s classrooms with such communicative and collaborative learning mechanisms in place. Another positive behavior that is part of the PTD is curiosity, which Wong and Cheung (2020) states can be improved in children by programming tasks. They propose that this is linked to the fact that programming involves breaking down complex problems into parts to apply their knowledge and solve their solutions innovatively. Contrary to popular belief, programming is not mathematically intensive but requires more logical thinking instead. This further explains that children will be encouraged to generate ideas from their logical understanding, promoting creativity. Furthermore, it is also crucial to encourage a sense of curiosity in children especially at an early age, as possessing a good sense of curiosity can aid in behaviors of deep and active learning stemming from an awareness of gaps in their knowledge (Lamnina & Chase, 2019). Having this curiosity will overall support a person’s character too, resulting from being comfortable with learning and discovery. Curiosity is promoted through the encounter of problems that provide opportunities for children to explore their gaps in knowledge, this is especially ubiquitous in programming since it is all about problem-solving through the application of existing knowledge (Jirout, 2020). Whilst it is irrefutable that other subjects in academics may possess similar characteristics, programming can be considered the greatest promoter of curiosity. This is because, unlike other subjects like math and science, programming has innumerable methods of answering a question and solving a problem, which Jirout (2020) highlights to be the main importance of curiosity. Programming by nature focuses on the question and the many ways to answer them, this is what makes it effective at promoting curiosity. In brief, the introduction of programming to the classroom involving effective learning mechanisms will bring about the development of important human values, specifically leadership, creativity, and curiosity for a better place in the future society for children.
5.0 Difficulties of Learning Programming at a Young Age
Given the naturally complex nature of programming, it becomes apparent why children may struggle to begin learning it at a young age. According to Chen et al. (2022) tasks of higher complexity and larger memory requirements will result in larger cognitive loads. This leads to a reduction in memory performance along with a lower capacity to execute processing tasks well. Thus, this highlights that children have cognitive limitations as the complexity of the given tasks increases. However, despite these inherent cognitive limitations in children, they can be overcome through unique learning methods. A study conducted by Almjally et al. (2023) has shown that through the use of gestures like hand movements during speech, youngsters can then convey computer concepts showing an understanding of both programming and problem-solving skills. These gestures, which are directly referenced to concrete objects, mapping, or processes, provide these kids with a means to comprehend these vital mechanisms. Furthermore, these gestures can be used as means for children to communicate their programming ideas to each other, bolstering their socialization and developing their social skills. Additionally, research done by Hijon-Neira et al. (2020) which focused on children aged six to 12 showed three different approaches in learning programming. These methods included a virtual execution environment with a mouse, Makey Makey which allows users to control software by closing simple electrical circuits, or the conventional teaching with the blackboard. All three techniques allowed for significant improvements in the children’s understanding, with the blackboard learning being the most optimal way for them to learn. Having this range of methods to learn will allow the children to choose the method that works best for them, resulting in a higher programming proficiency. Therefore, while children by nature do have cognitive limitations, they can still make use of methods to adequately garner a proper understanding of programming concepts. Therefore, while children by nature do have cognitive limitations, they can still make use of methods to adequately garner a proper understanding of programming concepts. This will enable them to develop an interest in technology while acquiring the critical thinking and analytical skills necessary for an increasingly digital world.
6.0 Conclusion
In conclusion, introducing programming to children at an early age provides them with significant advantages by not only enhancing their ability to solve complex problems and preparing them for future computer-intensive careers but also fostering the development of essential social and interpersonal skills. Furthermore, while there is research that states children should not learn programming as the complexity of it leads to reductions in memory performance and cognitive processing. There are methods which can be utilized to make learning programming children friendly. However, as of now there is not enough research to fully comprehend the long-term impacts of whether an early programming education is truly beneficial for children. Consequently, it should be a point of interest that further studies are to be conducted in order to explore this effect in a greater depth and to optimize the way in which students learn programming. Therefore, by integrating programming into early education in playful and engaging manners, educators can empower children with the skills and knowledge they need to navigate and shape the future effectively. Moreover, it ensures that children develop a strong foundation in problem-solving, computational thinking, and collaborative skills, paving the way for them to thrive in a rapidly evolving digital world.

[2181 words]
<Research Paper>
Exposing children to programming is beneficial

1.0 Introduction
Computer programming is defined as the process of developing and implementing various sets of instructions to enable a computer to perform tasks, solve problems, and provide human interactivity (Balanskat & Engelhardt, 2015). It is becoming an increasingly prevalent skill in society, and its importance in the modern world is now irrefutable. With the current growing demand for programming skills in today’s technology-driven world, it is easy to foresee the necessity for future generations to be prepared for this expectation. Under situations such as this, the idea of introducing programming into children’s education systems across the globe is now a relevant consideration in the modern-day society. Thus, this research paper puts forth arguments to advocate for the introduction of programming to children through their education as a core subject in their curriculum. To begin the research, it is important to first define that a child is any human being below the age of 18 years unless under laws applicable to the child (United Nations Convention on the Rights of the Child, 1989). This research paper encompasses a diverse age range of children, ranging from three to 17 years old, with a significant portion of participants falling between the ages of eight and 12 years old. Moreover, all the results and conclusions in this paper were drawn from past research papers. These papers made use of both qualitative and quantitative evaluations of cognitive abilities, problem-solving skills, and social development to thoroughly examine the outcome of early programming education. Therefore, by utilizing said past research, this paper will contribute valuable insights into the significance of early childhood programming education, and its effect on the future of the participating children. Highlighting the diverse advantages and practicality of early programming education, introducing programming to children enhances their cognitive abilities and problem-solving skills, provides a strong foundational foothold in computing critical for future employability, fosters personal and social character development, and teaches human values by overcoming children’s social limitations with the help of innovative teaching methods.
2.0 Reinforcing Problem-Solving Skills
Introducing a young child to programming will bring them experience and proficiency in problem-solving skills over time. Programming allows individuals to instruct a computer to accomplish a certain task. Problem-solving skills are crucial to programming as these certain tasks are usually done to solve problems that people face in their day-to-day lives.

Often, solving a programming problem starts with visualizing the sequence of steps to be taken and mapping a path through them. Pérez-Marín et al. (2022) conducted a study where they taught children these core features of programming playfully and noticed a discernible development in the children’s ability to perform these first steps taken in solving a problem after some practice. While solving the programming problem, the child needs to be able to dissect and understand it as well as formulate a solution for it. Thus, by solving such programming questions on a frequent basis, they develop the ability to break down problems and find ways to solve them. A study conducted by Küçükkara and Aksüt (2021) confirmed the effectiveness of programming activities in supporting problem-solving skills by allowing the children to learn how to identify and understand problems as well as discover solutions.

Additionally, navigating a programming problem requires a child to be able to think computationally and solving it requires them to utilize the resources they have at their disposal. According to Wing (2006), computational thinking is the ability to solve problems, design systems, and understand human behavior. Since the ability to solve problems is a component of computational thinking, with more experience in programming, children will be able to advance their computational thinking skills and thus enhance their problem-solving skills. This is consistent with the findings of a study conducted by Özcan et al. (2021) in which it was observed that putting children through a ten-week-long course for programming in graphical interfaces resulted in increased computational thinking scores and thus their problem-solving skills. Condensing the above points, it is clear that programming will allow a child to improve their problem-solving skills as it provides them with practice and familiarity in different techniques that are parts of problem solving.
3.0 Preparation for Computer-Based Work Environments
Reliance of computers in today’s modern era have been increasing at a rapid pace, and so does the need for computer-proficient employees in the workplace. As children are an important part of the future workforce, providing children with programming education can satisfy this demand. Proficiency in computers on children can be improved by learning programming since it provides them with an understanding of computer science and builds foundational knowledge of programming languages. Computer science can be described as the general study of computing concepts (Dodig-Crnkovic, 2002). Present day computerized environments benefit from having a degree of understanding of computer science knowledge. Hence, before the child transitions from the school environment to the work environment, it is best for the child to be exposed to computer science. Programming aids in providing the child with computer science knowledge needed to adapt to the working environment. In Copp et al.’s (2021) study, their students gained invaluable insights about the knowledge and skills needed by computer scientists in their day-to-day work after finishing their programming projects. The knowledge accumulated here has the potential to provide the children with an advantageous position when it comes to future job prospects.

Additionally, practicing programming builds children’s comprehension on programming languages. From Noak et al.’s (2022) research, it is possible for children to learn higher level programming languages through a guided course. By learning higher level programming, students improved their programming skills and gain a better grasp of high-level programming language syntax. A firm grasp on programming languages possesses great opportunities for the future adults in the workforce (Peslak & Conforti, 2020). Furthermore, computational thinking is crucial towards establishing children’s understanding of computer science. As observed earlier, programming can increase a child’s computational thinking ability. Another research shows that computational thinking can improve children’s perceptions toward computer science (Herrero-Álvarez et al., 2023). Thus, an increase in computational thinking skills can increase a children’s computer proficiency. Since computer science is becoming an overarching field in the modern work setting, learning computer programming encapsulates the core nature of computing. Therefore, learning programming will undoubtedly be beneficial for the child to ensure their future employability, and should be introduced to children in the classroom setting.
4.0 Cultivating Human Values
Teaching children programming in school does more than prepare them for future jobs; it also helps them develop character and human values, since the quality of a person’s character is also important for them to be a valuable, civilized member of society. Therefore, introducing programming as an extra-curricular class will be of assistance in educating them on those human values, particularly leadership, creativity, and curiosity.

Bers (2012) emphasizes the use of the Positive Technological Development (PTD) framework, a guideline for teaching programming that she constructed. She adds that learning programming has great potential to promote social growth from it. The framework utilizes applied research, proposing six positive behaviors that educational programs of technology should support. Two of the six behaviors that strongly correlate with leadership are communication and collaboration. By supporting communication in the classroom using the framework, children will become engaged in conversation and are more encouraged to externalize ideas. This promotes the development of their social confidence, which is pivotal for leadership in terms of social influence. Whilst for collaboration, it happens when there is a requirement for cooperation on a shared goal, which is perfect for programming classes. Bers (2021) articulated that collaboration promotes children’s self-control and self-regulation, which teaches children to be adaptive and level with their peers, which is likewise important for leadership.

Another positive behavior that is part of the PTD is creativity, which Wong and Cheung (2020) states can be improved in children by programming tasks. They propose that this is linked to the fact that programming involves breaking down complex problems into parts to apply their knowledge and solve their solutions innovatively. Contrary to popular belief, programming is not mathematically intensive but requires more logical thinking instead. This further explains that children will be encouraged to generate ideas from their logical understanding, promoting creativity.

Furthermore, besides the positive behaviors of PTD, programming is strongly connected with curiosity which can support a person’s character as a human value too. This is because having an aptitude for curiosity signifies that a person is comfortable with learning and discovery. Curiosity is promoted through the encounter of problems that provide opportunities for children to explore their gaps in knowledge (Jirout, 2020). This is especially ubiquitous in programming since problem-solving with acquired knowledge is a core aspect of programming. Unlike other subjects like math and science, programming has innumerable methods of answering a question and solving a problem, which Jirout (2020) highlights to be the main importance of curiosity. Programming by nature focuses on the question and the many ways to answer them, this is what makes it effective at promoting curiosity. In brief, the introduction of programming to classrooms utilizing effective learning mechanisms with human values in mind will yield positive results for a child’s character and social development which will be useful especially in their futures.
5.0 Difficulties of Learning Programming at a Young Age
Given the naturally complex nature of programming, it becomes apparent why some people argue children may struggle to begin learning it at a young age. According to Chen et al. (2022) tasks of higher complexity and larger memory requirements will result in larger cognitive loads. This leads to a reduction in memory performance along with a lower capacity to execute processing tasks well. Thus, this highlights that children have cognitive limitations as the complexity of the given tasks increases.

However, despite these inherent cognitive limitations in children, they can be overcome through unique learning methods. A study conducted by Almjally et al. (2023) has shown that through the use of gestures like hand movements during speech, youngsters can then convey computer concepts showing an understanding of both programming and problem-solving skills. These gestures, which are directly referenced to concrete objects, mapping, or processes, provide these kids with a means to comprehend these vital mechanisms. Furthermore, these gestures can be used as means for children to communicate their programming ideas to each other, bolstering their socialization and developing their social skills.

Additionally, research done by Hijón-Neira et al. (2020) which focused on children aged six to 12 showed three different approaches in learning programming. These methods included a virtual execution environment with a mouse, Makey Makey which allows users to control software by closing simple electrical circuits, or the conventional teaching with the blackboard. All three techniques allowed for significant improvements in the children’s understanding, with the blackboard learning being the most optimal way for them to learn. Having this range of methods to learn will allow the children to choose the method that works best for them, resulting in a higher programming proficiency.

Therefore, while children by nature do have cognitive limitations, they can still make use of methods to adequately garner a proper understanding of programming concepts. This will enable them to develop an interest in technology while acquiring the critical thinking and analytical skills necessary for an increasingly digital world.
6.0 Conclusion
In conclusion, teaching programming to children at a young age offers them many benefits. It helps them improve their problem-solving skills, prepare for future computer-oriented workplaces, and learn character-building human values. While programming may be conceived as a cognitively intensive field that children are unable to fully comprehend, educators must possess the knowledge and competency to adopt certain teaching frameworks, tools, and techniques when conducting the classes. This will achieve a system that makes sure that the educators of children are specially trained with the aforementioned teaching methods in mind. However, as of now, further research is needed to properly understand the long-term effects of whether early programming education is genuinely beneficial for children. As such, more studies should be conducted to gather more information on the topic to allow educators to provide kids with the information and abilities they need to effectively impact their future.

As children are vital for both the current and future society, it Is important to teach them skills that are relevant for their future. Since technology is advancing at an extreme pace, and information technology is ever more prevalent in daily life, programming can help to familiarize these fields. Hence, programming education for children has the potential to reshape their future. Therefore, an early programming education ensures that children develop a strong foundation in programming allowing them to prosper in a rapidly developing digital world.

[2107 words]
<References>

Almjally, A., Howland, K., Good, J., & du Boulay, B. (2023). Investigating primary school children’s embodied expression of programming concepts. International Journal of Child-Computer Interaction, 36, Article 100574. https://doi.org/10.1016/j.ijcci.2023.100574

Balanskat, A., & Engelhardt, K. (2015). Computing our future: Computer programming and coding - Priorities, school curricula and initiatives across Europe. European Schoolnet. http://www.eun.org/resources/detail?publicationID=661

Bers, M. U. (2012). Designing digital experiences for positive youth development: From playpen to playground. Oxford University Press. https://doi.org/10.1093/acprof:oso/9780199757022.001.0001

Bers, M. U. (2021). Coding, robotics and socio-emotional learning: Developing a palette of virtues. Pixel-Bit: Revista de Medios y Educación, 62, 309–322. https://doi.org/10.12795/pixelbit.90537

Chen, H.-C., Kao, C.-H., Wang, T.-H., & Lai, Y.-T. (2022). Evaluation of children’s cognitive load in processing and storage of their spatial working memory. Frontiers in Psychology, 13, Article 918048. https://doi.org/10.3389/fpsyg.2022.918048

Copp, D. A., Isaacs, J. T., & Hespanha, J. P. (2021). Programming, robotics, and control for high school students. Advances in Engineering Education, 9(1), 1–27. https://advances.asee.org/programming-robotics-and-control-for-high-school-students/

Dodig-Crnkovic, G. (2002). Scientific methods in computer science. Proceedings of the Conference for the Promotion of Research in IT at New Universities and at University Colleges in Sweden, Sweden, 126–130.

Herrero-Álvarez, R., Miranda, G., León, C., & Segredo, E. (2023). Engaging primary and secondary school students in computer science through computational thinking training.  IEEE Transactions on Emerging Topics in Computing, 11 (1), 56–69. https://doi.org/10.1109/tetc.2022.3163650

Hijón-Neira, R., Pérez-Marín, D., Pizarro, C., & Connolly, C. (2020). The effects of a visual execution environment and Makey Makey on primary school children learning introductory programming concepts. IEEE Access, 8 (1), 217800–217815. https://doi.org/10.1109/access.2020.3041686

Jirout, J. J. (2020). Supporting early scientific thinking through curiosity. Frontiers in Psychology, 11 , Article 01717. https://doi.org/10.3389/fpsyg.2020.01717

Md. Fatih Küçükkara, & Aksüt, P. (2021). An example of unplugged coding education in preschool period: Activity-based algorithm for problem solving skills. Journal of Inquiry Based Activities, 11 (2), 81–91. https://www.ated.info.tr/index.php/ated/article/view/106

Noak, C. J., Wang, S., Andrei, S., & Tsan, J. L. (2022). Introducing engineering and programming concepts to middle school and high school students using SparkFun Inventor’s Kit, Scratch, and Java. 2022 IEEE Frontiers in Education Conference (FIE), Sweden, 1–8. https://doi.org/10.1109/FIE56618.2022.9962668

Özcan, M. Ş., Çetinkaya, E., Göksun, T., & Kisbu-Sakarya, Y. (2021). Does learning to code influence cognitive skills of elementary school children? Findings from a randomized experiment. British Journal of Educational Psychology, 91(4), 1434–1455. https://doi.org/10.1111/bjep.12429

Peslak, A., & Conforti, M. (2020). Computer programming languages in 2020: What we use, who uses them, and how do they impact job satisfaction. Issues in Information Systems, 21(2), 259–269. https://doi.org/10.48009/2_iis_2020_259-269

Pérez-Marín, D., Hijón-Neira, R., & Pizarro, C. (2022). Coding in early years education: Which factors influence the skills of sequencing and plotting a route, and to what extent? International Journal of Early Years Education, 30(4), 969–985. https://doi.org/10.1080/09669760.2022.2037076

United Nations Convention on the Rights of the Child, November 20, 1989, https://www.ohchr.org/en/instruments-mechanisms/instruments/convention-rights-child

Wing, J. M. (2006). Computational thinking. Communications of the ACM, 49(3), 33–35. https://doi.org/10.1145/1118178.1118215

Wong, G. K.-W., & Cheung, H.-Y. (2020). Exploring children’s perceptions of developing twenty-first century skills through computational thinking and programming. Interactive Learning Environments, 28(4), 438–450. https://doi.org/10.1080/10494820.2018.1534245

<Publicised Work>
<Reflections>
Gabriel
At the beginning of our course for the semester, learning about the different aspects of academic writing was relatively elementary as most of the English skills taught to me was something I was familiar with. The initial lecturer assigned to my class was a charming and charismatic person, which often led me to look forward to his classes. Unfortunately, three weeks into the semester there was a rearrangement of the students’ groups in our schedule resulting in the change of the venue and the lecturer of our class. After this change a few of my friends were left behind, but I was fortunate enough to be able to stay with three of them that were a part of my group. Having a few familiar faces in a different environment made the transition more bearable as this was a rather sudden change of pace since the class lesson topics were slightly off schedule. Nearing the end of the semester, I had gained many experiences from the hardships that I went through with my teammates. The research assignment was especially dreadful because of the incredibly niche topic that we had picked. I believe we overthought our options without considering other topics of greater popularity. During the process of searching for research papers, many of our chosen references were rejected due to reasons like failing the CRAAP test and irrelevant relations to our arguments. Even so, we pulled through as a team, whilst sharing our struggles. Overall, I surprisingly do not view my entire experience to be negative, although the product of our efforts was minimally rewarding considering the maximal amounts of difficulty that we have endured. The main difficulty that we encountered as I have mentioned was our inability to foresee the lack of research surrounding our topic. This problem could have been avoided if we had been made aware of the lack of research, since we were writing an argumentative essay, a topic of more debate could have been more desirable. Aside from this, my other assignment which is my written response was surprisingly successful, I was even told that my results turned out to be the highest among my peers which was also shocking. Although I required support from my teammates and lecturers during the writing and reference formatting of my draft, much help was given. As a result, I pulled through the written response and the final research paper of the class too. Despite the need for more thought to be put into the delegation of our portfolio’s work contribution, we ultimately managed to work together to plan it out. All in all, I believe better planning would have significantly improved the entire writing process of our research paper. If there was a silver lining to the overall experience, it would be that I have learned the importance of being comfortable with exploring more possibilities.

[476 words]
Wen Pin
Upon the commencement of the semester, I had thought that this English course was a simple and straightforward subject for the first year. I had the impression that the course was something akin to an English revision course in preparation for when we proceed further into university. As my understanding of the assignment for this course became clearer, it was apparent that my initial perceptions were wrong. Academic writing was something that I have never dwelled too deep into until this course. I had struggled in writing academically and needed guidance from my peers and lecturers. This was especially the case when coursework one (CW1), the written response, was introduced. Argumentative writing was a writing style with which I was quite unfamiliar. It took many iterations to review the work with my lecturer and re-write the drafts to finally obtain the green light to proceed. From the experiences in this course, I learned that the arguments have to contain persuasive elements that are reinforced by academic research and backed-up data. Additionally, I learned to apply APA citations in my work and correctly cite references. Subsequently, I managed to brainstorm ideas that can be included for my paper and submitted CW1 by the deadline. Another notable difficulty was the lack of proper sources for our research topic. After beginning the assignment, it became evident that the topic we have chosen, involving “the benefits of learning programming in children’s education”, was found to be rather niche in academia. This section of work is what my group and I determine to be the most time-consuming and frustrating. We committed ourselves to persevere by helping each other find related journal articles and allocate time to proofread each other’s work. With help and consultation from our lecturer, we also broadened the scope of our topics in order to ease the process of searching for journals and finished the researched paper. There were two changes I would make when preparing for subsequent projects; I would spend additional time researching about a topic to cover, and plan for a less ambitious portfolio to create. As mentioned earlier, it was difficult to find research papers that supports the arguments our group have. This problem was admittedly due to lack of experience in writing a proper research paper, and thus we did not realize the difficulties that would arise when choosing a niche topic. Next would be the problem regarding the difficulty we have created in making the portfolio. Our group settled on creating a website to host the research paper. While this decision was more interesting than our peers, it was also comparatively more difficult. We also underestimated the total workload across all subjects in the second half of the semester and we needed to rush the project to meet deadlines. Overall, my experience with this semester was negative due to the aforementioned circumstances. However, the lessons learned were invaluable, and the activities fostered fruitful relationships with groupmates. Thus, it was a meaningful journey from start to end.

[500 words]
Sean
Over the past semester, I have been exposed to a large sum of research papers and journal articles. This exposure has greatly helped me to garner a deeper understanding of the rules and steps to follow when writing a research paper. Furthermore, by having this understanding, my skills in both writing and researching have greatly increased. However, the most notable improvement in my writing is the fact that I am now able to construct sentences in a more structured and refined manner. Prior to this class, my sentences had the tendency to lack proper format. Examples of this include being unable to construct proper lists using commas and having incomplete sentences. In spite of that, through the sheer amount of work that had to be done and the constructive feedback from my lecturer, the number of inconsistencies in my writing have reduced. This has made my writing my coherent and easier to follow. Additionally, when talking about my researching skills, the reason they have greatly improved is because two main factors. Firstly, by making use of tests such as the “CRAAP” test, I can now find out if a journal article I want is valid and can be used. Moreover, I have been taught to identify fallacies in journal articles, thus, helping me to choose proper articles with greater proficiencies. Therefore, I can now say that I feel more confident in conducting research and making use of sources to support my arguments. Another prominent skill I have acquired is the ability to utilize the APA writing format to write my research paper. This skill was an important one to pick up, as having it makes your writing more formal and allows people who read your writing to take it seriously. Furthermore, through learning the APA format, my ability to make use of citations has noticeably increased. This is important because when writing research papers, one must do their best to avoid any form of plagiarism in their writing in order to maintain academic integrity. Despite my improvements, I did not breeze through the semester without any challenges. Learning each new rule or skill was quite daunting at times, making me need to spend a considerable amount of time in both understanding and refining my usage of them. Another challenge to highlight is the fact the research topic my group chose had a scarce amount of available journal articles, making researching harder than it needed to be. However, even when the work was hard, I had the support of my groupmates to assist me in overcoming the difficulties. All in all, this course has been a decent experience for me. It has both helped me hone my researching skills and foster good collaboration and communication with my groupmates. I am grateful for the opportunities I have been given in this class and look forward to using what I have learned here to help me in my future courses.

[487 words]
Sofian
When I joined this course, I was met with some newfound experiences. I learnt that we had three coursework assignments and two of them were to be done as a group. I had not participated in a group project of such magnitude before. I started the course with Mr. Edgar as my instructor and found the subject to be fun and engaging. Many of the concepts we learned were not foreign to me except the lectures on academic writing and research. I had not encountered these areas of English before and found myself learning numerous new topics. However, after I transferred to Ms. Choe’s class was when I truly got a chance to engage in these new topics. I learned about everything from citations to fallacies and usually found my head spinning with all the new terminologies I came across. That is not to say that I did not enjoy learning the subject, however. I have always been passionate about writing and working on the projects allowed me to improve my writing skills immensely. I was authoring a novel of my own and started to make connections between lessons I learned in the past from writing my book and concepts I came across in this course. Despite all of this, my experience was not entirely positive. I faced my first setback when I submitted my written response and was not able to pass the AI checker test. I was rather confident in my writing previously but after rewriting the written response and resubmitting it in a day, I realized that I was not as well-versed as I thought I was. I noticed that my problems were not related to my language skills but rather my ability to address points and properly convey my ideas. I could not prove and explain my arguments well enough and often ended up noticing fallacies in my drafts. However, after this experience, I believe that I improved significantly in my ability to express my ideas and convey them coherently in a way that convinced the reader. I was happy with how I composed my main point in my groups research paper. I was also happy with how our portfolio had turned out. However, it had been quite difficult as our group had decided to make a website portfolio from the very beginning and I was the only person who was proficient when it came to coding websites. Nevertheless, I was able to put up with it and make a website for our team. All in all, I had a rather positive experience going through this course as I got the chance to learn and improve my academic writing skills drastically. I enjoyed spending time writing out my written response as well as contributing to our groups research paper and look forward to taking part in such projects in the future and putting the skills I developed, through this course, to use.

[476 words]