JP2021056286A - Programming learning support system and programming learning support method - Google Patents

Programming learning support system and programming learning support method Download PDF

Info

Publication number
JP2021056286A
JP2021056286A JP2019176778A JP2019176778A JP2021056286A JP 2021056286 A JP2021056286 A JP 2021056286A JP 2019176778 A JP2019176778 A JP 2019176778A JP 2019176778 A JP2019176778 A JP 2019176778A JP 2021056286 A JP2021056286 A JP 2021056286A
Authority
JP
Japan
Prior art keywords
terminal
program code
learner
unit
program
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2019176778A
Other languages
Japanese (ja)
Other versions
JP7339520B2 (en
Inventor
輝 田那辺
Akira Tanabe
輝 田那辺
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mixi Inc
Original Assignee
Mixi Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mixi Inc filed Critical Mixi Inc
Priority to JP2019176778A priority Critical patent/JP7339520B2/en
Publication of JP2021056286A publication Critical patent/JP2021056286A/en
Application granted granted Critical
Publication of JP7339520B2 publication Critical patent/JP7339520B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

To provide a programming learning support system and a programming learning support method that enable a confirming person to grasp a progress state of a learner and also enable the learner to improve learning efficiency.SOLUTION: A first terminal 10 has a first terminal-side operation reception part 16 which receives an editing operation by a learner, a first terminal-side display part 17 which displays a program editing screen including a program code having been edited, and a first terminal-side transmission part 20 which transmits at least one of data representing the program and data representing an execution result of the program code toward a second terminal 30. The second terminal 30 has a second terminal-side acquisition part 41 which acquires information based upon the at least one data that the first terminal-side transmission part 20 has transmitted, and a second terminal-side notification part 42 which notifies a confirming person who uses the second terminal 30 of the information that the second terminal-side acquisition part 41 has acquired.SELECTED DRAWING: Figure 3

Description

本発明は、プログラミング学習支援システム及びプログラミング学習支援方法に関する。 The present invention relates to a programming learning support system and a programming learning support method.

従来から、インターネット等の情報通信回線を利用して教育コンテンツ等の送受信を行う、双方向通信化された学習支援システムが実用化されている。 Conventionally, a learning support system with two-way communication has been put into practical use, in which educational contents and the like are transmitted and received using an information communication line such as the Internet.

例えば、特許文献1には、教師用コンピュータに校内LANを介して接続された生徒用コンピュータに、授業コンテンツを表示するコンテンツ表示領域と、このコンテンツ表示領域を通して教師の授業を受ける先生モード又は授業コンテンツに関連して生徒が自発学習を進める生徒モードに切り替えるモード切替手段を有する操作領域とを備えた、学習支援システムが開示されている。 For example, Patent Document 1 describes a content display area for displaying lesson content on a student computer connected to a teacher's computer via a school LAN, and a teacher mode or lesson content for taking a lesson by a teacher through this content display area. A learning support system is disclosed that includes an operation area having a mode switching means for switching to a student mode in which a student advances spontaneous learning in connection with the above.

また、特許文献2には、特定の生徒のアカウントについてログインを検出し、授業の時間割情報を参照して、ログインがなされた日の特定の生徒の時間割に含まれ、未開始の授業に対応付けて登録された電子データを特定し、特定した未開始の授業に対応付けて登録された電子データを送信する、送信制御システムが開示されている。 Further, in Patent Document 2, a login is detected for a specific student's account, the class timetable information is referred to, and the class is included in the specific student's timetable on the day when the login is made, and is associated with an unstarted class. A transmission control system is disclosed that identifies the electronic data registered in the class and transmits the registered electronic data in association with the identified unstarted class.

さらに、特許文献3には、教材の管理データとコンテンツデータとを含む教材データをサーバからダウンロードして再生するクライアント端末が、設定された時刻以後に、管理データとコンテンツデータとを結合して再生用教材データを生成する、学習システムが開示されている。 Further, in Patent Document 3, a client terminal that downloads and reproduces teaching material data including management data and content data of teaching materials from a server combines the management data and content data and reproduces them after a set time. A learning system that generates teaching material data is disclosed.

特開2001−350398号公報Japanese Unexamined Patent Publication No. 2001-350398 特開2016−015091号公報Japanese Unexamined Patent Publication No. 2016-015091 特開2013−246384号公報Japanese Unexamined Patent Publication No. 2013-246384

上記のような双方向通信化された学習支援システムにおいては、教科書をベースに授業を行う場合、オンライン上で、教員から学習者に質問を投げかけたり、学習者から質問を受け付けたりすることにより、教員は、学習者の進捗や理解度を把握することができる。
しかしながら、近年注目されているプログラミング教育の分野では、それぞれの学習者が自らの端末環境でプログラミング作業を行うことに集中することが多い。そのため、プログラミング教育の分野では、双方向通信化された学習支援システムを利用したとしても、教員と学習者との間でのインタラクティブなやり取りが発生することが少なくなり、教員等の確認者にとっては、各学習者の進捗や理解度を把握することが困難となる。特に、学習者の集中を妨げずに、学習者がどこで躓いているか等を把握することも困難であるため、学習者にとっても学習効率が悪い。
In the above-mentioned two-way communication learning support system, when a lesson is conducted based on a textbook, the teacher asks the learner a question or accepts the question from the learner online. The teacher can grasp the progress and understanding of the learner.
However, in the field of programming education, which has been attracting attention in recent years, each learner often concentrates on programming work in his / her own terminal environment. Therefore, in the field of programming education, even if a learning support system with two-way communication is used, interactive exchanges between teachers and learners are less likely to occur, and for confirmers such as teachers. , It becomes difficult to grasp the progress and understanding of each learner. In particular, since it is difficult to grasp where the learner is stumbling without hindering the concentration of the learner, the learning efficiency is also poor for the learner.

そこで、本発明は、確認者にとっては、学習者の進捗状況等を把握することができ、学習者にとっては、学習効率を向上させることができる、プログラミング学習支援システム及びプログラミング学習支援方法を提供することを課題とする。 Therefore, the present invention provides a programming learning support system and a programming learning support method that can grasp the progress status of the learner for the confirmer and improve the learning efficiency for the learner. That is the issue.

本発明の一態様に係るプログラミング学習支援システムは、互いに通信可能な第一端末及び第二端末を有し、前記第一端末は、前記第一端末を利用する学習者による編集操作を受け付ける第一端末側操作受付部と、前記第一端末側操作受付部が受け付けた前記編集操作に従って編集されたプログラムコードを含むプログラム編集画面を表示する第一端末側表示部と、前記プログラムコードを示すデータ、及び、前記プログラムコードの実行結果を示すデータの少なくとも一つのデータを前記第二端末に向けて送信する第一端末側送信部と、前記第二端末は、前記第一端末側送信部が送信した前記少なくとも一つのデータに基づく情報を取得する第二端末側取得部と、前記第二端末を利用する確認者に対して、前記第二端末側取得部が取得した前記情報を報知する第二端末側報知部と、を有する。 The programming learning support system according to one aspect of the present invention has a first terminal and a second terminal capable of communicating with each other, and the first terminal accepts an editing operation by a learner who uses the first terminal. A terminal-side operation receiving unit, a first terminal-side display unit that displays a program editing screen including a program code edited according to the editing operation received by the first terminal-side operation receiving unit, and data indicating the program code. The first terminal side transmitting unit that transmits at least one data indicating the execution result of the program code to the second terminal, and the second terminal transmitted by the first terminal side transmitting unit. A second terminal-side acquisition unit that acquires information based on at least one of the data, and a second terminal that notifies a confirmer who uses the second terminal of the information acquired by the second terminal-side acquisition unit. It has a side notification unit.

本発明の一態様によれば、学習者が編集したプログラムコード又はそのプログラムコードの実行結果を、教員等の確認者が確認することができる。そのため、確認者にとっては、学習者の進捗状況等を把握することができる。一方、学習者にとっては、学習効率を向上させることができる。 According to one aspect of the present invention, a confirmer such as a teacher can confirm the program code edited by the learner or the execution result of the program code. Therefore, the confirmer can grasp the progress status of the learner. On the other hand, for the learner, the learning efficiency can be improved.

プログラミング学習支援システムの概要を示す全体図である。It is an overall view which shows the outline of a programming learning support system. プログラミング学習支援システムのハードウェア構成を示す図である。It is a figure which shows the hardware configuration of a programming learning support system. プログラミング学習支援システムの機能ブロック図である。It is a functional block diagram of a programming learning support system. 学習者情報テーブルの一例を示す図である。It is a figure which shows an example of the learner information table. プログラミング学習支援処理を示すシーケンス図である。It is a sequence diagram which shows the programming learning support processing. (a)は第二端末に表示される課題選択画面の一例を示す図である。(b)は第二端末に表示される課題選択画面の他の一例を示す図である。(A) is a diagram showing an example of a task selection screen displayed on the second terminal. (B) is a diagram showing another example of the task selection screen displayed on the second terminal. 第一端末に表示されるプログラム編集画面の一例を示す図である。It is a figure which shows an example of the program edit screen displayed on the 1st terminal. 第一端末に表示されるプログラム編集画面の他の一例を示す図である。It is a figure which shows another example of the program edit screen displayed on the 1st terminal. 第一端末に表示されるプログラム編集画面のさらに他の一例を示す図である。It is a figure which shows still another example of the program edit screen displayed on the 1st terminal. (a)は第二端末に表示される学習者管理画面の一例を示す図である。(b)は第二端末に表示される学習者管理画面の他の一例を示す図である。(A) is a diagram showing an example of a learner management screen displayed on the second terminal. (B) is a diagram showing another example of the learner management screen displayed on the second terminal. 第二端末に表示されるプログラム実行画面の一例を示す図である。It is a figure which shows an example of the program execution screen displayed on the 2nd terminal. 第二端末に表示される第二プログラム編集画面の一例を示す図である。It is a figure which shows an example of the 2nd program edit screen displayed on the 2nd terminal. 第一端末に表示される第二プログラム実行画面の一例を示す図である。It is a figure which shows an example of the 2nd program execution screen displayed on the 1st terminal. 学習者環境再現処理のシーケンス図である。It is a sequence diagram of the learner environment reproduction processing. 実演配信処理のシーケンス図である。It is a sequence diagram of the demonstration distribution process. 学習開始状況管理処理のシーケンス図である。It is a sequence diagram of the learning start status management process. 進捗状況管理処理のシーケンス図である。It is a sequence diagram of the progress management process.

以下、本発明のプログラミング学習支援システム及びプログラミング学習支援方法について、添付の図面に示す好適な実施形態を参照しながら詳細に説明する。
なお、以下に説明する実施形態は、本発明の理解を容易にするために挙げた一例にすぎず、本発明を限定するものではない。すなわち、本発明は、その趣旨を逸脱しない限りにおいて、以下に説明する実施形態から変更又は改良され得る。また、当然ながら、本発明には、その等価物が含まれる。
さらに、以下の説明の中で参照される各図が示す画面例についても一例に過ぎず、画面の構成例、表示される情報及びGUI(Graphical User Interface)の具体的な内容等については、設計仕様及びユーザの好みに応じて自由に設計及び変更し得るものである。
Hereinafter, the programming learning support system and the programming learning support method of the present invention will be described in detail with reference to preferred embodiments shown in the accompanying drawings.
It should be noted that the embodiments described below are merely examples for facilitating the understanding of the present invention, and do not limit the present invention. That is, the present invention may be modified or improved from the embodiments described below as long as it does not deviate from the gist thereof. Also, of course, the present invention includes an equivalent thereof.
Furthermore, the screen examples shown in each figure referred to in the following description are only examples, and the screen configuration example, the displayed information, the specific contents of the GUI (Graphical User Interface), etc. are designed. It can be freely designed and changed according to the specifications and the user's preference.

<プログラミング学習支援システム1のシステム構成>
図1に示されるように、プログラミング学習支援システム1は、学習者Sによって操作される第一端末10と、確認者Tによって操作される第二端末30と、を有する。第一端末10と第二端末30とは、インターネット等のネットワークNを介して相互に通信可能に接続される。
なお、第一端末10と第二端末30とは、ネットワークNを経由しなくとも通信可能に接続されていればよく、例えば、Bluetooth(登録商標)やWi−Fi Direct(登録商標)等により直接接続されることとしてもよい。
<System configuration of programming learning support system 1>
As shown in FIG. 1, the programming learning support system 1 has a first terminal 10 operated by the learner S and a second terminal 30 operated by the confirmer T. The first terminal 10 and the second terminal 30 are connected to each other so as to be able to communicate with each other via a network N such as the Internet.
The first terminal 10 and the second terminal 30 may be connected to each other so as to be communicable without going through the network N, and are directly connected by, for example, Bluetooth (registered trademark) or Wi-Fi Direct (registered trademark). It may be connected.

「プログラミング」とは、コンピュータが人間の意図した処理を行うように、コンピュータへ指示する処理の手順を考え、その指示を記述することをいう。具体的には、プログラミング言語を用いて、プログラムコードを編集することが「プログラミング」である。なお、プログラムコードにより記述されたコンピュータプログラムの内容は、プログラムコードを実行することにより、プログラムコードの実行結果として、学習者S及び確認者Tが確認することができる。 "Programming" means to think about the procedure of processing instructing a computer so that the computer performs the processing intended by a human being, and to describe the instruction. Specifically, editing a program code using a programming language is "programming". The contents of the computer program described by the program code can be confirmed by the learner S and the confirmer T as the execution result of the program code by executing the program code.

「プログラムコード」とは、プログラミング言語で記述された、コンピュータプログラムを示す文字列をいう。コンピュータプログラムの内容を示し、実行対象となるものである。 "Program code" means a character string indicating a computer program written in a programming language. It shows the contents of a computer program and is the target of execution.

「実行」とは、プログラムコードを機械語に変換してコンピュータに読み込ませ、そのプログラムコードに記された指示を実現し、コンピュータプログラムを実際に動作させることをいう。実行には、インタープリタ方式及びコンパイル方式等を含む。 "Execution" means converting a program code into a machine language and reading it into a computer, realizing the instructions written in the program code, and actually operating the computer program. Execution includes an interpreter method, a compilation method, and the like.

「プログラムコードの実行結果」とは、コンピュータプログラムの内容を示し、プログラムコードを実行して可視化した映像若しくは画像、又は可聴化した音等をいう。 The "program code execution result" indicates the contents of a computer program, and refers to a video or image visualized by executing the program code, an audible sound, or the like.

「学習者」とは、プログラミング学習支援システム1の機能を享受する者であり、プログラミング学習支援システム1によって提供されるプログラミング教育に関する講座を受講して学習する幼児、児童、生徒、学生及び受講者等をいう。 A "learner" is a person who enjoys the functions of the programming learning support system 1, and is an infant, a child, a student, a student, and a student who learns by taking a course on programming education provided by the programming learning support system 1. Etc.

「講座」とは、プログラミング学習支援システム1によって提供されるプログラミング教育に関する講義又は演習等を組み合わせた学習コンテンツであり、決められたカリキュラム(時間割)に則って開設される。講座は、1又は複数の単元より構成されており、さらにその単元には、1又は複数の課題が設定されている。また、講座は、学習目的、又は、対象となる学習者Sの年齢若しくは知識レベル等に応じて開設される。講座の一例としては、小学生等のプログラミング初心者を対象とした「はじめてのプログラミング講座」等が挙げられる。 The "lecture" is a learning content that combines lectures or exercises related to programming education provided by the programming learning support system 1, and is established according to a predetermined curriculum (timetable). The course is composed of one or more units, and one or more tasks are set in the unit. In addition, the course is established according to the purpose of learning or the age or knowledge level of the target learner S. As an example of the course, there is a "first programming course" for elementary school students and other programming beginners.

「課題」とは、プログラミングに関する講義又は自習用コンテンツの内容であり、具体的には、指定されたプログラミングに関する講義、演習問題、自習用の練習内容等である。
課題の具体例としては、あるキャラクターを画面上に表示し且つ所定の移動経路で動かすプログラミング(以下、キャラクター移動プログラミング)、及び、所定の図形を描画するプログラミング(以下、図形描画プログラミング)、及び、関数等の数式をグラフ化するプログラミング(以下、数式グラフ化プログラミング)等が挙げられる。また、一つの課題が複数の小課題を含んでいてもよい。例えば、上記の図形描画プログラミングに、小課題として、三角形を描くプログラミング、直角三角形を描くプログラミング、星形を描くプログラミングが含まれていてもよい。
The "task" is the content of a lecture or self-study content related to programming, and specifically, a designated lecture related to programming, an exercise, a practice content for self-study, or the like.
Specific examples of the tasks include programming to display a certain character on the screen and move it in a predetermined movement path (hereinafter, character movement programming), programming to draw a predetermined figure (hereinafter, figure drawing programming), and Examples include programming for graphing mathematical formulas such as functions (hereinafter referred to as mathematical formula graphing programming). Moreover, one task may include a plurality of subtasks. For example, the above-mentioned graphic drawing programming may include programming for drawing a triangle, programming for drawing a right triangle, and programming for drawing a star as subtasks.

「確認者」とは、プログラミング学習支援システム1の機能を享受する者であり、プログラミング学習支援システム1によって提供されるプログラミング教育に関する講座おいて教える側の立場の者、すなわち、教員、教師、講師、教官、指導員及びチューター等をいう。また、これらに限らず、プログラミング技術を直接教えることはなくても学習者Sを管理する立場の者も含む。さらに、学生同士が問題を出し合うような場合では、問題を解く側が学習者Sとなり、問題を出して解答を確認する側が確認者Tになる。 The "confirmer" is a person who enjoys the functions of the programming learning support system 1 and is a person who teaches in the course on programming education provided by the programming learning support system 1, that is, a teacher, a teacher, and a lecturer. , Instructors, instructors, tutors, etc. Further, not limited to these, a person who manages the learner S without directly teaching the programming technique is also included. Further, when students exchange problems with each other, the side that solves the problem is the learner S, and the side that issues the problem and confirms the answer is the confirmer T.

「ネットワーク」とは、第一端末10と第二端末30とをデータ通信が可能な状態で接続するものであればよい。有線であるか無線であるかは問わず、インターネット、3G、4G、5G、LTE、場合によっては社内イントラネットや社内LAN等であってもよい。 The "network" may be any one that connects the first terminal 10 and the second terminal 30 in a state in which data communication is possible. Regardless of whether it is wired or wireless, it may be the Internet, 3G, 4G, 5G, LTE, and in some cases, an in-house intranet, an in-house LAN, or the like.

第一端末10は、プログラムコードの編集及び実行が可能であり、且つ、データの送受信が可能なコンピュータである。学習者Sは、この第一端末10を操作することにより、プログラムコードの編集、実行、及び実行結果の確認が可能である。第一端末10としては、例えば、一般的な汎用パソコン、タブレット、スマートフォン、携帯情報端末及びデジタルテレビ等が利用可能である。
なお、図1では、3台の第一端末10を例示しているが、プログラミング学習支援システム1に接続された第一端末10の数は、1台又は2台であってもよいし、さらに多くの数であってもよい。
The first terminal 10 is a computer capable of editing and executing a program code and transmitting and receiving data. The learner S can edit, execute, and confirm the execution result of the program code by operating the first terminal 10. As the first terminal 10, for example, a general-purpose personal computer, tablet, smartphone, mobile information terminal, digital television, or the like can be used.
Although three first terminals 10 are illustrated in FIG. 1, the number of first terminals 10 connected to the programming learning support system 1 may be one or two, and further. It may be a large number.

第二端末30は、プログラムコードの編集及び実行が可能であり、且つ、データの送受信が可能なコンピュータである。確認者Tは、この第二端末30を操作することにより、プログラムコードの編集、実行及び実行結果の確認が可能である。第二端末30としては、第一端末10と同様、例えば、一般的な汎用パソコン、タブレット、スマートフォン、携帯情報端末及びデジタルテレビ等が利用可能である。
なお、図1では、第二端末30は1台のみであるが、プログラミング学習支援システム1に接続された第二端末30の数は、複数であってもよい。
The second terminal 30 is a computer capable of editing and executing a program code and transmitting and receiving data. The confirmer T can edit, execute, and confirm the execution result of the program code by operating the second terminal 30. As the second terminal 30, for example, a general-purpose personal computer, a tablet, a smartphone, a mobile information terminal, a digital television, or the like can be used as in the first terminal 10.
Although the number of the second terminals 30 is only one in FIG. 1, the number of the second terminals 30 connected to the programming learning support system 1 may be a plurality.

ここで、図2を参照して、第一端末10及び第二端末30のハードウェア構成について説明する。なお、本実施形態では、第一端末10と第二端末30とは概ね同様のハードウェア構成であることとし、以下では、第一端末10と第二端末30とを併せて説明する。 Here, the hardware configurations of the first terminal 10 and the second terminal 30 will be described with reference to FIG. In the present embodiment, the first terminal 10 and the second terminal 30 have substantially the same hardware configuration, and the first terminal 10 and the second terminal 30 will be described together below.

図2に示されるように、第一端末10及び第二端末30は、ハードウェア構成として、プロセッサ11,31、記憶装置12,32、通信用インターフェース(図2中、通信用I/Fと表記)13,33、入力装置14,34及び出力装置15,35を備える。 As shown in FIG. 2, the first terminal 10 and the second terminal 30 have a processor 11, 31, a storage device 12, 32, and a communication interface (referred to as a communication I / F in FIG. 2) as hardware configurations. ) 13, 33, input devices 14, 34 and output devices 15, 35 are provided.

