Learning Support System for Programming Language Python

Learning Support System for Programming Language Python

Masatoshi Kamagasako (Advanced Programming Educational Association, Japan), Nobuhiko Shishido (Advanced Programming Educational Association, Japan) and Shigeru Ikuta (Advanced Programming Educational Association, Japan & Otsuma Women's University, Japan)
DOI: 10.4018/978-1-7998-1400-9.ch007

Abstract

In the new course of study starting next year, programming education starts in all elementary schools in Japan. However, the definition of programming education is not so clear, and an independent compulsory subject for programming education is not available, yet. Almost all of the teachers are not good at programming; they do not have enough ideas on how to teach “programming” in ordinary required subjects. It is expected, however, that this new engagement on programming education at elementary school will promote the development of new ways of teaching programming education in junior and senior high schools. The authors developed a new client-server web system that can help teachers teach Python programming and also help gifted and talented students learn by themselves. In this chapter, the authors detail such a client-server Web system and the activities performed at a juku (private tutoring) school.
Chapter Preview
Top

Introduction

In the United States, many schools have after school clubs which are dedicated to computer science and coding. While this is a great start for exposure, it does not allow all students to access the computational thinking skills that are developed by coding. Coding is critical for K-5 students for the following five reasons: Making their thinking visible, sustaining creativity, encouraging computational thinking, fostering future-ready skills, and empowering to take action (Williams, 2017).

Williams (2017) further expressed how to bring coding into K-5 curriculum by embedding computational thinking skills into activities for every content area. She sustained that embedding these skills helped students prepare for coding in the middle grades as they built their knowledge. Caldwell (2018) helped classroom teachers in several core content areas develop activities and projects to encourage computational thinking and coding skills, and to build bridges between those skills and practice. For maths, science, English language, arts, and social studies teachers, the resources provide guidance to start integrating coding in their classes to complement and strengthen existing instruction. Other useful books and Web sites are available to help students upgrade computational thinking and program coding (Karch, 2019; International Society for Technology in Education, 2018, 2019; STEM for kids, 2019)

In the new COURSE OF STUDY starting in 2020, programming education is required in all elementary schools in Japan (Ministry of Education, Culture, Sports, Science and Technology, Japan, 2018a, 2018b, 2018c). However, the definition of programming education is not so clear, and an independent compulsory subject for programming education is not available, yet. Many school teachers, therefore, are worried about such new programming lessons. Indeed, almost all of the teachers are not good at programming; also, they do not have enough ideas on how to teach “programming” in ordinary required subjects, such as maths, science, and social science.

On the other hand, it is expected that this new engagement on programming education at elementary school will promote the development of new ways of teaching programming education in junior and senior high schools. The Python language (Python Software Foundation, 2019) learning is expanding as an option for the gifted students who are not satisfied with the regular programming lessons at school. Some of the gifted and talented students have a special ability in programming and even now enjoy software development with a Python language.

In Python programming learning, however, error messages by the system might be very difficult for even such gifted students to be analyzed and solved. Therefore, the authors have developed a new client-server Web system to help students learn Python programming. This new client-server system can be introduced in the classroom setting at a low cost.

In this chapter, the authors describe the client-server Web-based system to learn Python programming and the activities performed at a juku (private-tutoring) school as a trial.

Top

Background

As of 2020, under the new course of study, programming education will be compulsory learning at elementary school in Japan, by using some of the lessons in ordinary required subjects. Primitive programming education is already included in the required subjects of Technology and Home Economics and Information, at junior and senior high schools, respectively. These programming classes are expected to become ever more advanced in the new course of study (Miraino-manabi Consortium, 2019).

Key Terms in this Chapter

Cascading Style Sheet (CSS): A language for specifying the style of web sites described in HTML.

Hypertext Markup Language (HTML): Language for describing a web site. A hypertext is text that can be embedded with links connecting documents.

Hello World: A sample program that is often used as an elementary sample of a programming language. Only the function to display the string “hello, world!” on the screen or console is implemented.

JavaScript: Script language that runs on the browser. The name is similar to Java, but in a different language.

Scratch: An educational visual programming language developed by the MIT Lab. It is often used in basic programming education.

Python: A general purpose object-oriented programming language. Recently, it has often been the topic of research in machine learning and artificial intelligence, but it is also suitable for learning in programming.

Client-Server Model: A data processing model in which the server performs some processing in response to a request from a client and returns the result as a response to the client.

Complete Chapter List

Search this Book:
Reset