プロセッサ11,31は、例えば中央処理装置(Central Processing Unit)、マイクロプロセッサ(Micro Processing Unit)、又はグラフィクスプロセッサ(Graphics Processing Unit)等を含み、記憶装置12,32に記憶されるプログラム又はデータに基づいて各種の演算処理を実行するとともに、第一端末10又は第二端末30の各部を制御する。そして、各種のプログラムがプロセッサ11,31に読み取られて実行されることにより、プログラミング学習支援システム1を構成する第一端末10又は第二端末30としての機能が発揮される。 The processors 11 and 31 include, for example, a central processing unit (Central Processing Unit), a microprocessor (Micro Processing Unit), a graphics processor (Graphics Processing Unit), and the like, and are based on programs or data stored in the storage devices 12 and 32. It executes various arithmetic processes and controls each part of the first terminal 10 or the second terminal 30. Then, by reading and executing various programs by the processors 11 and 31, the function as the first terminal 10 or the second terminal 30 constituting the programming learning support system 1 is exhibited.

記憶装置12,32は、例えばメモリ又は磁気ディスク装置を含み、各種のプログラム又はデータを記憶する。一例としては、記憶装置12,32には、プログラムコード及びプログラムコードの実行結果等に関するデータが記憶される。また、第二端末30の記憶装置32には、後述する学習者情報テーブルDのデータが記憶される。さらに、記憶装置12,32は、プロセッサ11,31のワークメモリとしても用いられる。なお、プロセッサ11,31には、フラッシュメモリ又は光学ディスク等の情報記憶媒体が含まれていてもよい。 The storage devices 12 and 32 include, for example, a memory or a magnetic disk device, and store various programs or data. As an example, the storage devices 12 and 32 store the program code and data related to the execution result of the program code. Further, the storage device 32 of the second terminal 30 stores the data of the learner information table D, which will be described later. Further, the storage devices 12 and 32 are also used as work memories of the processors 11 and 31. The processors 11 and 31 may include an information storage medium such as a flash memory or an optical disk.

通信用インターフェース13,33は、例えばネットワークインターフェースカード(NIC)等を含み、インターネットやイントラネット等の通信網を経由して、外部のコンピュータと通信する。 The communication interfaces 13 and 33 include, for example, a network interface card (NIC) and the like, and communicate with an external computer via a communication network such as the Internet or an intranet.

入力装置14,34は、学習者S又は確認者Tからの、プログラムコードの編集操作及びその他の各種指示操作を受け付けて、受け付けた操作の内容を示すデータを生成するデバイスである。一例としては、キーボード(仮想キーボードを含む)、マウス等のポインティングディバイス、タッチパネル、スキャナ及びマイク等が該当する。 The input devices 14 and 34 are devices that receive program code editing operations and various other instruction operations from the learner S or the confirmer T and generate data indicating the contents of the accepted operations. As an example, a keyboard (including a virtual keyboard), a pointing device such as a mouse, a touch panel, a scanner, a microphone, and the like are applicable.

出力装置15,35は、プログラムコード又はプログラムコードの実行結果等のデータを、学習者S又は確認者Tが認識できる形で出力するためのデバイスである。一例としては、ディスプレイ、スピーカー、プリンタ及びプロッタ等が該当する。また、ディスプレイは、入力装置と出力装置との機能を兼ね備えたタッチパネル式のディスプレイであってもよい。 The output devices 15 and 35 are devices for outputting data such as a program code or an execution result of the program code in a form that can be recognized by the learner S or the confirmer T. Examples include displays, speakers, printers, plotters and the like. Further, the display may be a touch panel type display having both functions of an input device and an output device.

<プログラミング学習支援システム1の機能>
次に、上記構成のプログラミング学習支援システム1に備えられる機能について説明する。
以下では、図に基づき、第一端末10と第二端末30のそれぞれに備えられる機能の詳細について説明する。
<Functions of programming learning support system 1>
Next, the functions provided in the programming learning support system 1 having the above configuration will be described.
Hereinafter, the details of the functions provided in each of the first terminal 10 and the second terminal 30 will be described with reference to the drawings.

<<第一端末10の機能>>
図3に示すように、第一端末10は、第一端末側操作受付部16、第一端末側表示部17、第一端末側実行部18、第一端末側記憶部19、第一端末側送信部20、第一端末側取得部21、第一端末側報知部22、第一端末側受信部23、第一端末側データ作成部24及び第一端末側判定部25を備える。
<< Functions of the first terminal 10 >>
As shown in FIG. 3, the first terminal 10 includes an operation reception unit 16 on the first terminal side, a display unit 17 on the first terminal side, an execution unit 18 on the first terminal side, a storage unit 19 on the first terminal side, and a storage unit on the first terminal side. It includes a transmission unit 20, a first terminal side acquisition unit 21, a first terminal side notification unit 22, a first terminal side reception unit 23, a first terminal side data creation unit 24, and a first terminal side determination unit 25.

第一端末10に備えられる上記の各部の機能は、記憶装置12に記憶されるプログラミング学習支援プログラムに従ってプロセッサ11が第一端末10の各部を動作させることにより実行される。すなわち、上記のプログラムに従ってプロセッサ11が第一端末10の各部を動作させることにより、本発明のプログラミング学習支援システム1が稼働する。
なお、上記のプログラムは、通信用インターフェース13によりネットワークN等の通信網を介して不図示のサーバ等から取得(ダウンロード)してもよいし、プログラムを記憶した記憶媒体から第一端末10が読み込んで取得することとしてもよい。
以下、上記の各部の機能の詳細について説明する。
The functions of the above-mentioned parts provided in the first terminal 10 are executed by the processor 11 operating each part of the first terminal 10 according to the programming learning support program stored in the storage device 12. That is, the programming learning support system 1 of the present invention operates by operating each part of the first terminal 10 by the processor 11 according to the above program.
The above program may be acquired (downloaded) from a server or the like (not shown) via a communication network such as network N by the communication interface 13, or may be read by the first terminal 10 from a storage medium in which the program is stored. You may get it with.
The details of the functions of the above parts will be described below.

[第一端末側操作受付部16]
第一端末側操作受付部16は、主にプロセッサ11及び入力装置14により実現され、学習者Sによる第一端末10に対する操作を受け付ける。ここでの操作には、プログラムコードの編集操作、プログラムコード若しくは第二プログラムコードの実行操作、編集したプログラムコードの提出操作及びデータ保存操作等を含む。プログラムコードの編集操作には、後述するコード入力用ブロック8(図8)の選択操作並びにカーソル9(図9)の移動操作及び位置指定操作等も含む。
[First terminal side operation reception unit 16]
The operation receiving unit 16 on the first terminal side is mainly realized by the processor 11 and the input device 14, and receives the operation on the first terminal 10 by the learner S. The operation here includes an operation of editing a program code, an operation of executing a program code or a second program code, an operation of submitting an edited program code, an operation of saving data, and the like. The program code editing operation includes a code input block 8 (FIG. 8) selection operation, a cursor 9 (FIG. 9) movement operation, a position designation operation, and the like, which will be described later.

「第二プログラムコード」とは、第二端末30から配信されるものであり、課題に対する正解又はヒントを示す模範となるプログラムコードをいう。第二プログラムコードは、学習者Sが編集したプログラムコードを確認者Tが修正したものであってもよいし、学習者Sが編集したプログラムコードを基とせずに確認者Tが最初から編集したものであってもよい。特に、学習者Sが編集したプログラムコードを基としない場合は、模範解答のような形式で事前に用意されているものであってもよい。 The "second program code" is distributed from the second terminal 30, and refers to a model program code that indicates a correct answer or a hint to the problem. The second program code may be a program code edited by the learner S modified by the confirmer T, or edited by the confirmer T from the beginning without being based on the program code edited by the learner S. It may be a thing. In particular, when it is not based on the program code edited by the learner S, it may be prepared in advance in a format such as a model answer.

「コード入力用ブロック」とは、プログラムコードの編集を補助する機能を有するGUIの一種であり、対応するコード文字列ごとに、学習者Sの理解を助けるための説明を加えて図形化したものである。詳細については、後述する。 The "code input block" is a type of GUI that has a function to assist the editing of the program code, and each corresponding code character string is graphicized by adding an explanation to help the learner S understand. Is. Details will be described later.

「コード文字列」とは、プログラミングコードを構成する一つの文(定義文、制御構文等)に相当する文字列であり、例えば、プログラミングコードにおける一つの単位コマンド(指示・命令)を表すものである。 A "code character string" is a character string corresponding to one sentence (definition sentence, control syntax, etc.) constituting the programming code, and represents, for example, one unit command (instruction / instruction) in the programming code. is there.

[第一端末側表示部17]
第一端末側表示部17は、主にプロセッサ11及び出力装置15により実現され、第一端末10の画面上に、プログラム編集画面2及びプログラム実行画面3等を表示させる。プログラム編集画面2とプログラム実行画面3とは、両画面を並べて表示させてもよいし、一方の画面上に他方の画面を重畳して表示させてもよいし、両画面を切り替え可能に表示させてもよい。
[Display unit 17 on the first terminal side]
The first terminal side display unit 17 is mainly realized by the processor 11 and the output device 15, and displays the program edit screen 2, the program execution screen 3, and the like on the screen of the first terminal 10. The program edit screen 2 and the program execution screen 3 may be displayed side by side, the other screen may be superimposed on one screen, or both screens may be displayed in a switchable manner. You may.

プログラム編集画面2は、プログラムコードを編集する画面であり、学習者Sが入力装置14を通じて編集したプログラムコード(厳密には、入力されたコード文字列等)を表示するために描画される。プログラムコード入力用のツールとしてコード入力用ブロック8又はカーソル9等を使用する場合は、プログラム編集画面2に、コード入力用ブロック8又はカーソル9を表示させる。 The program edit screen 2 is a screen for editing the program code, and is drawn to display the program code (strictly speaking, the input code character string or the like) edited by the learner S through the input device 14. When the code input block 8 or the cursor 9 or the like is used as the program code input tool, the code input block 8 or the cursor 9 is displayed on the program edit screen 2.

プログラム実行画面3は、プログラムコード又は第二プログラムコードの実行結果が映像又は画像等である場合に、プログラムコード又は第二プログラムコードの実行結果を表示する画面である。プログラム実行画面3では、スピーカー等からの音出力と同期させて、プログラムコード又は第二プログラムコードの実行結果である映像又は画像を表示させることもできる。 The program execution screen 3 is a screen for displaying the execution result of the program code or the second program code when the execution result of the program code or the second program code is a video, an image, or the like. On the program execution screen 3, it is also possible to display a video or an image which is the execution result of the program code or the second program code in synchronization with the sound output from the speaker or the like.

[第一端末側実行部18]
第一端末側実行部18は、主にプロセッサ11及び記憶装置12により実現され、プログラムコード又は第二プログラムコードの実行処理を行う。
[Execution unit 18 on the first terminal side]
The first terminal side execution unit 18 is mainly realized by the processor 11 and the storage device 12, and performs execution processing of the program code or the second program code.

[第一端末側記憶部19]
第一端末側記憶部19は、主にプロセッサ11及び記憶装置12により実現され、プログラムコード、第二プログラムコード、プログラムコードの実行結果、及び、第二プログラムコードの実行結果等を示すデータを所定の記憶条件に基づいて記憶する。記憶されるプログラムコードは、完成プログラムコードであってもよいし、未完成プログラムコードであってもよい。また、各データは、履歴を残して別データとして記憶してもよいし、最新のデータを記憶するように上書きして記憶してもよい。
[First terminal side storage unit 19]
The first terminal side storage unit 19 is mainly realized by the processor 11 and the storage device 12, and determines data indicating a program code, a second program code, an execution result of the program code, an execution result of the second program code, and the like. It is memorized based on the storage condition of. The stored program code may be a completed program code or an unfinished program code. Further, each data may be stored as a separate data by leaving a history, or may be overwritten and stored so as to store the latest data.

「所定の記憶条件」とは、各データを記憶する際に必要な条件を示し、例えば、学習者Sによりデータ保存操作等の特定の操作が行われた場合、プログラムコード若しくは第二プログラムコードが実行された場合、プログラムコード若しくは第二プログラムコードの実行を試みたがエラーで実行できなかった場合、又は、学習者Sが第一端末10上でプログラミング学習支援システム1による学習を終了した場合(ログアウトした場合)等をいう。また、例えば、プログラムコードの編集期間中において所定の時間間隔で自動的に記憶することとしてもよい。 The "predetermined storage condition" indicates a condition necessary for storing each data. For example, when a specific operation such as a data saving operation is performed by the learner S, the program code or the second program code may be used. When it is executed, when the program code or the second program code is tried to be executed but cannot be executed due to an error, or when the learner S finishes learning by the programming learning support system 1 on the first terminal 10 ( When you log out) etc. Further, for example, it may be automatically stored at a predetermined time interval during the editing period of the program code.

「完成プログラムコード」とは、最終的な完成状態(課題におけるすべての問題を解答できた状態)に至っている実行可能な段階まで編集されたプログラムコードをいう。ただし、そのプログラムコードの内容の正誤は問わない。すなわち、実行可能ではあるが、課題に対する解答としては間違っているプログラムコードが含まれる場合もあり得る。 "Completed program code" means a program code that has been edited to an executable stage that has reached the final completed state (the state in which all the problems in the task have been answered). However, it does not matter whether the content of the program code is correct or incorrect. That is, it may contain program code that is feasible but incorrect as an answer to the task.

「未完成プログラムコード」とは、完成プログラムコードに対し、学習者Sが編集途中のプログラムコードをいう。未完成プログラムコードは、最終的な完成状態に至っていないプログラムコードをいい、実行可能な段階まで編集されたプログラムコードでもよいし、コード文字列の入力が途中段階であるために実行できない状態のプログラムコードであってもよい。 The “unfinished program code” means a program code that the learner S is editing with respect to the finished program code. The unfinished program code refers to a program code that has not reached the final completed state, and may be a program code that has been edited to an executable stage, or a program that cannot be executed because the code character string is being input in the middle stage. It may be a code.

「最新のデータ」とは、各課題において最後に編集されたプログラムコード、各課題において最後に実行されたプログラムコード若しくは第二プログラムコード、又は、各課題において最後に実行されたプログラムコード若しくは第二プログラムコードの実行結果等をいう。 The "latest data" is the program code that was last edited in each task, the program code that was last executed in each task or the second program code, or the program code that was last executed in each task or the second program code. It refers to the execution result of the program code.

[第一端末側送信部20]
第一端末側送信部20は、主にプロセッサ11、記憶装置12及び通信用インターフェース13により実現され、プログラムコード若しくはプログラムコードの実行結果を示すデータ(以下「第一データ」という)、更新データ、及び、学習開始連絡データ等の各種データを第二端末30に向けて送信する。
[First terminal side transmitter 20]
The first terminal-side transmitter 20 is mainly realized by the processor 11, the storage device 12, and the communication interface 13, and is a program code or data indicating the execution result of the program code (hereinafter referred to as "first data"), update data, and the like. In addition, various data such as learning start communication data are transmitted to the second terminal 30.

具体的には、第一端末側送信部20は、後述する第一端末側受信部23が要求データを受信したことをトリガーとして、第一端末側記憶部19に記憶されている第一データを読み出し、その読み出したデータを第二端末30に向けて自動的に送信する。 Specifically, the first terminal side transmitting unit 20 uses the first data stored in the first terminal side storage unit 19 as a trigger when the first terminal side receiving unit 23, which will be described later, receives the request data. It is read and the read data is automatically transmitted to the second terminal 30.

「更新データ」とは、後述する第一端末側データ作成部24によって作成されるデータであって、プログラムコードの実行結果等が所定の更新条件を満たしたことを第二端末30に通知するデータである。更新データの内容の一例としては、プログラムコードの実行回数、プログラムコードを実行したがエラーが発生して実行できなかった回数、及び、学習者Sから確認者Tに対して、編集したプログラムコードの確認依頼等の問い合わせ等を行いたいことを示す内容等を含む。 The "update data" is data created by the data creation unit 24 on the first terminal side, which will be described later, and is data for notifying the second terminal 30 that the execution result of the program code or the like satisfies a predetermined update condition. Is. Examples of the contents of the update data include the number of times the program code is executed, the number of times the program code is executed but cannot be executed due to an error, and the edited program code from the learner S to the confirmer T. Includes content that indicates that you want to make inquiries such as confirmation requests.

「所定の更新条件」とは、更新データが作成又は送信される際に必要な条件を示し、例えば、プログラムコードの実行結果等を基に判断される条件をいう。具体的には、プログラムコードが実行された場合(課題ごとに最初に実行された場合を含む)、プログラムコードの実行回数が予め設定された実行回数に到達した場合、課題とされるプログラムコードの編集が所定の段階に進み、その時点でのプログラムコードの実行結果が基準を満たす場合、プログラムコードの実行を試みたがエラーが発生して実行できなかった場合、学習者Sから確認者Tに対して、編集したプログラムコードの確認依頼等の問い合わせ等の特定の操作が行われた場合、又は、学習者Sが第一端末10上でプログラミング学習支援システム1による学習を終了した場合等を含む。 The "predetermined update condition" indicates a condition necessary for creating or transmitting update data, and means, for example, a condition determined based on an execution result of a program code or the like. Specifically, when the program code is executed (including the case where it is executed first for each issue), when the number of executions of the program code reaches the preset number of executions, the program code to be the issue If the editing proceeds to a predetermined stage and the execution result of the program code at that time meets the criteria, or if the program code is executed but an error occurs and the program code cannot be executed, the learner S changes to the confirmer T. On the other hand, this includes the case where a specific operation such as an inquiry such as a confirmation request of the edited program code is performed, or the case where the learner S finishes learning by the programming learning support system 1 on the first terminal 10. ..

「学習開始連絡データ」とは、第一端末側操作受付部16が学習者Sによる第一端末10に対する所定の操作を受け付け、課題に参加するために学習者Sがログインしたこと、又は、学習者Sがプログラムコードの編集を開始したこと等を検知したときに、後述する第一端末側データ作成部24によって作成されるデータであって、学習者Sがプログラミング学習を開始したことを第二端末30に通知するデータである。 The "learning start communication data" means that the operation reception unit 16 on the first terminal side receives a predetermined operation on the first terminal 10 by the learner S, and the learner S logs in to participate in the task, or learning. It is the data created by the first terminal side data creation unit 24, which will be described later, when it is detected that the learner S has started editing the program code, and the second is that the learner S has started the programming learning. This is the data to be notified to the terminal 30.

「要求データ」とは、第二端末30が第一端末10に対して、第一データの送信を要求するデータである。 The "request data" is data in which the second terminal 30 requests the first terminal 10 to transmit the first data.

[第一端末側取得部21]
第一端末側取得部21は、主にプロセッサ11、記憶装置12及び通信用インターフェース13により実現され、第二プログラムコード又は第二プログラムコードの実行結果を示す第二データ(以下、単に「第二データ」という)に基づく第二情報を取得する。
[First terminal side acquisition unit 21]
The first terminal side acquisition unit 21 is mainly realized by the processor 11, the storage device 12, and the communication interface 13, and is the second data indicating the execution result of the second program code or the second program code (hereinafter, simply "second". Obtain second information based on "data").

「第二情報」とは、その第二データを展開して特定される第二プログラムコード若しくは第二プログラムコードの実行結果、又は、これらに対して画像処理を施すことで得られる情報等を含む。ここで、画像処理は、第二プログラムコード又は第二プログラムコードの実行結果を学習者Sにとってより見えやすくなるように加工する処理等が該当する。 The "second information" includes the execution result of the second program code or the second program code specified by expanding the second data, or the information obtained by performing image processing on these. .. Here, the image processing corresponds to a process of processing the second program code or the execution result of the second program code so that the learner S can see it more easily.

「取得」とは、第二データを受信して展開することで第二データが示す情報(第二情報)を入手すること、又は、受信したデータを用いたデータ処理を実施して、第一端末10側で利用できる情報(第二情報)を入手することを意味する。また、受信した第二データが第二プログラムコードを示すデータである場合には、第二プログラムコードを実行することも「取得」に該当する。 "Acquisition" means to obtain the information (second information) indicated by the second data by receiving and expanding the second data, or to perform data processing using the received data, and the first It means to obtain the information (second information) that can be used on the terminal 10 side. Further, when the received second data is data indicating the second program code, executing the second program code also corresponds to "acquisition".

[第一端末側報知部22]
第一端末側報知部22は、主にプロセッサ11、記憶装置12及び出力装置15により実現され、第一端末側取得部21で取得した第二情報を学習者Sが認識可能な状態で報知する。また、第一端末側実行部18により実行したプログラムコードの実行結果を学習者Sが認識可能な状態で報知する。
[First terminal side notification unit 22]
The first terminal side notification unit 22 is mainly realized by the processor 11, the storage device 12, and the output device 15, and notifies the second information acquired by the first terminal side acquisition unit 21 in a state in which the learner S can recognize it. .. In addition, the learner S notifies the execution result of the program code executed by the execution unit 18 on the first terminal side in a recognizable state.

「報知」とは、第二プログラムコードを表示すること、又は、プログラムコード若しくは第二プログラムコードの実行結果である映像、画像若しくは音等を出力することをいう。例えば、プログラムコードの実行結果が映像又は画像等の場合は、ディスプレイ表示(プログラム実行画面3による表示)が報知に該当する。一方、プログラムが音楽再生用プログラム等であって、プログラムコードの実行結果が音等の場合は、スピーカー出力が報知に該当する。 "Notification" means displaying the second program code or outputting the video, image, sound, or the like which is the execution result of the program code or the second program code. For example, when the execution result of the program code is a video, an image, or the like, the display display (display on the program execution screen 3) corresponds to the notification. On the other hand, when the program is a music playback program or the like and the execution result of the program code is sound or the like, the speaker output corresponds to the notification.

本実施形態において、第一端末側報知部22によって報知される第二情報は、第二プログラムコードの実行結果のみであって、第二プログラムコード自体は報知しないこととしてもよい。ここで、第二情報として第二プログラムコード自体を報知しない具体的な方法としては、例えば、後述する第二端末側送信部40から第二プログラムコードを示す第二データ自体を送信しないこととしてもよいし、第二端末側送信部40から第一端末10に向けて第二データを送信する際、第二プログラムコードを示す第二データに、学習者Sに対する可視又は不可視の属性を付与することとしてもよい。 In the present embodiment, the second information notified by the first terminal side notification unit 22 is only the execution result of the second program code, and the second program code itself may not be notified. Here, as a specific method of not notifying the second program code itself as the second information, for example, the second data itself indicating the second program code may not be transmitted from the second terminal side transmission unit 40 described later. Alternatively, when the second data is transmitted from the second terminal side transmission unit 40 to the first terminal 10, the second data indicating the second program code is given a visible or invisible attribute to the learner S. May be.

なお、第二プログラムコードを画面に表示する場合、又は、プログラムコード若しくは第二プログラムコードの実行結果が画面上に表示可能な映像若しくは画像である場合等は、第一端末側報知部22は、その機能において、第一端末側表示部17と一部重複する場合もある。このように、報知する内容が、画面上に表示するものである場合、プログラム編集画面2と並べて表示させてもよいし、プログラム編集画面2と重畳して表示させてもよいし、プログラム編集画面2と切り替え可能に表示させてもよい。 When the second program code is displayed on the screen, or when the program code or the execution result of the second program code is a video or image that can be displayed on the screen, the first terminal side notification unit 22 may display the second program code. In that function, it may partially overlap with the display unit 17 on the first terminal side. In this way, when the content to be notified is to be displayed on the screen, it may be displayed side by side with the program edit screen 2, may be displayed superimposed on the program edit screen 2, or may be displayed on the program edit screen. It may be displayed so as to be switchable with 2.

[第一端末側受信部23]
第一端末側受信部23は、主にプロセッサ11、記憶装置12及び通信用インターフェース13により実現され、要求データを受信する。
[Receiver 23 on the first terminal side]
The first terminal side receiving unit 23 is mainly realized by the processor 11, the storage device 12, and the communication interface 13, and receives the request data.

[第一端末側データ作成部24]
第一端末側データ作成部24は、主にプロセッサ11、記憶装置12及び入力装置14により実現され、更新データ及び学習開始連絡データを作成する。なお、更新データは、上述した所定の更新条件を満たしたときに自動的に作成される。また、学習開始連絡データは、上述したように、第一端末側操作受付部16が学習者Sによる第一端末10に対する操作を受け付けたときに作成される。
[Data creation unit 24 on the first terminal side]
The first terminal side data creation unit 24 is mainly realized by the processor 11, the storage device 12, and the input device 14, and creates update data and learning start communication data. The update data is automatically created when the above-mentioned predetermined update conditions are satisfied. Further, as described above, the learning start communication data is created when the operation reception unit 16 on the first terminal side receives an operation on the first terminal 10 by the learner S.

[第一端末側判定部25]
第一端末側判定部25は、主にプロセッサ11及び記憶装置12により実現され、第一端末側記憶部19が各データを記憶する際に、上述の所定の記憶条件を満たしたか否かを判定する。また、更新データを第一端末側送信部20が送信する際、又は、第一端末側データ作成部24が作成する際に、上述の所定の更新条件を満たしたか判定する。
[First terminal side determination unit 25]
The first terminal side determination unit 25 is mainly realized by the processor 11 and the storage device 12, and when the first terminal side storage unit 19 stores each data, it determines whether or not the above-mentioned predetermined storage conditions are satisfied. To do. Further, when the update data is transmitted by the first terminal side transmission unit 20 or when the first terminal side data creation unit 24 creates the update data, it is determined whether or not the above-mentioned predetermined update conditions are satisfied.

<<第二端末30の機能>>
図3に示すように、第二端末30は、第二端末側操作受付部36、第二端末側表示部37、第二端末側実行部38、第二端末側記憶部39、第二端末側送信部40、第二端末側取得部41、第二端末側報知部42、第二端末側受信部43、第二端末側データ作成部44、第二端末側管理部45、第二端末側選択部46及び第二端末側判定部47を備える。
<< Functions of the second terminal 30 >>
As shown in FIG. 3, the second terminal 30 includes an operation reception unit 36 on the second terminal side, a display unit 37 on the second terminal side, an execution unit 38 on the second terminal side, a storage unit 39 on the second terminal side, and a second terminal side. Transmission unit 40, second terminal side acquisition unit 41, second terminal side notification unit 42, second terminal side reception unit 43, second terminal side data creation unit 44, second terminal side management unit 45, second terminal side selection A unit 46 and a second terminal side determination unit 47 are provided.

第二端末30に備えられる上記の各部の機能は、記憶装置32に記憶されるプログラミング学習支援プログラムに従ってプロセッサ31が第二端末30の各部を動作させることにより実行される。すなわち、上記のプログラムに従ってプロセッサ31が第二端末30の各部を動作させることにより、本発明のプログラミング学習支援システム1が稼働する。
なお、上記のプログラムは、通信用インターフェース33によりネットワークN等の通信網を介して不図示のサーバ等から取得してもよいし、プログラムを記憶した記憶媒体から第二端末30が読み込んで取得することとしてもよい。
以下、上記の各部の機能の詳細について説明する。
The functions of the above-mentioned parts provided in the second terminal 30 are executed by the processor 31 operating each part of the second terminal 30 according to the programming learning support program stored in the storage device 32. That is, the programming learning support system 1 of the present invention operates by operating each part of the second terminal 30 by the processor 31 according to the above program.
The above program may be acquired from a server or the like (not shown) via a communication network such as network N by the communication interface 33, or may be read and acquired by the second terminal 30 from a storage medium storing the program. It may be that.
The details of the functions of the above parts will be described below.

[第二端末側操作受付部36]
第二端末側操作受付部36は、主にプロセッサ31及び入力装置34により実現され、確認者Tによる第二端末30に対する操作を受け付ける。ここでの操作には、第二プログラムコードの編集操作、プログラムコード若しくは第二プログラムコードの実行操作、及び、編集した第二プログラムコードの送信操作、講座開設操作、課題選択操作、要求データ作成操作、第一端末選択操作及びデータ保存操作等を含む。
[Second terminal side operation reception unit 36]
The operation receiving unit 36 on the second terminal side is mainly realized by the processor 31 and the input device 34, and receives the operation on the second terminal 30 by the confirmer T. The operations here include an operation of editing the second program code, an operation of executing the program code or the second program code, an operation of transmitting the edited second program code, an operation of opening a course, an operation of selecting an assignment, and an operation of creating request data. , First terminal selection operation, data storage operation, etc.

[第二端末側表示部37]
第二端末側表示部37は、主にプロセッサ31及び出力装置35により実現され、第二端末30の画面上に、プログラム編集画面52、プログラム実行画面53、課題選択画面56及び学習者管理画面57等を表示させる。プログラム編集画面52とプログラム実行画面53とは、両画面を並べて表示させてもよいし、一方の画面上に他方の画面を重畳して表示させてもよいし、両画面を切り替え可能に表示させてもよい。
[Second terminal side display unit 37]
The second terminal side display unit 37 is mainly realized by the processor 31 and the output device 35, and the program edit screen 52, the program execution screen 53, the task selection screen 56, and the learner management screen 57 are displayed on the screen of the second terminal 30. Etc. are displayed. The program edit screen 52 and the program execution screen 53 may be displayed side by side, the other screen may be superimposed on one screen, or both screens may be displayed in a switchable manner. You may.

プログラム編集画面52は、第二プログラムコードを編集する画面である。ここでの編集には、学習者Sが編集したプログラムコードを基に第二プログラムコードとして修正する場合、基となるプログラムコードがなく第二プログラムコードを一から記述する場合、のいずれの場合も含む。 The program edit screen 52 is a screen for editing the second program code. The editing here is either the case of modifying as the second program code based on the program code edited by the learner S, or the case of writing the second program code from scratch without the base program code. Including.

プログラム実行画面53は、プログラムコード又は第二プログラムコードの実行結果が映像又は画像等である場合に、プログラムコード又は第二プログラムコードの実行結果を表示する画面である。プログラム実行画面53では、スピーカー等からの音出力と同期させて、プログラムコード又は第二プログラムコードの実行結果である映像又は画像を表示させることもできる。 The program execution screen 53 is a screen for displaying the execution result of the program code or the second program code when the execution result of the program code or the second program code is a video, an image, or the like. On the program execution screen 53, it is also possible to display a video or an image which is the execution result of the program code or the second program code in synchronization with the sound output from the speaker or the like.

[第二端末側実行部38]
第二端末側実行部38は、主にプロセッサ31及び記憶装置32により実現され、プログラムコード又は第二プログラムコードの実行処理を行う。
[Second terminal side execution unit 38]
The second terminal side execution unit 38 is mainly realized by the processor 31 and the storage device 32, and executes the program code or the second program code execution process.

[第二端末側記憶部39]
第二端末側記憶部39は、主にプロセッサ31及び記憶装置32により実現され、プログラムコード、第二プログラムコード、プログラムコードの実行結果、第二プログラムコードの実行結果及び学習者情報等を示すデータを所定の記憶条件に基づいて記憶する。この場合の「所定の記憶条件」は、第一端末10と第二端末30との間で行われる操作の内容、及び操作の実施者に違いがあるものの、前述した第一端末側記憶部19にデータを記録する際の条件と概ね共通する。
第二端末側記憶部39に記憶されるプログラムコードは、完成したプログラムコードであってもよいし、未完成のプログラムコードであってもよい。また、各データは、履歴を残して別データとして記憶してもよいし、最新のデータを記憶するように上書きして記憶してもよい。
[Second terminal side storage unit 39]
The second terminal side storage unit 39 is mainly realized by the processor 31 and the storage device 32, and is data showing a program code, a second program code, a program code execution result, a second program code execution result, learner information, and the like. Is stored based on a predetermined storage condition. The "predetermined storage condition" in this case is the above-mentioned first terminal side storage unit 19 although there are differences in the content of the operation performed between the first terminal 10 and the second terminal 30 and the performer of the operation. It is almost the same as the conditions for recording data in.
The program code stored in the second terminal side storage unit 39 may be a completed program code or an unfinished program code. Further, each data may be stored as a separate data by leaving a history, or may be overwritten and stored so as to store the latest data.

図4に示されるように、学習者情報を示す学習者情報テーブルDには、学習者S(S1〜SN)の会員番号に関連付けて、氏名、学習状況、並びに、現在の単元、現在の課題、現在の課題再生数、現在の成否、実行エラー数、問い合わせ数、直近の成否数、及び、成否率等の進捗状況に関する情報等が記憶される。 As shown in FIG. 4, the learner information table D showing the learner information includes the name, learning status, current unit, and current task in association with the member number of the learner S (S1 to SN). , The current number of tasks played, the current success / failure, the number of execution errors, the number of inquiries, the latest success / failure number, and information on the progress status such as the success / failure rate are stored.

「学習状況」とは、学習者Sの学習状況、すなわち、学習者Sが、現在実施されている課題に参加して学習を開始しているか否かを判別するための項目である。 The "learning situation" is an item for determining the learning situation of the learner S, that is, whether or not the learner S participates in the task currently being performed and starts learning.

「現在の課題再生数」とは、学習者Sが課題に応じて編集したプログラムコードの実行回数を示す数値である。 The "current task playback count" is a numerical value indicating the number of executions of the program code edited by the learner S according to the task.

「現在の成否」とは、学習者Sの課題に対する現在の正誤状況を示す項目である。 The "current success / failure" is an item indicating the current correct / incorrect status of the learner S's task.

「実行エラー数」とは、学習者Sが、プログラムコード又は第二プログラムコードの実行を試みたが、エラーが発生して実行できなかった回数を示す項目である。 The "execution error number" is an item indicating the number of times that the learner S tried to execute the program code or the second program code, but an error occurred and could not be executed.

「問い合わせ数」とは、学習者Sから確認者Tに対して、編集したプログラムコードの確認依頼等の問い合わせを行った回数を示す項目である。 The “number of inquiries” is an item indicating the number of inquiries from the learner S to the confirmer T, such as a confirmation request for the edited program code.

「成否率」とは、学習者Sがこれまでに実施した課題に対する全解答のうち、正解した解答と不正解の解答との比率を示す項目である。 The "success / failure rate" is an item indicating the ratio of the correct answer to the incorrect answer among all the answers to the tasks that the learner S has performed so far.

「進捗状況」とは、学習者情報に含まれる現在の単元、現在の課題、現在の課題再生数、及び、現在の成否等の情報を総合したものであり、課題ごとにみれば、学習者Sがその課題に対して正解しているか、又はその課題に対するプログラムコードを編集して何回実行したか等を示すものである。また、講座単位でみれば、学習者Sが講座内のどの単元のどの課題まで進んでいるか等を示すものである。 The "progress status" is a combination of information such as the current unit, the current task, the current number of times the task has been played, and the current success or failure contained in the learner information. It indicates whether S answers the task correctly, or how many times the program code for the task is edited and executed. In addition, when viewed in units of courses, it indicates which task of which unit in the course the learner S has progressed to.

[第二端末側送信部40]
第二端末側送信部40は、主にプロセッサ31、記憶装置32及び通信用インターフェース33により実現され、第二データ、及び、要求データ等の各種データを第一端末10に向けて送信する。
[Second terminal side transmitter 40]
The second terminal side transmission unit 40 is mainly realized by the processor 31, the storage device 32, and the communication interface 33, and transmits the second data and various data such as request data to the first terminal 10.

このとき、学習者Sの編集したプログラムコードを基に修正して、第二プログラムコードを編集した場合、その第二プログラムコード又はその第二プログラムコードの実行結果を示す第二データは、元のプログラムコードを編集した学習者Sの操作する第一端末10に向けて送信する。 At this time, when the second program code is edited by modifying it based on the program code edited by the learner S, the second program code or the second data indicating the execution result of the second program code is the original. The program code is transmitted to the first terminal 10 operated by the learner S who edited the program code.

また、プログラムコード中にエラーが有る場合は、そのエラーが有るプログラムコードを編集した学習者Sの操作する第一端末10に向けて、その第二プログラムコード又はその第二プログラムコードの実行結果を示す第二データを送信することとしてもよい。なお、エラー判定は、確認者Tが画面上でプログラムコードを確認して行ってもよいし、後述する第二端末側判定部47により自動的に判定してもよい。 If there is an error in the program code, the execution result of the second program code or the second program code is sent to the first terminal 10 operated by the learner S who edited the program code having the error. The second data shown may be transmitted. The error determination may be performed by the confirmer T confirming the program code on the screen, or may be automatically determined by the second terminal side determination unit 47 described later.

[第二端末側取得部41]
第二端末側取得部41は、主にプロセッサ31、記憶装置32及び通信用インターフェース33により実現され、第一端末側送信部20が送信した第一データに基づく情報を取得する。
[Second terminal side acquisition unit 41]
The second terminal-side acquisition unit 41 is mainly realized by the processor 31, the storage device 32, and the communication interface 33, and acquires information based on the first data transmitted by the first terminal-side transmission unit 20.

「情報」とは、そのデータを展開して特定されるプログラムコード若しくはプログラムコードの実行結果、又はこれらに対して画像処理を施すことで得られる情報等を含む。ここで、画像処理は、プログラムコード若しくはプログラムコードの実行結果を確認者Tにとってより見え易くなるように加工する処理、又は、プログラムコードにおけるエラー(誤入力箇所)の有無を判定してエラーが見つかった場合にそのエラー箇所をハイライト表示する処理等が該当する。 The "information" includes a program code specified by expanding the data, an execution result of the program code, or information obtained by performing image processing on these. Here, in the image processing, the program code or the execution result of the program code is processed so as to be more visible to the confirmer T, or an error is found by determining the presence or absence of an error (erroneous input location) in the program code. If this happens, the process of highlighting the error location is applicable.

「取得」とは、第一データを受信して展開することで第一データが示す情報を入手すること、又は、受信したデータを用いたデータ処理を実施して、第二端末30側で利用できる情報を入手することを意味する。また、受信したデータがプログラムコードである場合、そのプログラムコードを実行することも「取得」に該当する。 "Acquisition" means to obtain the information indicated by the first data by receiving and expanding the first data, or to perform data processing using the received data and use it on the second terminal 30 side. It means getting the information you can. Further, when the received data is a program code, executing the program code also corresponds to "acquisition".

第二端末側取得部41が取得する情報は、未完成プログラムコードを示すデータに基づく情報であってもよい。また、第一データのうち最新のデータに基づく情報であってもよい。 The information acquired by the acquisition unit 41 on the second terminal side may be information based on data indicating an unfinished program code. Further, the information may be based on the latest data among the first data.

「最新のデータ」とは、各課題において最後に編集されたプログラムコード、各課題において最後に実行されたプログラムコード、又は、各課題において最後に実行されたプログラムコードの実行結果等の他、ここでは、第一端末側記憶部19に一番新しく記憶されたデータも含む。 The "latest data" is the program code that was last edited in each task, the program code that was last executed in each task, the execution result of the program code that was last executed in each task, and so on. Then, the data most recently stored in the storage unit 19 on the first terminal side is also included.

また、第二端末側取得部41は、後述する第二端末側選択部46により選択された1又は複数の第一端末10からプログラムコード又はその実行結果を示すデータに基づく情報を取得することとしてもよい。 Further, the second terminal side acquisition unit 41 acquires information based on the program code or data indicating the execution result thereof from one or a plurality of first terminals 10 selected by the second terminal side selection unit 46, which will be described later. May be good.

[第二端末側報知部42]
第二端末側報知部42は、主にプロセッサ31、記憶装置32及び出力装置35により実現され、第二端末側取得部41で取得した情報(プログラムコード又はプログラムコードの実行結果)を確認者Tが認識可能な状態で報知する。また、第二端末側実行部38により実行したプログラムコード又は第二プログラムコードの実行結果を確認者Tが認識可能な状態で報知する。
[Second terminal side notification unit 42]
The second terminal side notification unit 42 is mainly realized by the processor 31, the storage device 32, and the output device 35, and confirms the information (program code or execution result of the program code) acquired by the second terminal side acquisition unit 41. Is notified in a recognizable state. Further, the program code executed by the execution unit 38 on the second terminal side or the execution result of the second program code is notified in a state in which the confirmer T can recognize it.

「報知」とは、プログラムコードを表示すること、又は、プログラムコード若しくは第二プログラムコードの実行結果である映像、画像若しくは音等を出力することをいう。例えば、プログラムコードの実行結果が映像又は画像等の場合は、ディスプレイ表示(プログラム実行画面53による表示)が報知に該当する。一方、プログラムが音楽再生用プログラム等であって、プログラムコードの実行結果が音等の場合は、スピーカー出力が報知に該当する。 "Notification" means displaying a program code or outputting a video, an image, a sound, or the like which is the execution result of the program code or the second program code. For example, when the execution result of the program code is a video, an image, or the like, the display display (display by the program execution screen 53) corresponds to the notification. On the other hand, when the program is a music playback program or the like and the execution result of the program code is sound or the like, the speaker output corresponds to the notification.

また、第二端末側報知部42は、確認者Tに学習者Sの学習者情報を報知することもでき、例えば、学習者Sの学習状況及び進捗状況に応じた表示オブジェクトを表示する。ここで、表示オブジェクトとは、学習者Sの学習状況及び進捗状況を報知するために表示される図形、文字列若しくはこれらの組み合わせであり、例えば、学習者Sごとに表示されるアイコン等が該当する。また、第二端末側報知部42は、学習者Sの学習状況又は進捗状況に変化が生じたときに、その表示オブジェクトの表示態様(具体的には、表示オブジェクトの色及び点滅の有無等)を切り替えることができる。 Further, the second terminal side notification unit 42 can also notify the learner T of the learner information of the learner S, and display, for example, a display object according to the learning status and the progress status of the learner S. Here, the display object is a figure, a character string, or a combination thereof displayed for notifying the learning status and progress status of the learner S, and corresponds to, for example, an icon displayed for each learner S. To do. Further, when the learning status or progress status of the learner S changes, the second terminal side notification unit 42 displays the display object (specifically, the color of the display object, the presence / absence of blinking, etc.). Can be switched.

なお、プログラムコードを画面に表示する場合、又は、プログラムコード若しくは第二プログラムコードの実行結果が画面上に表示可能な映像若しくは画像である場合等は、第二端末側報知部42は、その機能において、第二端末側表示部37と一部重複する場合もある。このように、報知する内容が、画面上に表示するものである場合、プログラム編集画面52と並べて表示させてもよいし、プログラム編集画面52と重畳して表示させてもよいし、プログラム編集画面52と切り替え可能に表示させてもよい。 When the program code is displayed on the screen, or when the execution result of the program code or the second program code is a video or image that can be displayed on the screen, the second terminal side notification unit 42 has the function. In some cases, it partially overlaps with the display unit 37 on the second terminal side. In this way, when the content to be notified is to be displayed on the screen, it may be displayed side by side with the program edit screen 52, may be displayed superimposed on the program edit screen 52, or may be displayed on the program edit screen. It may be displayed so as to be switchable with 52.

[第二端末側受信部43]
第二端末側受信部43は、主にプロセッサ31、記憶装置32及び通信用インターフェース33により実現され、更新データ及び学習開始連絡データを受信する。
[Second terminal side receiver 43]
The second terminal-side receiving unit 43 is mainly realized by the processor 31, the storage device 32, and the communication interface 33, and receives the update data and the learning start communication data.

[第二端末側データ作成部44]
第二端末側データ作成部44は、主にプロセッサ31、記憶装置32及び入力装置34により実現され、要求データを作成する。なお、要求データは、第二端末側操作受付部36が確認者Tによる要求データ作成操作を受け付けることをトリガーとして作成される。
[Second terminal side data creation unit 44]
The second terminal side data creation unit 44 is mainly realized by the processor 31, the storage device 32, and the input device 34, and creates request data. The request data is created by triggering the operation reception unit 36 on the second terminal side to accept the request data creation operation by the confirmer T.

[第二端末側管理部45]
第二端末側管理部45は、主にプロセッサ31及び記憶装置32により実現され、第二端末側受信部43が受信したデータに基づき、学習者情報を適宜設定する。
[Second terminal side management unit 45]
The second terminal side management unit 45 is realized mainly by the processor 31 and the storage device 32, and appropriately sets the learner information based on the data received by the second terminal side receiving unit 43.

具体的に説明すると、第二端末側受信部43が学習開始連絡データを受信した場合、第二端末側管理部45は、第二端末側記憶部39に記憶された学習者情報テーブルDから、該当する学習者Sの学習者情報を読み込み、読み込んだ学習者情報を学習中に設定して第二端末側記憶部39に記憶する。また、第二端末側受信部43が更新データを受信した場合、第二端末側管理部45は、第二端末側記憶部39に記憶された学習者情報テーブルDから、該当する学習者Sの学習者情報を読み出し、読み出した学習者情報を更新データに応じて更新して第二端末側記憶部39に記憶する。 Specifically, when the second terminal side receiving unit 43 receives the learning start communication data, the second terminal side management unit 45 receives the learning start communication data from the learner information table D stored in the second terminal side storage unit 39. The learner information of the corresponding learner S is read, and the read learner information is set during learning and stored in the second terminal side storage unit 39. Further, when the second terminal side receiving unit 43 receives the update data, the second terminal side management unit 45 receives the corresponding learner S from the learner information table D stored in the second terminal side storage unit 39. The learner information is read, and the read learner information is updated according to the update data and stored in the second terminal side storage unit 39.

[第二端末側選択部46]
第二端末側選択部46は、主にプロセッサ31、記憶装置32、通信用インターフェース33及び入力装置34により実現され、複数の第一端末10の中から所定の第一端末10を所定の選択条件に基づいて選択する。
[Second terminal side selection unit 46]
The second terminal side selection unit 46 is mainly realized by the processor 31, the storage device 32, the communication interface 33, and the input device 34, and a predetermined first terminal 10 is selected from a plurality of first terminals 10 as a predetermined selection condition. Select based on.

「所定の選択条件」とは、ここでは複数の第一端末10の中から特定の第一端末10が選択される際の条件を示し、例えば、確認者Tにより特定の第一端末10を選択する第一端末選択操作等が行われた場合、特定の第一端末10から編集したプログラムコードの確認依頼等の問い合わせを受け、確認者Tがそれを許可した場合、又は、特定の第一端末10から取得したプログラムコード中にエラーが発見された場合等をいう。また、例えば、課題実施中において所定の時間間隔で自動的且つランダムに選択することとしてもよい。 The "predetermined selection condition" here indicates a condition when a specific first terminal 10 is selected from a plurality of first terminals 10, and for example, the confirmer T selects a specific first terminal 10. When the first terminal selection operation or the like is performed, when an inquiry such as a confirmation request of the edited program code is received from the specific first terminal 10 and the confirmer T permits it, or when the specific first terminal is specified. This refers to the case where an error is found in the program code obtained from 10. Further, for example, it may be automatically and randomly selected at a predetermined time interval during the task implementation.

[第二端末側判定部47]
第二端末側判定部47は、主にプロセッサ11及び記憶装置12により実現され、第二端末側取得部41が第一データに基づく情報を取得する際、又は、第二端末側実行部38がプログラムコードの実行処理を行う際等に、そのプログラムコード中にエラーが存在するか否かを判定する。
[Second terminal side determination unit 47]
The second terminal side determination unit 47 is mainly realized by the processor 11 and the storage device 12, and when the second terminal side acquisition unit 41 acquires information based on the first data, or when the second terminal side execution unit 38 It is determined whether or not an error exists in the program code when the program code is executed.

なお、一般的に第一端末10及び第二端末30は、上記以外にも種々の機能を有しているが、ここでは、本発明におけるプログラミング学習支援システム1において作用効果を奏する特徴的な機能のみを説明することとし、その他の既知の機能等については図示及び説明を省略する。 In general, the first terminal 10 and the second terminal 30 have various functions other than the above, but here, a characteristic function that exerts an action effect in the programming learning support system 1 of the present invention. Only will be described, and illustration and description of other known functions will be omitted.

<プログラミング学習支援システム1の処理の概要>
次に、シーケンス図、及び、各画面の一例を示す図を参照しながら、上記構成からなるプログラミング学習支援システム1において実行される処理の概要について説明する。
<Outline of processing of programming learning support system 1>
Next, an outline of the processing executed in the programming learning support system 1 having the above configuration will be described with reference to the sequence diagram and the diagram showing an example of each screen.

本実施形態に係るプログラミング学習支援方法は、コンピュータシステムとして機能するプログラミング学習支援システム1を用いることで実現され、換言すると、プログラミング学習支援システム1が実行するプログラミング学習支援処理では、本実施形態に係るプログラミング学習支援方法が適用されている。 The programming learning support method according to the present embodiment is realized by using the programming learning support system 1 that functions as a computer system. In other words, the programming learning support process executed by the programming learning support system 1 relates to the present embodiment. The programming learning support method is applied.

図5に示されるように、まず、確認者Tによって操作される第二端末30によって、講座が開設される(S101)。 As shown in FIG. 5, first, the lecture is opened by the second terminal 30 operated by the confirmer T (S101).

開設された講座は、学習者Sによって操作される第一端末10から確認することができる。学習者Sは、第一端末10を操作して講座への参加を申請する(S102)。 The opened course can be confirmed from the first terminal 10 operated by the learner S. The learner S operates the first terminal 10 to apply for participation in the course (S102).

「参加」とは、その講座において実施されている講義を視聴すること、又は、演習問題を解くこと等をいう。参加できるのは、初回講義等の講座開始時に限定されず、途中参加することもできる。 "Participation" means watching a lecture given in the lecture or solving an exercise. Participation is not limited to the beginning of a lecture such as the first lecture, but it is also possible to participate in the middle.

第二端末30は、第一端末10から参加の申請を受け付けると(S103)、その講座の中から該当する課題を選択し(S104)、第一端末10に課題の説明とその課題の内容(例えば、講義動画又は演習問題等)を送信することにより、課題を開始する(S105)。 When the second terminal 30 receives the application for participation from the first terminal 10 (S103), the second terminal 30 selects the corresponding task from the lectures (S104), and the first terminal 10 explains the problem and the content of the problem (S103). For example, the assignment is started by transmitting a lecture video or an exercise (S105).

このとき、課題は、学習者情報テーブルDに記憶された学習者情報に含まれる進捗状況等に基づいて自動的に選択されることとしてもよいし、確認者Tが、学習者Sの進捗状況等を参照しつつ任意に選択することとしてもよい。確認者Tが課題を選択する場合は、第二端末30の画面上に課題選択画面56を表示する。 At this time, the task may be automatically selected based on the progress status or the like included in the learner information stored in the learner information table D, or the confirmer T may select the progress status of the learner S. Etc. may be referred to and arbitrarily selected. When the confirmer T selects a task, the task selection screen 56 is displayed on the screen of the second terminal 30.

図6(a)に示されるように、課題選択画面56では、第二端末30の画面上に、先ず、講座の中に用意された複数の単元の中から任意の単元を選択する画面が表示される。さらに、その中から任意の単元が選択されると、図6(b)に示されるように、その選択された単元の中に用意された複数の課題の中から任意の課題を選択する画面に遷移する。確認者Tは、第二端末30を操作して、この複数の課題の中から学習者Sに実施させたいと考える任意の課題を選択する。このとき、第一端末10の画面には複数の課題が表示され、学習者S側から任意の課題を選択して参加を申請することとしてもよい。 As shown in FIG. 6A, in the task selection screen 56, a screen for selecting an arbitrary unit from a plurality of units prepared in the course is first displayed on the screen of the second terminal 30. Will be done. Further, when an arbitrary unit is selected from the units, as shown in FIG. 6B, a screen for selecting an arbitrary task from a plurality of tasks prepared in the selected unit is displayed. Transition. The confirmer T operates the second terminal 30 to select an arbitrary task that the learner S wants to perform from the plurality of tasks. At this time, a plurality of tasks are displayed on the screen of the first terminal 10, and the learner S may select an arbitrary task and apply for participation.

第一端末10は、第二端末30から送信された課題に基づいて、まず、課題説明を行い(S106)、課題を開始する。 Based on the task transmitted from the second terminal 30, the first terminal 10 first explains the task (S106) and starts the task.

課題の実施中、学習者Sは、第一端末10を操作して講義の視聴、又は演習を行う(S107)。具体的には、特に演習の場面において、学習者Sは、第一端末10の画面上に表示されたプログラム編集画面2で課題に応じたプログラムコードを編集し、編集作業が所定段階まで進むとその時点でのプログラムコードの正誤を確認するためにプログラムコードを実行する。 During the implementation of the task, the learner S operates the first terminal 10 to watch a lecture or perform an exercise (S107). Specifically, especially in the practice scene, the learner S edits the program code according to the task on the program editing screen 2 displayed on the screen of the first terminal 10, and the editing work proceeds to a predetermined stage. Execute the program code to confirm the correctness of the program code at that time.

なお、本実施形態では、プログラムコードの実行結果は映像又は画像とし、ディスプレイ表示を報知の一例として挙げるが、報知はディスプレイ表示に限定されない。例えば、プログラムが音楽再生用プログラムの場合等は、スピーカー出力等を行うことにより報知する。 In the present embodiment, the execution result of the program code is a video or an image, and the display display is given as an example of the notification, but the notification is not limited to the display display. For example, when the program is a music playback program, etc., it is notified by performing speaker output or the like.

図7に示されるように、第一端末10の画面上に表示されるプログラム編集画面2は、プログラムコード表示領域4、プログラム実行領域5及び課題表示領域6とから主に構成される。また、プログラム編集画面2には、その他、各種操作ボタン等が表示されている。 As shown in FIG. 7, the program editing screen 2 displayed on the screen of the first terminal 10 is mainly composed of a program code display area 4, a program execution area 5, and a task display area 6. In addition, various operation buttons and the like are displayed on the program edit screen 2.

プログラムコード表示領域4は、学習者Sが入力したプログラムコードを表示する領域である。プログラムコード表示領域4に表示されるプログラムコードは、プログラム編集画面2に表示される仮想キーボード(不図示)をタッチすることにより、直接入力されることとしてもよいし、後述するコード入力用ブロック8に対応したプログラムコードの文字列(コード文字列)が表示されることとしてもよい。 The program code display area 4 is an area for displaying the program code input by the learner S. The program code displayed in the program code display area 4 may be directly input by touching the virtual keyboard (not shown) displayed on the program edit screen 2, or the code input block 8 described later. The character string (code character string) of the program code corresponding to may be displayed.

プログラム実行領域5は、プログラムコードの実行結果を表示する領域である。例えば、キャラクターCを動かすプログラムコードを編集する課題(キャラクター移動プログラミング)において、そのプログラムコードの編集完了のタイミング、又は「Play」ボタンをクリック(タップも含む)したタイミング等で、上記のプログラムコードが実行され、プログラム実行領域5では、キャラクターCがそのプログラムコードの指示に応じた動きをする。 The program execution area 5 is an area for displaying the execution result of the program code. For example, in the task of editing the program code for moving the character C (character movement programming), the above program code is displayed at the timing when the editing of the program code is completed or when the "Play" button is clicked (including tapping). It is executed, and in the program execution area 5, the character C moves according to the instruction of the program code.

本実施形態では、プログラム実行領域5は、プログラムコード表示領域4とともに表示されている。すなわち、プログラム実行領域5とプログラムコード表示領域4とが同時に並べて表示されている。このように、プログラム編集画面2では、プログラムコードと、プログラムコードの実行結果(キャラクターCの動き)とを、一画面に両方表示する。なお、プログラムコード表示領域4とプログラム実行領域5とは、切り替え可能に表示してもよい。 In the present embodiment, the program execution area 5 is displayed together with the program code display area 4. That is, the program execution area 5 and the program code display area 4 are displayed side by side at the same time. In this way, on the program edit screen 2, both the program code and the execution result of the program code (movement of the character C) are displayed on one screen. The program code display area 4 and the program execution area 5 may be displayed in a switchable manner.

課題表示領域6は、現在の課題を表示する領域である。例えば、課題のクリア条件等が説明されている。なお、課題表示領域6は、非表示にすることもできる。 The task display area 6 is an area for displaying the current task. For example, the conditions for clearing the task are explained. The task display area 6 can also be hidden.

図8に示されるように、プログラム編集画面2では、キーボードを使用しなくてもプログラムコードの入力ができるように、プログラム編集を補助することもできる。例えば、コード入力用ブロック8を選択して並べていくことにより、プログラムコードを編集することができる。 As shown in FIG. 8, on the program editing screen 2, the program editing can be assisted so that the program code can be input without using the keyboard. For example, the program code can be edited by selecting and arranging the code input blocks 8.

具体的には、第一端末10の画面上に表示されるプログラム編集画面2は、プログラムコード表示領域4、プログラム実行領域5及び課題表示領域6の他、複数のコード入力用ブロック8が表示されたブロック表示領域7をさらに備える。 Specifically, the program editing screen 2 displayed on the screen of the first terminal 10 displays a plurality of code input blocks 8 in addition to the program code display area 4, the program execution area 5, and the task display area 6. The block display area 7 is further provided.

コード入力用ブロック8には、対応するコード文字列ごとに、学習者Sの理解を助けるための説明が加えられており、例えば、「character:walkto(1,0,right)」というコード文字列に対応するコード入力用ブロックには、そのコード文字列の意味を示す「1マス右に歩く」という説明が表示されている。 In the code input block 8, an explanation for helping the learner S understand is added for each corresponding code character string. For example, the code character string "character: walkto (1,0, right)" is added. In the code input block corresponding to, the explanation "walk one square to the right" indicating the meaning of the code character string is displayed.

ブロック表示領域7には、コード入力用ブロック8が複数表示されている。ブロック表示領域7に表示されているコード入力用ブロック8は、課題に関する正解のコード文字列を入力できるブロックと、不正解のコード文字列を入力するブロックとが混在した状態で用意されている。それらのブロックの中から学習者Sによって選択されたコード入力用ブロック8に対応したコード文字列が、選択と同時にプログラムコード表示領域4に入力される。このとき、不正解のブロックの数を増減させることにより、難易度の設定をすることができる。また、学習者Sの習熟度が高い場合等は、コード入力用ブロック8を適宜非表示としてもよい。 A plurality of code input blocks 8 are displayed in the block display area 7. The code input block 8 displayed in the block display area 7 is prepared in a state in which a block in which a correct code character string for a task can be input and a block in which an incorrect code character string is input are mixed. The code character string corresponding to the code input block 8 selected by the learner S from those blocks is input to the program code display area 4 at the same time as the selection. At this time, the difficulty level can be set by increasing or decreasing the number of incorrect answer blocks. Further, when the learner S has a high degree of proficiency, the code input block 8 may be hidden as appropriate.

図9に示されるように、指定された図形を描画するためのプログラミングが課題として出題されたときは、例えば、カーソル9を操作して座標位置を指定することにより、プログラムコードを編集することとしてもよい。具体的には、第一端末10の画面上に表示されるプログラム編集画面2は、プログラム実行領域5上を移動可能なカーソル9を有する。なお、カーソル9が移動可能なプログラム実行領域5が、図形描画エリアに該当する。 As shown in FIG. 9, when programming for drawing a specified figure is given as a task, for example, by operating the cursor 9 to specify a coordinate position, the program code is edited. May be good. Specifically, the program editing screen 2 displayed on the screen of the first terminal 10 has a cursor 9 that can be moved on the program execution area 5. The program execution area 5 to which the cursor 9 can be moved corresponds to the drawing area.

「指定された図形」とは、線画であり、例えば、円、多角形若しくは扇形等の二次元図形、球体、多面体若しくは錐体等の三次元図形、又は多胞体等の四次元図形等であってもよい。また、複雑な絵等であってもよい。さらに、時間軸を加えた動的な図形等であってもよい。 The "designated figure" is a line drawing, for example, a two-dimensional figure such as a circle, a polygon or a fan, a three-dimensional figure such as a sphere, a polyhedron or a cone, or a four-dimensional figure such as a polytope. You may. Moreover, it may be a complicated picture or the like. Further, it may be a dynamic figure or the like with a time axis added.

「座標」とは、プログラム編集画面2、厳密には、図形描画エリアであるプログラム実行領域5上においてカーソル9で指定した点の位置を示す。 The “coordinates” indicate the positions of the points specified by the cursor 9 on the program edit screen 2, strictly speaking, the program execution area 5, which is the drawing area.

カーソル9は、学習者Sによる操作に応じて移動する。また、「カーソルの座標から頂点を入力する」という趣旨の説明が表示されたコード入力用ブロック(図9では不図示)を選択する等の所定操作に応じて、カーソル9の指し示す座標位置に対応するコード文字列が、プログラムコード表示領域4に入力される。なお、ダブルクリック又は長押し等の所定操作に応じて、カーソル9が指し示す座標位置に対応するコード文字列が、プログラムコード表示領域4に入力されることとしてもよい。 The cursor 9 moves according to the operation by the learner S. In addition, it corresponds to the coordinate position pointed to by the cursor 9 in response to a predetermined operation such as selecting a code input block (not shown in FIG. 9) on which an explanation to the effect of "inputting vertices from the coordinates of the cursor" is displayed. The code character string to be used is input to the program code display area 4. The code character string corresponding to the coordinate position pointed to by the cursor 9 may be input to the program code display area 4 in response to a predetermined operation such as double-clicking or long-pressing.

また、図形を構成する線又は点の色については、色を判別できる情報が表示されたコード入力用ブロック(図9では不図示)を選択する等の所定操作に応じて、その色に関する情報もプログラムコード表示領域4に入力される。なお、色については、パレット又はダイアログボックス等から選択することとしてもよい。さらに、カーソル9のドラッグ等の所定操作に応じて、座標間に線を引くプログラムコードがプログラムコード表示領域4に入力されることとしてもよい。 In addition, regarding the colors of the lines or dots that make up the figure, information on the colors can also be obtained according to a predetermined operation such as selecting a code input block (not shown in FIG. 9) on which information that can distinguish the colors is displayed. It is input to the program code display area 4. The color may be selected from a palette, a dialog box, or the like. Further, the program code for drawing a line between the coordinates may be input to the program code display area 4 in response to a predetermined operation such as dragging the cursor 9.

学習者Sは、上記のように、第一端末10を操作して講義を視聴し、又は演習を行う。
一方、確認者Tは、学習者Sが課題を実施している最中に、第二端末30を操作して学習者Sの学習状況及び進捗状況を監視及び確認する(S108)。なお、このステップS108から次のステップS109にかけて行われる処理には、後述する学習者環境再現処理(図14)が含まれる。
As described above, the learner S operates the first terminal 10 to watch a lecture or perform an exercise.
On the other hand, the confirmer T operates the second terminal 30 to monitor and confirm the learning status and the progress status of the learner S while the learner S is performing the task (S108). The process performed from this step S108 to the next step S109 includes a learner environment reproduction process (FIG. 14) described later.

図10(a)に示されるように、学習者管理画面57では、第二端末30の画面上に、各学習者Sの一覧が表示される。ここで表示される情報には、学習者Sの会員番号又は氏名等、学習者Sを識別可能な情報が含まれる。 As shown in FIG. 10A, on the learner management screen 57, a list of each learner S is displayed on the screen of the second terminal 30. The information displayed here includes information that can identify the learner S, such as the member number or name of the learner S.

確認者Tは、その一覧に含まれる複数の学習者S(S1〜SN)の中から、学習状況又は進捗状況を確認したい任意の学習者Sを選択すると、図10(b)に示されるように、その選択した学習者Sの詳細情報(ステータス)が表示される。詳細情報には、上述した学習者情報テーブルDの情報に基づき、例えば、学習者Sの会員番号、氏名、学習状況、現在の単元、現在の課題、現在の課題の再生数、及び、現在の成否等に関する情報が表示される。確認者Tは、これらの情報により、学習者Sの学習状況及び進捗状況等を管理する。なお、学習者管理画面57では、学習者Sの学習状況又は進捗状況に変化が生じたことを報知するアイコン等(不図示)を表示してもよい。 When the confirmer T selects an arbitrary learner S whose learning status or progress status is to be confirmed from the plurality of learners S (S1 to SN) included in the list, as shown in FIG. 10 (b). The detailed information (status) of the selected learner S is displayed in. The detailed information is based on the information in the learner information table D described above, for example, the member number of the learner S, the name, the learning status, the current unit, the current task, the number of views of the current task, and the current number of views. Information about success or failure is displayed. The confirmer T manages the learning status, progress status, etc. of the learner S based on this information. On the learner management screen 57, an icon or the like (not shown) for notifying that a change has occurred in the learning status or progress status of the learner S may be displayed.

また、上記の学習者管理画面57には、学習者Sの詳細情報とともに「Scriptを見る」というリンクが設けられている。確認者Tは、学習者管理画面57上でこのリンクをクリック等することにより、学習者Sが編集したプログラムコードの提示を第一端末10に対して要求する。 Further, the learner management screen 57 is provided with a link "view Script" together with detailed information of the learner S. The confirmer T requests the first terminal 10 to present the program code edited by the learner S by clicking this link or the like on the learner management screen 57.

第一端末10は、第二端末30からの上記要求受けると、第一端末10を操作する学習者Sに通知することなく、その要求に対して自動応答を行う(S109)。すなわち、第二端末30に対して、第一データを自動的に送信する。そのため、確認者Tから学習者Sに対して、いつプログラムコードの提示要求があったとしても、プログラムコードを編集中の学習者Sは、集中を妨げられることがない。
なお、ステップS109では、第一データとして第一端末10に記録されたデータのうち、最新のデータが第二端末30に向けて送信される。
Upon receiving the request from the second terminal 30, the first terminal 10 automatically responds to the request without notifying the learner S who operates the first terminal 10 (S109). That is, the first data is automatically transmitted to the second terminal 30. Therefore, no matter when the confirmer T requests the learner S to present the program code, the learner S who is editing the program code is not hindered from concentrating.
In step S109, among the data recorded in the first terminal 10 as the first data, the latest data is transmitted to the second terminal 30.

第一データに基づく情報を取得した第二端末30は、学習者Sが編集したプログラムコード及びそのプログラムコードの実行結果をプログラム実行画面53に表示して、学習者Sの学習環境を再現する。そのため、確認者Tは、学習者Sがプログラムコードを編集している最中であっても、任意のタイミングで、学習者Sの学習状況及び進捗状況をリアルタイムに監視及び確認することができる。 The second terminal 30 that has acquired the information based on the first data displays the program code edited by the learner S and the execution result of the program code on the program execution screen 53, and reproduces the learning environment of the learner S. Therefore, the confirmer T can monitor and confirm the learning status and the progress status of the learner S in real time at an arbitrary timing even while the learner S is editing the program code.

第二端末30が取得する情報は、プログラムコードであっても、プログラムコードの実行結果であってもよく、結果的に、第二端末30で学習者Sの編集したプログラムコードとそのプログラムコードの実行結果のどちらか一方又は両方を確認することができればよい。プログラムコードを示すデータに基づく情報を取得した場合は、第二端末30側でそのプログラムコードを実行して報知する。一方、プログラムコードの実行結果を示す情報を取得した場合は、第二端末30側でプログラムコードを実行する必要はない。 The information acquired by the second terminal 30 may be a program code or an execution result of the program code, and as a result, the program code edited by the learner S on the second terminal 30 and the program code thereof. It suffices if one or both of the execution results can be confirmed. When the information based on the data indicating the program code is acquired, the program code is executed on the second terminal 30 side to notify the information. On the other hand, when the information indicating the execution result of the program code is acquired, it is not necessary to execute the program code on the second terminal 30 side.

なお、ここで取得するプログラムコードは、未完成プログラムコードであってもよい。また、確認者Tは、プログラムコード自体を読めば間違いに気付くこともあり得るので、未完成プログラムコードは、実行できない段階のものであってもよい。このように、確認者Tは、学習者Sが編集したプログラムコードが編集途中で実行不能な未完成プログラムコードであっても、その時点で確認することができるので、より早い段階で学習者Sの進捗状況や理解度を把握することができ、学習者Sに対する今後の学習の進め方を検討するうえで参考にすることができる。 The program code acquired here may be an unfinished program code. Further, since the confirmer T may notice an error by reading the program code itself, the unfinished program code may be at a stage where it cannot be executed. In this way, the confirmer T can confirm the program code edited by the learner S even if it is an unfinished program code that cannot be executed in the middle of editing, so that the learner S can confirm it at an earlier stage. It is possible to grasp the progress status and the degree of understanding of the learner S, which can be used as a reference when considering how to proceed with the future learning for the learner S.

図11に示されるように、第二端末30の画面上で学習者環境を再現するプログラム実行画面53は、プログラムコード表示領域54及びプログラム実行領域55とから主に構成される。また、プログラム実行画面53には、「Play」ボタン等、その他、各種操作ボタン等が表示されていてもよい。 As shown in FIG. 11, the program execution screen 53 that reproduces the learner environment on the screen of the second terminal 30 is mainly composed of the program code display area 54 and the program execution area 55. In addition, various operation buttons and the like may be displayed on the program execution screen 53, such as a "Play" button.

プログラムコード表示領域54は、学習者Sが入力したプログラムコードを表示する領域であり、プログラムコードの文字列が表示されている。 The program code display area 54 is an area for displaying the program code input by the learner S, and the character string of the program code is displayed.

プログラム実行領域55は、学習者Sが編集したプログラムコードの実行結果を表示する領域である。本実施形態では、プログラム実行領域55上のキャラクターCは、プログラムコードを表示したタイミング、又は、「Play」ボタンをクリック等したタイミング等で、学習者Sの編集したプログラムコードの指示に応じた動きをする。 The program execution area 55 is an area for displaying the execution result of the program code edited by the learner S. In the present embodiment, the character C on the program execution area 55 moves according to the instruction of the program code edited by the learner S at the timing when the program code is displayed or when the "Play" button is clicked or the like. do.

プログラム実行領域55は、プログラムコード表示領域54とともに表示されている。すなわち、プログラム実行画面53では、プログラム実行領域55とプログラムコード表示領域54とが同時に並べて表示されており、学習者Sの編集したプログラムコードと、そのプログラムコードの実行結果(キャラクターCの動き)とを、一画面に両方表示する。 The program execution area 55 is displayed together with the program code display area 54. That is, on the program execution screen 53, the program execution area 55 and the program code display area 54 are displayed side by side at the same time, and the program code edited by the learner S and the execution result (movement of the character C) of the program code are displayed. Is displayed on one screen.

学習者環境を再現して、学習者Sの編集したプログラムコードを確認した確認者Tは、学習者Sの進捗状況や理解度を把握したうえで、第二端末30を操作して第二プログラムコードを自ら編集して実演配信を行う(S110)。なお、このステップS110から次のステップS111にかけて行われる処理は、後述する実演配信処理(図15)に該当する。 The confirmer T, who reproduces the learner environment and confirms the program code edited by the learner S, operates the second terminal 30 after grasping the progress status and the degree of understanding of the learner S, and operates the second program. The code is edited by itself and delivered for demonstration (S110). The process performed from this step S110 to the next step S111 corresponds to the demonstration distribution process (FIG. 15) described later.

「実演」とは、第二プログラムコードを実行し、その実行結果を報知することをいう。本実施形態の場合は、第一端末10の画面(プログラム実行画面3)及び第二端末30の画面(プログラム実行画面53)で、第二プログラムコードの実行結果を表示することをいう。 "Demonstration" means executing the second program code and notifying the execution result. In the case of the present embodiment, it means that the execution result of the second program code is displayed on the screen of the first terminal 10 (program execution screen 3) and the screen of the second terminal 30 (program execution screen 53).

「実演配信」とは、上記実演を第一端末10のプログラム実行画面3で行わせるために、第二データを、第二端末30から第一端末10に向けて送信することをいう。 "Demonstration distribution" means transmitting the second data from the second terminal 30 to the first terminal 10 in order to perform the above demonstration on the program execution screen 3 of the first terminal 10.

図12に示されるように、確認者Tが第二プログラムコードを編集する画面、すなわち、第二端末30の画面上に表示されるプログラム編集画面52は、プログラムコード表示領域54及びプログラム実行領域55とから主に構成される。また、プログラム編集画面52には、「Play」ボタン又は「送る」ボタン等、その他、各種操作ボタン等が表示されていてもよい。 As shown in FIG. 12, the screen in which the confirmer T edits the second program code, that is, the program edit screen 52 displayed on the screen of the second terminal 30, is the program code display area 54 and the program execution area 55. Mainly composed of and. In addition, various operation buttons and the like may be displayed on the program edit screen 52, such as a "Play" button or a "send" button.

プログラムコード表示領域54は、確認者Tがプログラム編集画面52に表示される仮想キーボード(不図示)等を操作することにより入力した第二プログラムコードを表示する領域であり、第二プログラムコードの文字列が表示されている。プログラムコード表示領域54には、学習者Sが編集したプログラムコードを基とする場合は、学習者Sが元々編集したプログラムコードを表示しておき、確認者Tがそのプログラムコードの上から修正できることとしてもよい。 The program code display area 54 is an area for displaying the second program code input by the confirmer T by operating a virtual keyboard (not shown) displayed on the program edit screen 52, and is a character of the second program code. The column is displayed. When the program code edited by the learner S is used as the base in the program code display area 54, the program code originally edited by the learner S is displayed, and the confirmer T can modify the program code from above. May be.

プログラム実行領域55は、プログラムコード表示領域54とともに表示されており、確認者Tが編集した第二プログラムコードの実行結果を表示して実演する領域である。本実施形態では、プログラム実行領域55上のキャラクターCは、第二プログラムコードを入力したタイミング、又は、「Play」ボタンをクリック等したタイミング等で、確認者Tの編集した第二プログラムコードの指示に応じた動きをする。 The program execution area 55 is displayed together with the program code display area 54, and is an area for displaying and demonstrating the execution result of the second program code edited by the confirmer T. In the present embodiment, the character C on the program execution area 55 instructs the second program code edited by the confirmer T at the timing when the second program code is input or when the "Play" button is clicked or the like. Move according to.

確認者Tは、第二プログラムコードの編集を完了すると、「送る」ボタンをクリック等して、第一端末10に向けて、第二データに基づく情報を送信する。 When the confirmer T completes the editing of the second program code, he clicks the "send" button or the like to transmit the information based on the second data to the first terminal 10.

第一端末10では、第二端末30から第二プログラムコードを取得すると、その取得した第二プログラムコードに基づいて、実演を行う(S111)。 When the second program code is acquired from the second terminal 30, the first terminal 10 performs a demonstration based on the acquired second program code (S111).

図13に示されるように、実演を行う第一端末10の画面上に表示されるプログラム実行画面3は、第二プログラムコードの実行結果を表示して実演するプログラム実行領域5を有している。また、プログラム実行画面3には、「Play」ボタン等、その他、各種操作ボタン等が表示されている。 As shown in FIG. 13, the program execution screen 3 displayed on the screen of the first terminal 10 for demonstrating has a program execution area 5 for displaying and demonstrating the execution result of the second program code. .. Further, on the program execution screen 3, various operation buttons and the like such as a "Play" button and the like are displayed.

プログラム実行領域5では、例えば、第二プログラムコードを取得したタイミング、「Play」ボタンをクリック等したタイミング、又は、第二端末30側からのリモート操作によって確認者Tが指定した任意のタイミング等で、キャラクターCがその第二プログラムコードの指示に応じた動きをする。 In the program execution area 5, for example, at the timing when the second program code is acquired, when the "Play" button is clicked, or at an arbitrary timing specified by the confirmer T by remote operation from the second terminal 30 side. , Character C moves according to the instruction of the second program code.

このとき、第一端末10側では、第二プログラムコードの実行結果を報知(本実施形態ではプログラム実行画面3に表示)するものの、第二プログラムコード自体はプログラム実行画面3に表示しない。すなわち、学習者Sは、第二プログラムコードの実行結果は確認することができても、その解答を示す第二プログラムコード自体は確認することができない。そのため、学習者Sは、その第二プログラムコードの実行結果を参考にしつつ、プログラムコードを自ら編集又は修正等を行い、さらに学習を進めることができる。 At this time, although the execution result of the second program code is notified on the first terminal 10 side (displayed on the program execution screen 3 in this embodiment), the second program code itself is not displayed on the program execution screen 3. That is, the learner S can confirm the execution result of the second program code, but cannot confirm the second program code itself showing the answer. Therefore, the learner S can edit or modify the program code by himself / herself while referring to the execution result of the second program code, and further proceed with the learning.

また、第二プログラムコードの実演するプログラム実行画面3では、プログラム実行領域5とともに、学習者Sが編集したプログラムコードを表示するプログラムコード表示領域4を備えることとしてもよい。この場合、学習者Sは、実演される正解又はヒントを示す第二プログラムコードの実行結果を模範としながら、プログラムコード表示領域4において、プログラムコードの編集又は修正等を行うことができる。 Further, the program execution screen 3 for demonstrating the second program code may include a program code display area 4 for displaying the program code edited by the learner S in addition to the program execution area 5. In this case, the learner S can edit or modify the program code in the program code display area 4 while exemplifying the execution result of the second program code indicating the correct answer or hint to be demonstrated.

第二端末30は、実演配信(S110)が終了すると、課題が全て終了したか否かを判定する(S112)。課題が全て終了していない場合(S112:No)、再度、課題を選択する(S104)。なお、このとき、課題が全て終了していないと判断される場合は、別の新たな課題が残っている場合の他、その課題に対して未だ正解していない場合等、学習者Sに同じ課題を再度実施させる必要がある場合も含む。 When the demonstration distribution (S110) is completed, the second terminal 30 determines whether or not all the tasks have been completed (S112). If all the tasks have not been completed (S112: No), the tasks are selected again (S104). At this time, if it is judged that all the tasks have not been completed, the same applies to the learner S, such as when another new task remains or when the correct answer has not yet been given to the task. This includes cases where the task needs to be performed again.

課題が全て終了した場合(S112:Yes)、第二端末30から第一端末10に向けて終了通知を送信した後、回線を切断する(S113)。これにより、第一端末10にて課題が終了する(S114)。なお、第一端末10側では、課題内容(プログラムコード及び第二プログラムコード等を含む)の保存をすることができ、回線切断後も復習メニューからオフラインで課題を再開することもできる。 When all the tasks are completed (S112: Yes), the line is disconnected after the end notification is transmitted from the second terminal 30 to the first terminal 10 (S113). As a result, the task ends at the first terminal 10 (S114). The task content (including the program code and the second program code) can be saved on the first terminal 10 side, and the task can be resumed offline from the review menu even after the line is disconnected.

<プログラミング学習支援システム1の各処理の流れ>
次に、図14乃至17を参照しながら、プログラミング学習支援システム1において実行される各処理の流れについて具体的に説明する。
<Flow of each process of programming learning support system 1>
Next, the flow of each process executed in the programming learning support system 1 will be specifically described with reference to FIGS. 14 to 17.

[学習者環境再現処理]
まず、図14に基づいて、学習者環境再現処理について説明する。
「学習者環境再現処理」とは、学習者Sの編集したプログラムコードの実行結果を第二端末30で報知する処理をいう。また、学習者環境再現処理は、図5に示したプログラミング学習支援処理のうち、ステップS108からステップS109にかけて行われる処理である。
[Learner environment reproduction processing]
First, the learner environment reproduction process will be described with reference to FIG.
The “learner environment reproduction process” refers to a process of notifying the execution result of the program code edited by the learner S on the second terminal 30. Further, the learner environment reproduction process is a process performed from step S108 to step S109 among the programming learning support processes shown in FIG.

図14に示されるように、第一端末10は、学習者Sからプログラムコードの編集操作を受け付けると(S201)、プログラム編集画面2のプログラムコード表示領域4にその編集されたプログラムコードを表示する(S202)。
そして、第一端末10は、学習者Sからプログラムコードの実行操作を受け付けると(S203)、編集したプログラムコードを実行し(S204)、そのプログラムコードの実行結果をプログラム編集画面2のプログラム実行領域5に表示する(S205)。
そして、そのプログラムコード及びプログラムコードの実行結果を記憶装置12に記憶する(S206)。
なお、編集されたプログラムコードは、実行操作の受付有無に関係なく、プログラムコードが実行可能な段階まで編集された時点で自動的に実行されることとしてもよい。また、プログラムコード及びプログラムコードの実行結果は、それぞれの表示前又は表示と同時に記憶することとしてもよい。プログラムコードは、実行前又は実行と同時に記憶することとしてもよい。
As shown in FIG. 14, when the first terminal 10 receives the program code editing operation from the learner S (S201), the first terminal 10 displays the edited program code in the program code display area 4 of the program editing screen 2. (S202).
Then, when the first terminal 10 receives the execution operation of the program code from the learner S (S203), the edited program code is executed (S204), and the execution result of the program code is displayed in the program execution area of the program edit screen 2. It is displayed in 5 (S205).
Then, the program code and the execution result of the program code are stored in the storage device 12 (S206).
The edited program code may be automatically executed when the program code is edited to a stage where it can be executed, regardless of whether or not an execution operation is accepted. Further, the program code and the execution result of the program code may be stored before or at the same time as each display. The program code may be stored before or at the same time as the execution.

一方、第二端末30は、確認者Tから要求データの作成操作を受け付けると(S207:Yes)、要求データを作成し(S208)、その作成した要求データを第一端末10に向けて送信する(S209)。 On the other hand, when the second terminal 30 receives the request data creation operation from the confirmer T (S207: Yes), the second terminal 30 creates the request data (S208) and transmits the created request data to the first terminal 10. (S209).

第一端末10は、学習者Sからプログラムコードの提出操作、すなわち、学習者Sの意思に基づいて不図示の提出ボタン等をクリック等することにより第一データを第二端末30に送信する指示を受け付けると(S210:Yes)、第一データのどちらか一方又は両方のデータを第二端末30に向けて送信する(S212)。 The first terminal 10 is instructed to transmit the first data to the second terminal 30 by the learner S submitting the program code, that is, by clicking an unillustrated submit button or the like based on the learner S's intention. (S210: Yes), one or both of the first data is transmitted to the second terminal 30 (S212).

また、第一端末10は、提出操作を受け付けない場合であっても(S210:No)、第二端末30から送信された要求データを受信すると(S211)、第一データのどちらか一方又は両方のデータを第二端末30に向けて送信する(S212)。 Further, even if the first terminal 10 does not accept the submission operation (S210: No), when the first terminal 10 receives the request data transmitted from the second terminal 30 (S211), either or both of the first data Data is transmitted to the second terminal 30 (S212).

第二端末30は、第一端末10から送信された第一データに基づく情報を取得すると(S213)、取得した情報がプログラムコードの実行結果を示すデータに基づく情報であるか否かを判定する(S214)。取得した情報がプログラムコードの実行結果を示すデータに基づく情報である場合(S214:Yes)、第二端末30は、プログラムコードの実行結果をプログラム実行画面53のプログラム実行領域55に表示して報知する(S216)。 When the second terminal 30 acquires the information based on the first data transmitted from the first terminal 10 (S213), the second terminal 30 determines whether or not the acquired information is the information based on the data indicating the execution result of the program code. (S214). When the acquired information is information based on data indicating the execution result of the program code (S214: Yes), the second terminal 30 displays the execution result of the program code in the program execution area 55 of the program execution screen 53 to notify the information. (S216).

他方、取得した情報がプログラムコードの実行結果を示すデータに基づく情報でない場合(S214:No)、すなわち、プログラムコードを示すデータに基づく情報である場合には、第二端末30は、そのプログラムコードを実行した後(S215)、プログラムコード及びプログラムコードの実行結果をプログラム実行画面53のプログラムコード表示領域54及びプログラム実行領域55に表示して報知する(S216)。
なお、取得したプログラムコードを示すデータに基づく情報が実行できないときは、プログラムコードのみを表示して報知することとしてもよい。
On the other hand, when the acquired information is not information based on the data indicating the execution result of the program code (S214: No), that is, when the information is based on the data indicating the program code, the second terminal 30 uses the program code. (S215), the program code and the execution result of the program code are displayed in the program code display area 54 and the program execution area 55 of the program execution screen 53 and notified (S216).
When the information based on the data indicating the acquired program code cannot be executed, only the program code may be displayed and notified.

一方、第二端末30は、確認者Tから要求データの作成操作を受け付けていない場合であっても(S207:No)、第一端末10から第一データが送信されれば(S212)、第一データに基づく情報を取得し(S213)、以下は上記と同様の処理(S214〜S216)を行う。
以上が、学習者環境再現処理の一例である。
On the other hand, even if the second terminal 30 does not accept the request data creation operation from the confirmer T (S207: No), if the first data is transmitted from the first terminal 10 (S212), the second terminal 30 is the first. Information based on one data is acquired (S213), and the following processes (S214 to S216) are performed in the same manner as described above.
The above is an example of the learner environment reproduction processing.

[実演配信処理]
次に、図15に基づいて、実演配信処理について説明する。
「実演配信処理」とは、実演配信を行い、第二プログラムコードの実行結果を第一端末10で報知する処理をいう。また、実演配信処理は、図5に示したプログラミング学習支援処理のうち、ステップS110からステップS111にかけて行われる処理である。
[Demonstration distribution process]
Next, the demonstration distribution process will be described with reference to FIG.
The “demonstration distribution process” refers to a process of performing demonstration distribution and notifying the execution result of the second program code on the first terminal 10. Further, the demonstration distribution process is a process performed from step S110 to step S111 among the programming learning support processes shown in FIG.

図15に示されるように、第二端末30は、確認者Tから第二プログラムコードの編集操作を受け付けると(S301)、プログラム編集画面52のプログラムコード表示領域54にその編集された第二プログラムコードを表示する(S302)。
そして、第二端末30は、確認者Tから第二プログラムコードの実行操作を受け付けると(S303)、編集した第二プログラムコードを実行し(S304)、その第二プログラムコードの実行結果をプログラム編集画面52のプログラム実行領域55に表示する(S305)。
そして、その第二プログラムコード及び第二プログラムコードの実行結果を記憶装置32に記憶する(S306)。
なお、編集された第二プログラムコードは、実行操作の受付有無に関係なく、第二プログラムコードが実行可能な段階まで編集された時点で自動的に実行されることとしてもよい。また、第二プログラムコード及び第二プログラムコードの実行結果は、それぞれの表示前又は表示と同時に記憶することとしてもよい。第二プログラムコードは、実行前又は実行と同時に記憶することとしてもよい。
As shown in FIG. 15, when the second terminal 30 receives the editing operation of the second program code from the confirmer T (S301), the edited second program is displayed in the program code display area 54 of the program editing screen 52. The code is displayed (S302).
Then, when the second terminal 30 receives the execution operation of the second program code from the confirmer T (S303), the second terminal 30 executes the edited second program code (S304), and edits the execution result of the second program code. It is displayed in the program execution area 55 on the screen 52 (S305).
Then, the second program code and the execution result of the second program code are stored in the storage device 32 (S306).
The edited second program code may be automatically executed when the second program code is edited to the stage where the second program code can be executed, regardless of whether or not the execution operation is accepted. Further, the second program code and the execution result of the second program code may be stored before or at the same time as each display. The second program code may be stored before or at the same time as the execution.

そして、第二端末30は、確認者Tから第二プログラムコードの送信操作を受け付けると(S307)、第二データのどちらか一方又は両方を第一端末10に向けて送信する(S308)。 Then, when the second terminal 30 receives the transmission operation of the second program code from the confirmer T (S307), the second terminal 30 transmits either or both of the second data to the first terminal 10 (S308).

第一端末10は、第二端末30から送信された第二データに基づく第二情報を取得すると(S309)、取得した情報が第二プログラムコードの実行結果を示す第二データに基づく第二情報であるか否かを判定する(S310)。取得した情報が第二プログラムコードの実行結果を示す第二データである場合(S310:Yes)、第一端末10は、第二プログラムコードの実行結果をプログラム実行画面3のプログラム実行領域5に表示して報知する(S312)。この報知が実演となる。 When the first terminal 10 acquires the second information based on the second data transmitted from the second terminal 30 (S309), the acquired information is the second information based on the second data indicating the execution result of the second program code. (S310). When the acquired information is the second data indicating the execution result of the second program code (S310: Yes), the first terminal 10 displays the execution result of the second program code in the program execution area 5 of the program execution screen 3. And notify (S312). This notification will be a demonstration.

他方、取得した情報が第二プログラムコードの実行結果を示す第二データに基づく第二情報でない場合(S310:No)、すなわち、第二プログラムコードを示す第二データに基づく第二情報である場合、第一端末10は、その第二プログラムコードを実行した後(S311)、第二プログラムコードの実行結果をプログラム実行画面3のプログラム実行領域5に表示して報知する(S312)。この報知も実演に該当する。
なお、このとき、第一端末10は、第二プログラムコードを示す第二データに基づく第二情報を取得していたとしても、その第二プログラムコード自体はプログラム実行画面3に表示しない。
以上が、実演配信処理の一例である。
On the other hand, when the acquired information is not the second information based on the second data indicating the execution result of the second program code (S310: No), that is, when the second information is based on the second data indicating the second program code. After executing the second program code, the first terminal 10 displays the execution result of the second program code in the program execution area 5 of the program execution screen 3 (S312). This notification also corresponds to the demonstration.
At this time, even if the first terminal 10 has acquired the second information based on the second data indicating the second program code, the second program code itself is not displayed on the program execution screen 3.
The above is an example of the demonstration distribution process.

[学習開始状況管理処理]
次に、図16に基づいて、学習開始状況管理処理について説明する。
「学習開始状況管理処理」とは、学習者Sが学習を開始しているか否かを第二端末30で管理する処理をいう。
[Learning start status management process]
Next, the learning start status management process will be described with reference to FIG.
The “learning start status management process” refers to a process in which the second terminal 30 manages whether or not the learner S has started learning.

図16に示されるように、第一端末10は、学習者Sからプログラムコードの編集操作等の各種操作を受け付けると(S401)、学習開始連絡データを作成し(S402)、その作成した学習開始連絡データを第二端末30に向けて送信する(S403)。 As shown in FIG. 16, when the first terminal 10 receives various operations such as a program code editing operation from the learner S (S401), the learning start communication data is created (S402), and the created learning start is started. The communication data is transmitted to the second terminal 30 (S403).

第二端末30は、第一端末10から送信された学習開始連絡データを受信すると(S404)、記憶装置12に記憶されている学習者情報テーブルDから該当する学習者Sの学習者情報を読み込み(S405)、その読み込んだ学習者情報の学習状況の項目を学習中と設定する(S406)。
そして、学習状況が「学習中」と設定された学習者情報を記憶装置12に再び記憶するとともに(S407)、学習者管理画面57に表示して報知する(S408)。
以上が、学習開始状況管理処理の一例である。
When the second terminal 30 receives the learning start communication data transmitted from the first terminal 10 (S404), the second terminal 30 reads the learner information of the corresponding learner S from the learner information table D stored in the storage device 12. (S405), the item of the learning status of the read learner information is set as learning (S406).
Then, the learner information whose learning status is set to "learning" is stored in the storage device 12 again (S407), and is displayed on the learner management screen 57 to notify the learner (S408).
The above is an example of the learning start status management process.

[進捗状況管理処理]
次に、図17に基づいて、進捗状況管理処理について説明する。
「進捗状況管理処理」とは、学習者Sの進捗状況を第二端末30で管理する処理をいう。
[Progress management process]
Next, the progress management process will be described with reference to FIG.
The “progress status management process” refers to a process of managing the progress status of the learner S on the second terminal 30.

図17に示されるように、第一端末10は、上述した所定の更新条件を達成すると(S501)、更新データを作成し(S502)、その作成した更新データを第二端末30に向けて送信する(S503)。例えば、ある課題に応じたプログラムコードを複数のブロックに分け、各ブロック単位で編集が完了した段階で上記プログラムコードの実行結果が得られた場合に、第一端末10は、更新データを作成して第二端末30に向けて送信する。 As shown in FIG. 17, when the first terminal 10 achieves the above-mentioned predetermined update condition (S501), the first terminal 10 creates update data (S502) and transmits the created update data to the second terminal 30. (S503). For example, when the program code corresponding to a certain problem is divided into a plurality of blocks and the execution result of the program code is obtained at the stage when the editing is completed for each block, the first terminal 10 creates update data. Is transmitted to the second terminal 30.

第二端末30は、第一端末10から送信された更新データを受信すると(S504)、記憶装置12に記憶されている学習者情報テーブルDから該当する学習者Sの学習者情報を読み込み(S505)、その読み込んだ学習者情報を更新データの内容に基づいて書き換えることにより更新する(S506)。例えば、更新データによって、学習者情報の現在課題再生数又は現在の成否等の情報が更新される。
そして、その更新した学習者情報を記憶装置12に再び記憶するとともに(S507)、学習者管理画面57に表示して報知する(S508)。
以上が、進捗状況管理処理の一例である。
When the second terminal 30 receives the update data transmitted from the first terminal 10 (S504), the second terminal 30 reads the learner information of the corresponding learner S from the learner information table D stored in the storage device 12 (S505). ), The read learner information is updated by rewriting it based on the content of the update data (S506). For example, the update data updates information such as the current number of tasks played or the current success / failure of the learner information.
Then, the updated learner information is stored in the storage device 12 again (S507), and is displayed on the learner management screen 57 for notification (S508).
The above is an example of the progress management process.

<その他の実施形態>
本発明は上記の実施形態に限定されるものではない。
例えば、第一端末10及び第二端末30にインストールされているウェブブラウザを介して、ウェブページとして、プログラムコードの表示又は実行等をする構成であってもよい。この場合であっても、第一端末10及び第二端末30のそれぞれの端末にて、プログラムコード又は第二プログラムコードの実行等の各処理を行う。
<Other Embodiments>
The present invention is not limited to the above embodiments.
For example, the program code may be displayed or executed as a web page via a web browser installed in the first terminal 10 and the second terminal 30. Even in this case, each of the terminals of the first terminal 10 and the second terminal 30 performs each process such as execution of the program code or the second program code.

また、上記の実施形態では、プログラミング学習支援システム1は、第一端末10及び第二端末30のそれぞれの端末にて、プログラムコード又は第二プログラムコードの実行等の各処理を行うこととしたが、不図示のサーバ等を別途備え、そのサーバにて各処理を行わせることとしてもよい。具体的には、ASP(Application Service Provider)、SaaS(Software as a Service)、PaaS(Platform as a Service)又はIaaS(Infrastructure as a Service)等の方式で利用可能である。
この場合、ASP等に用いられるサーバは、プログラムコード及び第二プログラムコードのうちのいずれか一方又は両方を実行し、その実行結果を表示させるためのデータを生成し、記憶することができる。そのため、第一端末10及び第二端末30に、例えば、プログラムコード若しくは第二プログラムコードの実行処理を行うための機能(第一端末側実行部18及び第二端末側実行部38)、又は、プログラムコード等の各種データを記憶するための機能(第一端末側記憶部19及び第二端末側記憶部39)等を有さなくともよい。
Further, in the above embodiment, the programming learning support system 1 decides to perform each process such as execution of the program code or the second program code at each terminal of the first terminal 10 and the second terminal 30. , A server (not shown) or the like may be separately provided, and each process may be performed by the server. Specifically, it can be used by a method such as ASP (Application Service Provider), SaaS (Software as a Service), PaaS (Platform as a Service), or IaaS (Infrastructure as a Service).
In this case, the server used for the ASP or the like can execute one or both of the program code and the second program code, and generate and store data for displaying the execution result. Therefore, for example, a function for executing the program code or the second program code on the first terminal 10 and the second terminal 30 (first terminal side execution unit 18 and second terminal side execution unit 38), or It is not necessary to have a function for storing various data such as a program code (first terminal side storage unit 19 and second terminal side storage unit 39).

また、複数の学習者Sとその複数の学習者Sにより操作される複数の第一端末10が存在することを前提として、学習者S同士でチームを構築して同期通信を行い、学習者Sの操作する第一端末10側で互いに課題提供者と解答者の役回りを担当することとしてもよい。このとき、課題は、プログラミング学習支援システム1からダウンロードすることもできるし、第一端末10の機能として問題作成編集モードを設け、自作することもできる。 Further, on the premise that there are a plurality of learners S and a plurality of first terminals 10 operated by the plurality of learners S, the learners S form a team to perform synchronous communication, and the learners S perform synchronous communication. The task provider and the answerer may be in charge of each other on the side of the first terminal 10 operated by. At this time, the task can be downloaded from the programming learning support system 1, or the question creation / editing mode can be provided as a function of the first terminal 10 and the task can be created by oneself.

さらに、複数の学習者Sとその複数の学習者Sにより操作される複数の第一端末10が存在することを前提として、学習者S同士でチームを構築して同期通信を行い、各学習者Sの第一端末10ごとに、プログラミング学習支援システム1における入力担当用と出力担当用としての役割を割り振り、複数台(例えば2〜8台)の出力担当用の第一端末10の画面を並べて大画面の出力装置を構築し、予め定めた課題をチームで解決する、ということもできる。 Further, on the premise that there are a plurality of learners S and a plurality of first terminals 10 operated by the plurality of learners S, the learners S form a team and perform synchronous communication, and each learner. For each of the first terminals 10 of S, roles for input and output in the programming learning support system 1 are assigned, and the screens of a plurality of (for example, 2 to 8) first terminals 10 for output are arranged side by side. It is also possible to build a large screen output device and solve predetermined problems as a team.

なお、本実施形態では、学習者Sは、プログラミング学習支援システム1に接続した状態、すなわち、オンライン状態で課題を実施することとしたが、第一端末10に予め記憶されている問題集、又は、プログラミング学習支援システム1から自習用に事前に送信された問題集等を用いてオフライン学習を行うこともできる。 In the present embodiment, the learner S decides to perform the task in a state of being connected to the programming learning support system 1, that is, in an online state, but the problem collection stored in advance in the first terminal 10 or , It is also possible to perform offline learning using a collection of questions sent in advance for self-study from the programming learning support system 1.

<まとめ>
以上説明した本実施形態に係るプログラミング学習支援システム1及びプログラミング学習支援システム1により実施されるプログラミング学習支援方法の主な特徴は以下の通りである。
<Summary>
The main features of the programming learning support system 1 and the programming learning support method implemented by the programming learning support system 1 according to the present embodiment described above are as follows.

[1]本実施形態に係るプログラミング学習支援システム1は、互いに通信可能な第一端末10及び第二端末30を有し、第一端末10は、第一端末10を利用する学習者Sによる編集操作を受け付ける第一端末側操作受付部16と、第一端末側操作受付部16が受け付けた編集操作に従って編集されたプログラムコードを含むプログラム編集画面を表示する第一端末側表示部17と、プログラムコードを示すデータ、及び、プログラムコードの実行結果を示すデータの少なくとも一つのデータを第二端末30に向けて送信する第一端末側送信部20と、第二端末30は、第一端末側送信部20が送信した少なくとも一つのデータに基づく情報を取得する第二端末側取得部41と、第二端末30を利用する確認者Tに対して、第二端末側取得部41が取得した情報を報知する第二端末側報知部42と、を有する。
上記のプログラミング学習支援システム1によれば、学習者Sが編集したプログラムコード又はそのプログラムコードの実行結果を、教員等の確認者Tが、学習者Sとの間で特別なやり取りの必要もなく、任意のタイミングで確認することができる。そのため、確認者Tにとっては、学習者Sの進捗状況や理解度を正確且つ容易に把握することができる。一方、学習者Sにとっては、編集したプログラムの内容を確認者Tに確認してもらうことができるので、学習効率を向上させることができる。
[1] The programming learning support system 1 according to the present embodiment has a first terminal 10 and a second terminal 30 that can communicate with each other, and the first terminal 10 is edited by a learner S who uses the first terminal 10. A first terminal side operation receiving unit 16 that accepts operations, a first terminal side display unit 17 that displays a program editing screen including a program code edited according to an editing operation received by the first terminal side operation receiving unit 16, and a program. The first terminal side transmitting unit 20 and the second terminal 30 transmit at least one of the data indicating the code and the data indicating the execution result of the program code to the second terminal 30. The information acquired by the second terminal side acquisition unit 41 is provided to the second terminal side acquisition unit 41 that acquires information based on at least one data transmitted by the unit 20 and the confirmer T who uses the second terminal 30. It has a second terminal side notification unit 42 for notification.
According to the above-mentioned programming learning support system 1, the confirmer T, such as a teacher, does not need to exchange the program code edited by the learner S or the execution result of the program code with the learner S in a special manner. , Can be confirmed at any time. Therefore, the confirmer T can accurately and easily grasp the progress status and the degree of understanding of the learner S. On the other hand, for the learner S, since the content of the edited program can be confirmed by the confirmer T, the learning efficiency can be improved.

[2]上記のプログラミング学習支援システム1は、第一端末10は、少なくとも一つのデータを所定の記憶条件に基づいて記憶する第一端末側記憶部19をさらに有し、第一端末側送信部20は、第一端末側記憶部19に記憶されたデータのうち少なくとも一つを、第二端末30に向けて送信する。
こうすることで、学習者Sは、所定の記憶条件で記憶されたプログラムコード又はプログラムコードの実行結果の内容を確認者Tに確認してもらうことができるため、学習途中で集中を妨げられることもなく、学習効率がより向上する。
[2] In the above-mentioned programming learning support system 1, the first terminal 10 further includes a first terminal side storage unit 19 that stores at least one data based on a predetermined storage condition, and the first terminal side transmission unit. 20 transmits at least one of the data stored in the storage unit 19 on the first terminal side to the second terminal 30.
By doing so, the learner S can have the confirmer T confirm the contents of the program code or the execution result of the program code stored under the predetermined storage conditions, so that the concentration is hindered during the learning. There is no such thing, and learning efficiency is further improved.

[3]上記のプログラミング学習支援システム1は、第二端末側取得部41が第一端末10から取得する少なくとも一つのデータに基づく情報は、第一端末側記憶部19により記憶された少なくとも一つのデータのうち最新のデータに基づく情報である。
こうすることで、確認者Tは、最新のプログラムコード又はプログラムコードの実行結果(すなわち、最後に実行されたプログラムコードの実行結果)を確認することができるので、より正確且つ容易に学習者Sの進捗状況や理解度を把握することができる。一方、学習者Sは、最新のプログラムコード又はプログラムコードの実行結果を確認者Tに確認してもらうことができるため、学習効率がより向上する。
[3] In the above-mentioned programming learning support system 1, the information based on at least one data acquired by the second terminal side acquisition unit 41 from the first terminal 10 is stored in at least one of the first terminal side storage units 19. Information based on the latest data among the data.
By doing so, the confirmer T can confirm the latest program code or the execution result of the program code (that is, the execution result of the last executed program code), so that the learner S can confirm more accurately and easily. You can grasp the progress and understanding of. On the other hand, since the learner S can have the confirmer T confirm the latest program code or the execution result of the program code, the learning efficiency is further improved.

[4]上記のプログラミング学習支援システム1は、第二端末30は、確認者Tによる編集操作を受け付ける第二端末側操作受付部36と、第二端末側操作受付部36が受け付けた編集操作に従って編集された第二プログラムコードを含むプログラム編集画面を表示する第二端末側表示部37と、第二プログラムコードを示す第二データ、及び、第二プログラムコードの実行結果を示す第二データの少なくとも一つの第二データを第一端末10に向けて送信する第二端末側送信部40と、第一端末10は、第二端末側送信部40が送信した少なくとも一つの第二データに基づく第二情報を取得する第一端末側取得部21と、学習者Sに対して、第一端末側取得部21が取得した第二情報を報知する第一端末側報知部22と、をさらに有する。
こうすることにより、確認者Tは、学習者Sの進捗状況や理解度を把握したうえで、正解又はヒントを示す模範となるプログラムコード(第二プログラムコード)を学習者Sに送信することができるので、学習者Sの学習効率をより向上させることができる。
[4] In the above-mentioned programming learning support system 1, the second terminal 30 follows the editing operations received by the second terminal side operation receiving unit 36 and the second terminal side operation receiving unit 36 that accept the editing operation by the confirmer T. At least the second terminal side display unit 37 that displays the program edit screen including the edited second program code, the second data indicating the second program code, and the second data indicating the execution result of the second program code. The second terminal side transmitting unit 40 that transmits one second data to the first terminal 10 and the first terminal 10 are the second based on at least one second data transmitted by the second terminal side transmitting unit 40. It further includes a first terminal-side acquisition unit 21 for acquiring information, and a first terminal-side notification unit 22 for notifying the learner S of the second information acquired by the first terminal-side acquisition unit 21.
By doing so, the confirmer T can send the model code (second program code) indicating the correct answer or hint to the learner S after grasping the progress status and the degree of understanding of the learner S. Therefore, the learning efficiency of the learner S can be further improved.

[5]上記のプログラミング学習支援システム1は、第一端末側報知部22により報知される第二情報は、第二プログラムコードを示す第二データを含まない。
こうすることにより、学習者Sは、第二プログラムコードの実行結果は確認することができても、その解答を示す第二プログラムコード自体は確認することができない。そのため、学習者Sは、その第二プログラムコードの実行結果を参考にしつつ、プログラムコードを自ら修正等してさらに学習を進めることができるので、学習者Sの学習効率をより向上させることができる。
[5] In the above-mentioned programming learning support system 1, the second information notified by the first terminal side notification unit 22 does not include the second data indicating the second program code.
By doing so, the learner S can confirm the execution result of the second program code, but cannot confirm the second program code itself showing the answer. Therefore, the learner S can further improve the learning efficiency of the learner S by modifying the program code by himself / herself while referring to the execution result of the second program code. ..

[6]上記のプログラミング学習支援システム1は、第二端末側送信部40は、プログラムコード中にエラーが有る場合に、第一端末10に対して、少なくとも一つの第二データを送信する。
こうすることにより、学習者Sが編集したプログラムコードのエラー判定を行うので、確認者Tは、より正確且つ容易に学習者Sの進捗状況や理解度を把握することができる。また、編集したプログラムコード中にエラーが発見された学習者Sに対して模範となる第二プログラムコードを送信するので、学習者Sの学習効率をより向上させることができる。
[6] In the above-mentioned programming learning support system 1, the second terminal side transmission unit 40 transmits at least one second data to the first terminal 10 when there is an error in the program code.
By doing so, since the error determination of the program code edited by the learner S is performed, the confirmer T can more accurately and easily grasp the progress status and the degree of understanding of the learner S. Further, since the second program code as a model is transmitted to the learner S in which an error is found in the edited program code, the learning efficiency of the learner S can be further improved.

[7]上記のプログラミング学習支援システム1は、第一端末10は、プログラム編集画面の表示とともに、第二情報の報知を行う。
こうすることにより、学習者Sは、模範となる第二プログラムコード又は第二プログラムコードの実行結果を確認しながら、プログラムコードの編集をすることができるので、学習者Sの学習効率をより向上させることができる。
[7] In the above-mentioned programming learning support system 1, the first terminal 10 displays the program edit screen and notifies the second information.
By doing so, the learner S can edit the program code while checking the model second program code or the execution result of the second program code, so that the learning efficiency of the learner S is further improved. Can be made to.

[8]上記のプログラミング学習支援システム1は、第一端末10は、プログラムコードの実行対象を、プログラム編集画面に表示されるプログラムコードと、第二情報に含まれる第二プログラムコードとの間で切り替え可能とする。
こうすることにより、学習者Sは、模範となる第二プログラムコードの実行結果を確認しながら、プログラムコードの編集をすることができるので、学習者Sの学習効率をより向上させることができる。
[8] In the above-mentioned programming learning support system 1, the first terminal 10 sets the execution target of the program code between the program code displayed on the program edit screen and the second program code included in the second information. It can be switched.
By doing so, the learner S can edit the program code while checking the execution result of the second program code as a model, so that the learning efficiency of the learner S can be further improved.

[9]上記のプログラミング学習支援システム1は、第二端末30は、学習者Sの学習状況を示す学習者情報を管理する第二端末側管理部45をさらに有し、第一端末側送信部は、プログラムコードの実行結果が所定の更新条件を満たした場合に学習者情報を更新する更新データを第二端末30に向けて送信し、第二端末側管理部45は、第二端末30が更新データを受信したときに学習者情報を更新し、第二端末側報知部42は、学習者情報が更新された際に学習者情報を報知する。
こうすることにより、確認者Tは、学習者Sによるプログラムコードの実行結果が、予め設定された実行回数又は到達段階等の所定の更新条件を満たしたか否かの確認ができるので、より正確且つ容易に学習者Sの進捗状況や理解度を把握することができる。
[9] In the above-mentioned programming learning support system 1, the second terminal 30 further has a second terminal side management unit 45 that manages learner information indicating a learner S's learning status, and a first terminal side transmission unit. Sends update data for updating learner information to the second terminal 30 when the execution result of the program code satisfies a predetermined update condition, and the second terminal 30 manages the second terminal side management unit 45. The learner information is updated when the updated data is received, and the second terminal side notification unit 42 notifies the learner information when the learner information is updated.
By doing so, the confirmer T can confirm whether or not the execution result of the program code by the learner S satisfies a predetermined update condition such as the preset number of executions or the arrival stage, so that it is more accurate and more accurate. The progress and understanding of the learner S can be easily grasped.

[10]上記のプログラミング学習支援システム1は、第二端末30は、学習者Sの学習状況を示す学習者情報を管理する第二端末側管理部45をさらに有し、第一端末側操作受付部16は、学習者Sによる学習開始操作を受け付け、第一端末側送信部20は、第一端末側操作受付部16が学習開始操作を受け付けると、学習開始連絡データを第二端末30に向けて送信し、第二端末側管理部45は、第二端末30が学習開始連絡データを受信したときに学習者情報を学習中と設定し、第二端末側報知部42は、確認者Tに対して、学習者情報が学習中に設定された際に学習者情報を報知する。
こうすることにより、確認者Tは、学習者Sが学習を開始したか否かの確認ができるので、より正確且つ容易に学習者Sの進捗状況や理解度を把握することができる。
[10] In the above-mentioned programming learning support system 1, the second terminal 30 further has a second terminal side management unit 45 that manages learner information indicating the learning status of the learner S, and receives operations on the first terminal side. The unit 16 receives the learning start operation by the learner S, and the first terminal side transmission unit 20 directs the learning start communication data to the second terminal 30 when the first terminal side operation reception unit 16 receives the learning start operation. The second terminal side management unit 45 sets that the learner information is being learned when the second terminal 30 receives the learning start communication data, and the second terminal side notification unit 42 informs the confirmer T. On the other hand, when the learner information is set during learning, the learner information is notified.
By doing so, the confirmer T can confirm whether or not the learner S has started learning, so that the progress status and the degree of understanding of the learner S can be grasped more accurately and easily.

[11]上記のプログラミング学習支援システム1は、第二端末30は、第一端末10が複数存在する場合に、複数の第一端末10の中から第一端末10を選択する第二端末側選択部46をさらに有し、第二端末側取得部41は、第二端末側選択部46により選択された第一端末10の第一端末側送信部20が送信した少なくとも一つのデータに基づく情報を取得する。
こうすることにより、確認者Tは、特定の学習者Sの状況を個別に確認することができるので、より正確且つ容易に学習者Sの進捗状況や理解度を把握することができる。
[11] In the above-mentioned programming learning support system 1, when the second terminal 30 has a plurality of the first terminals 10, the second terminal side selects the first terminal 10 from the plurality of first terminals 10. The second terminal side acquisition unit 41 further includes a unit 46, and the second terminal side acquisition unit 41 obtains information based on at least one data transmitted by the first terminal side transmission unit 20 of the first terminal 10 selected by the second terminal side selection unit 46. get.
By doing so, the confirmer T can individually confirm the situation of the specific learner S, so that the progress status and the degree of understanding of the learner S can be grasped more accurately and easily.

[12]上記のプログラミング学習支援システム1は、プログラム編集画面には、それぞれがコード文字列と対応付けられた1又は複数のコード入力用ブロック8を表示し、第一端末側操作受付部16は、コード入力用ブロック8に対する選択操作を受け付け、第一端末側表示部17は、選択されたコード入力用ブロック8に対応するコード文字列をプログラム編集画面に入力して表示する。
こうすることにより、学習者Sは、ブロックを用いてプログラム編集を行うことにより、プログラム編集を簡易化でき、さらにプログラムコードも併せて確認できるので、学習者Sの学習効率をより向上させることができる。
[12] In the above-mentioned programming learning support system 1, one or a plurality of code input blocks 8 each associated with a code character string are displayed on the program edit screen, and the first terminal side operation reception unit 16 is displayed. , The selection operation for the code input block 8 is accepted, and the first terminal side display unit 17 inputs and displays the code character string corresponding to the selected code input block 8 on the program edit screen.
By doing so, the learner S can simplify the program editing by editing the program using the blocks, and can also check the program code, so that the learning efficiency of the learner S can be further improved. it can.

[13]上記のプログラミング学習支援システム1は、プログラムは、図形描画プログラムであり、プログラム編集画面には、図形描画エリアと図形描画エリア内を移動可能なカーソル9とを表示し、第一端末側操作受付部16は、カーソル9の移動操作と、カーソル9の表示位置に基づく位置指定操作と、を受け付け、第一端末側表示部17は、位置指定操作が行われたときのカーソル表示位置に応じた図形描画エリア内の座標位置をプログラム編集画面に入力して表示する。
こうすることにより、学習者Sは、カーソルで座標位置を指定してプログラム編集を行うことにより、プログラム編集を簡易化でき、学習者Sの学習効率をより向上させることができる。
[13] In the programming learning support system 1 described above, the program is a drawing program, and the drawing area and the cursor 9 that can move in the drawing area are displayed on the program editing screen, and the first terminal side. The operation reception unit 16 accepts the movement operation of the cursor 9 and the position designation operation based on the display position of the cursor 9, and the first terminal side display unit 17 sets the cursor display position when the position designation operation is performed. The coordinate position in the corresponding drawing area is input to the program edit screen and displayed.
By doing so, the learner S can simplify the program editing by designating the coordinate position with the cursor and perform the program editing, and the learning efficiency of the learner S can be further improved.

[14]また、本実施形態に係るプログラミング学習支援方法によれば、互いに通信可能な第一端末10及び第二端末30を用いたプログラミング学習支援方法であって、第一端末10を利用する学習者Sによる編集操作を受け付け、編集操作に従って編集されたプログラムコードを含むプログラム編集画面を表示させ、第二端末30を利用する確認者Tに対して、プログラムコードを示すデータ、及び、プログラムコードの実行結果を示すデータの少なくとも一つのデータに基づく情報を報知する。
こうすることで、学習者Sが編集したプログラムコード又はそのプログラムコードの実行結果を、教員等の確認者Tが、学習者Sとの間で特別なやり取りの必要もなく、任意のタイミングで確認することができる。そのため、確認者Tにとっては、学習者Sの進捗状況や理解度を正確且つ容易に把握することができる。一方、学習者Sにとっては、編集したプログラムの内容を確認者Tに確認してもらうことができるので、学習効率を向上させることができる。
[14] Further, according to the programming learning support method according to the present embodiment, it is a programming learning support method using the first terminal 10 and the second terminal 30 that can communicate with each other, and learning using the first terminal 10. The data indicating the program code and the program code are displayed for the confirmer T who accepts the editing operation by the person S, displays the program editing screen including the program code edited according to the editing operation, and uses the second terminal 30. Notify the information based on at least one of the data indicating the execution result.
By doing so, the confirmer T, such as a teacher, confirms the program code edited by the learner S or the execution result of the program code at an arbitrary timing without the need for special communication with the learner S. can do. Therefore, the confirmer T can accurately and easily grasp the progress status and the degree of understanding of the learner S. On the other hand, for the learner S, since the content of the edited program can be confirmed by the confirmer T, the learning efficiency can be improved.

1 プログラミング学習支援システム
2 プログラム編集画面
3 プログラム実行画面
4 プログラムコード表示領域
5 プログラム実行領域
6 課題表示領域
7 ブロック表示領域
8 コード入力用ブロック
9 カーソル
10 第一端末
11 プロセッサ
12 記憶装置
13 通信用インターフェース
14 入力装置
15 出力装置
16 第一端末側操作受付部
17 第一端末側表示部
18 第一端末側実行部
19 第一端末側記憶部
20 第一端末側送信部
21 第一端末側取得部
22 第一端末側報知部
23 第一端末側受信部
24 第一端末側データ作成部
25 第一端末側判定部
30 第二端末
31 プロセッサ
32 記憶装置
33 通信用インターフェース
34 入力装置
35 出力装置
36 第二端末側操作受付部
37 第二端末側表示部
38 第二端末側実行部
39 第二端末側記憶部
40 第二端末側送信部
41 第二端末側取得部
42 第二端末側報知部
43 第二端末側受信部
44 第二端末側データ作成部
45 第二端末側管理部
46 第二端末側選択部
47 第二端末側判定部
52 プログラム編集画面
53 プログラム実行画面
54 プログラムコード表示領域
55 プログラム実行領域
56 課題選択画面
57 学習者管理画面
60 サーバ
C キャラクター
D 学習者情報テーブル
N ネットワーク
S 学習者
T 確認者
X 座標
Y 座標
Z 座標
1 Program learning support system 2 Program edit screen 3 Program execution screen 4 Program code display area 5 Program execution area 6 Task display area 7 Block display area 8 Code input block 9 Cursor 10 First terminal 11 Processor 12 Storage device 13 Communication interface 14 Input device 15 Output device 16 First terminal side operation reception unit 17 First terminal side display unit 18 First terminal side execution unit 19 First terminal side storage unit 20 First terminal side transmission unit 21 First terminal side acquisition unit 22 First terminal side notification unit 23 First terminal side receiving unit 24 First terminal side data creation unit 25 First terminal side judgment unit 30 Second terminal 31 Processor 32 Storage device 33 Communication interface 34 Input device 35 Output device 36 Second Terminal side operation reception unit 37 Second terminal side display unit 38 Second terminal side execution unit 39 Second terminal side storage unit 40 Second terminal side transmission unit 41 Second terminal side acquisition unit 42 Second terminal side notification unit 43 Second Terminal side receiver 44 Second terminal side data creation unit 45 Second terminal side management unit 46 Second terminal side selection unit 47 Second terminal side judgment unit 52 Program edit screen 53 Program execution screen 54 Program code display area 55 Program execution area 56 Task selection screen 57 Learner management screen 60 Server C Character D Learner information table N Network S Learner T Confirmer X coordinate Y coordinate Z coordinate

Claims (14)

互いに通信可能な第一端末及び第二端末を有し、
前記第一端末は、
前記第一端末を利用する学習者による編集操作を受け付ける第一端末側操作受付部と、
前記第一端末側操作受付部が受け付けた前記編集操作に従って編集されたプログラムコードを含むプログラム編集画面を表示する第一端末側表示部と、
前記プログラムコードを示すデータ、及び、前記プログラムコードの実行結果を示すデータの少なくとも一つのデータを前記第二端末に向けて送信する第一端末側送信部と、
前記第二端末は、
前記第一端末側送信部が送信した前記少なくとも一つのデータに基づく情報を取得する第二端末側取得部と、
前記第二端末を利用する確認者に対して、前記第二端末側取得部が取得した前記情報を報知する第二端末側報知部と、
を有するプログラミング学習支援システム。
It has a first terminal and a second terminal that can communicate with each other,
The first terminal is
An operation reception unit on the first terminal side that accepts editing operations by a learner who uses the first terminal,
A display unit on the first terminal side that displays a program edit screen including a program code edited according to the edit operation received by the operation reception unit on the first terminal side.
A transmission unit on the first terminal side that transmits at least one data of data indicating the program code and data indicating an execution result of the program code to the second terminal.
The second terminal is
A second terminal-side acquisition unit that acquires information based on at least one of the data transmitted by the first terminal-side transmission unit, and a second terminal-side acquisition unit.
A second terminal-side notification unit that notifies the confirmer who uses the second terminal of the information acquired by the second terminal-side acquisition unit,
Programming learning support system with.
前記第一端末は、前記少なくとも一つのデータを所定の記憶条件に基づいて記憶する第一端末側記憶部をさらに有し、
前記第一端末側送信部は、前記第一端末側記憶部に記憶されたデータのうち少なくとも一つを、前記第二端末に向けて送信する、請求項1に記載のプログラミング学習支援システム。
The first terminal further includes a first terminal side storage unit that stores at least one of the data based on predetermined storage conditions.
The programming learning support system according to claim 1, wherein the first terminal-side transmission unit transmits at least one of the data stored in the first terminal-side storage unit to the second terminal.
前記第二端末側取得部が前記第一端末から取得する前記少なくとも一つのデータに基づく情報は、前記第一端末側記憶部により記憶された前記少なくとも一つのデータのうち最新のデータに基づく情報である、請求項2に記載のプログラミング学習支援システム。 The information based on the at least one data acquired by the second terminal side acquisition unit from the first terminal is information based on the latest data among the at least one data stored by the first terminal side storage unit. The programming learning support system according to claim 2. 前記第二端末は、
前記確認者による編集操作を受け付ける第二端末側操作受付部と、
前記第二端末側操作受付部が受け付けた前記編集操作に従って編集された第二プログラムコードを含むプログラム編集画面を表示する第二端末側表示部と、
前記第二プログラムコードを示す第二データ、及び、前記第二プログラムコードの実行結果を示す第二データの少なくとも一つの第二データを前記第一端末に向けて送信する第二端末側送信部と、
前記第一端末は、
前記第二端末側送信部が送信した前記少なくとも一つの第二データに基づく第二情報を取得する第一端末側取得部と、
前記学習者に対して、前記第一端末側取得部が取得した前記第二情報を報知する第一端末側報知部と、
をさらに有する、請求項1乃至3のいずれか1項に記載のプログラミング学習支援システム。
The second terminal is
The operation reception unit on the second terminal side that accepts the editing operation by the confirmer,
A second terminal side display unit that displays a program edit screen including a second program code edited according to the edit operation received by the second terminal side operation reception unit, and a second terminal side display unit.
A second terminal-side transmitter that transmits at least one second data of the second data indicating the second program code and the second data indicating the execution result of the second program code to the first terminal. ,
The first terminal is
The first terminal side acquisition unit that acquires the second information based on the at least one second data transmitted by the second terminal side transmission unit, and the first terminal side acquisition unit.
A first terminal side notification unit that notifies the learner of the second information acquired by the first terminal side acquisition unit.
The programming learning support system according to any one of claims 1 to 3, further comprising.
前記第一端末側報知部により報知される前記第二情報は、前記第二プログラムコードを示す第二データを含まない、請求項4に記載のプログラミング学習支援システム。 The programming learning support system according to claim 4, wherein the second information notified by the first terminal side notification unit does not include second data indicating the second program code. 前記第二端末側送信部は、前記プログラムコード中にエラーが有る場合に、前記第一端末に対して、前記少なくとも一つの第二データを送信する、請求項4又は5に記載のプログラミング学習支援システム。 The programming learning support according to claim 4 or 5, wherein the second terminal side transmitting unit transmits the at least one second data to the first terminal when there is an error in the program code. system. 前記第一端末は、前記プログラム編集画面の表示とともに、前記第二情報の報知を行う、請求項4乃至6のいずれか1項に記載のプログラミング学習支援システム。 The programming learning support system according to any one of claims 4 to 6, wherein the first terminal displays the program edit screen and notifies the second information. 前記第一端末は、プログラムコードの実行対象を、前記プログラム編集画面に表示される前記プログラムコードと、前記第二情報に含まれる前記第二プログラムコードとの間で切り替え可能とする、請求項4乃至6のいずれか1項に記載のプログラミング学習支援システム。 4. The first terminal makes it possible to switch the execution target of the program code between the program code displayed on the program edit screen and the second program code included in the second information. The programming learning support system according to any one of 6 to 6. 前記第二端末は、
前記学習者の学習状況を示す学習者情報を管理する第二端末側管理部をさらに有し、
前記第一端末側送信部は、前記プログラムコードの実行結果が所定の更新条件を満たした場合に前記学習者情報を更新する更新データを前記第二端末に向けて送信し、
前記第二端末側管理部は、前記第二端末が前記更新データを受信したときに前記学習者情報を更新し、
前記第二端末側報知部は、前記学習者情報が更新された際に前記学習者情報を報知する、請求項1乃至8のいずれか1項に記載のプログラミング学習支援システム。
The second terminal is
It also has a second terminal side management unit that manages learner information indicating the learner's learning status.
The transmission unit on the first terminal side transmits update data for updating the learner information to the second terminal when the execution result of the program code satisfies a predetermined update condition.
The second terminal side management unit updates the learner information when the second terminal receives the update data.
The programming learning support system according to any one of claims 1 to 8, wherein the second terminal side notification unit notifies the learner information when the learner information is updated.
前記第二端末は、
前記学習者の学習状況を示す学習者情報を管理する第二端末側管理部をさらに有し、
前記第一端末側操作受付部は、前記学習者による学習開始操作を受け付け、
前記第一端末側送信部は、前記第一端末側操作受付部が前記学習開始操作を受け付けると、学習開始連絡データを前記第二端末に向けて送信し、
前記第二端末側管理部は、前記第二端末が前記学習開始連絡データを受信したときに前記学習者情報を学習中と設定し、
前記第二端末側報知部は、前記確認者に対して、前記学習者情報が学習中に設定された際に前記学習者情報を報知する、請求項1乃至8のいずれか1項に記載のプログラミング学習支援システム。
The second terminal is
It also has a second terminal side management unit that manages learner information indicating the learner's learning status.
The operation reception unit on the first terminal side receives the learning start operation by the learner, and receives the learning start operation.
When the first terminal side operation receiving unit receives the learning start operation, the first terminal side transmitting unit transmits the learning start communication data to the second terminal.
The second terminal side management unit sets that the learner information is being learned when the second terminal receives the learning start communication data.
The second terminal-side notification unit according to any one of claims 1 to 8, wherein the second terminal-side notification unit notifies the confirmer of the learner information when the learner information is set during learning. Programming learning support system.
前記第二端末は、前記第一端末が複数存在する場合に、複数の前記第一端末の中から前記第一端末を選択する第二端末側選択部をさらに有し、
前記第二端末側取得部は、前記第二端末側選択部により選択された前記第一端末の前記第一端末側送信部が送信した前記少なくとも一つのデータに基づく情報を取得する、請求項1乃至10のいずれか1項に記載のプログラミング学習支援システム。
The second terminal further has a second terminal side selection unit that selects the first terminal from among the plurality of first terminals when a plurality of the first terminals exist.
The second terminal side acquisition unit acquires information based on at least one data transmitted by the first terminal side transmission unit of the first terminal selected by the second terminal side selection unit. The programming learning support system according to any one of 1 to 10.
前記プログラム編集画面には、それぞれがコード文字列と対応付けられた1又は複数のコード入力用ブロックを表示し、
前記第一端末側操作受付部は、前記コード入力用ブロックに対する選択操作を受け付け、
前記第一端末側表示部は、選択された前記コード入力用ブロックに対応するコード文字列を前記プログラム編集画面に入力して表示する、請求項1乃至11のいずれか1項に記載のプログラミング学習支援システム。
On the program edit screen, one or a plurality of code input blocks, each associated with a code character string, are displayed.
The operation reception unit on the first terminal side receives a selection operation for the code input block, and receives the selection operation.
The programming learning according to any one of claims 1 to 11, wherein the first terminal side display unit inputs and displays a code character string corresponding to the selected code input block on the program edit screen. Support system.
前記プログラムは、図形描画プログラムであり、
前記プログラム編集画面には、図形描画エリアと前記図形描画エリア内を移動可能なカーソルとを表示し、
前記第一端末側操作受付部は、前記カーソルの移動操作と、前記カーソルの表示位置に基づく位置指定操作と、を受け付け、
前記第一端末側表示部は、前記位置指定操作が行われたときのカーソル表示位置に応じた前記図形描画エリア内の座標位置を前記プログラム編集画面に入力して表示する、請求項1乃至11のいずれか1項に記載のプログラミング学習支援システム。
The program is a drawing program and
On the program edit screen, a drawing area and a cursor that can be moved in the drawing area are displayed.
The first terminal side operation receiving unit receives the cursor movement operation and the position designation operation based on the display position of the cursor.
The first terminal side display unit inputs and displays the coordinate position in the drawing area according to the cursor display position when the position designation operation is performed on the program edit screen. The programming learning support system described in any one of the above.
互いに通信可能な第一端末及び第二端末を用いたプログラミング学習支援方法であって、
前記第一端末を利用する学習者による編集操作を受け付け、
前記編集操作に従って編集されたプログラムコードを含むプログラム編集画面を表示させ、
前記第二端末を利用する確認者に対して、前記プログラムコードを示すデータ、及び、前記プログラムコードの実行結果を示すデータの少なくとも一つのデータに基づく情報を報知する、
プログラミング学習支援方法。
It is a programming learning support method using the first terminal and the second terminal that can communicate with each other.
Accepts editing operations by learners using the first terminal,
Display the program edit screen including the program code edited according to the above edit operation, and display the program edit screen.
Notify the confirmer who uses the second terminal of information based on at least one data of the data indicating the program code and the data indicating the execution result of the program code.
Programming learning support method.
JP2019176778A 2019-09-27 2019-09-27 Programming learning support system and programming learning support method Active JP7339520B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019176778A JP7339520B2 (en) 2019-09-27 2019-09-27 Programming learning support system and programming learning support method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019176778A JP7339520B2 (en) 2019-09-27 2019-09-27 Programming learning support system and programming learning support method

Publications (2)

Publication Number Publication Date
JP2021056286A true JP2021056286A (en) 2021-04-08
JP7339520B2 JP7339520B2 (en) 2023-09-06

Family

ID=75272533

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019176778A Active JP7339520B2 (en) 2019-09-27 2019-09-27 Programming learning support system and programming learning support method

Country Status (1)

Country Link
JP (1) JP7339520B2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7132557B1 (en) 2021-09-01 2022-09-07 アドバンスデザインテクノロジー株式会社 Device control system
JP7176806B1 (en) 2022-04-19 2022-11-22 株式会社アポローン program learning device
JP7399533B1 (en) 2023-01-06 2023-12-18 株式会社プログミー Programming education method, programming education program, programming education server, and programming education terminal

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006227218A (en) 2005-02-16 2006-08-31 Tokyo Denki Univ System and program for supporting programming education
US20150269856A1 (en) 2014-03-24 2015-09-24 Guru Labs, L.C. Virtual classroom management system and interface
JP2017219718A (en) 2016-06-08 2017-12-14 大日本印刷株式会社 Programming learning device and program
JP6528820B2 (en) 2017-09-19 2019-06-12 カシオ計算機株式会社 Computer, information device, program for operating these, information processing system, and control method of information processing system

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7132557B1 (en) 2021-09-01 2022-09-07 アドバンスデザインテクノロジー株式会社 Device control system
JP2023035318A (en) * 2021-09-01 2023-03-13 アドバンスデザインテクノロジー株式会社 Device control system
JP7176806B1 (en) 2022-04-19 2022-11-22 株式会社アポローン program learning device
JP2023158779A (en) * 2022-04-19 2023-10-31 株式会社アポローン program learning device
JP7399533B1 (en) 2023-01-06 2023-12-18 株式会社プログミー Programming education method, programming education program, programming education server, and programming education terminal

Also Published As

Publication number Publication date
JP7339520B2 (en) 2023-09-06

Similar Documents

Publication Publication Date Title
Bower Design of technology-enhanced learning: Integrating research and practice
US8348675B2 (en) Apparatus and method for delivery of instructional information
CN110009967B (en) One-to-many online collaborative programming teaching method and system
Buchner et al. Promoting Intrinsic Motivation with a Mobile Augmented Reality Learning Environment.
JP7339520B2 (en) Programming learning support system and programming learning support method
US20190347954A1 (en) System and Method of Selective Interaction with Online Educational Programs
JP2006106773A (en) Learning activity platform and method for teaching foreign language via network
KR101460090B1 (en) A cloud computing based n screen smart education system and the method thereof
Zarraonandia et al. Augmented presentations: Supporting the communication in presentations by means of augmented reality
CN110544399A (en) Graphical remote teaching system and graphical remote teaching method
JP2018159737A (en) Information display device, information display method, and program
Parson et al. Using problem-based learning within 3D virtual worlds
Alzubi The role of multimedia tools in Hashemite Kingdom of Jordan education classroom teaching in the digital era
Saleeb Closing the chasm between virtual and physical delivery for innovative learning spaces using learning analytics
KR20110095533A (en) Method for education using robot and display device
KR100392147B1 (en) A communications network system and client system for teaching and test in english
KR101380692B1 (en) Apparatus for on-line study and method for the same
KR20000054844A (en) Method of education by a 3D cyber character, 3D cyber education space and realtime mutual voice supports at internet
JP2004061783A (en) Language teaching system
KR20140119504A (en) IT actual training education SYSTEM USING CLOUD COMPUTING
Clarkson Using Interactive Whiteboards in school settings: A resource for future pedagogies
US20040214151A1 (en) Automatic and interactive computer teaching system
Ge et al. Three-dimension design for mobile learning: Pedagogical, design, and technological considerations and implications
Mallas et al. Gamification of in-classroom diagram design for science students
Donnelly et al. Using a mixed-reality micro-teaching program to support “at risk” pre-service teachers

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220701

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230428

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230509

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230619

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230725

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230807

R150 Certificate of patent or registration of utility model

Ref document number: 7339520

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150