Programming learning system
The programming learning system addresses the challenge of learners' inability to select questions and refer to relevant information by structuring the learning process into two phases with specific screen configurations, improving the online programming experience through enhanced navigation and progress tracking.
Patent Information
- Application Number
- JP2024057364
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-03-29
- Publication Date
- 2025-10-10
AI Technical Summary
Learners in online programming systems often lack the ability to select questions while understanding their learning progress and refer to appropriate information, such as prerequisites, which hinders effective programming education.
A programming learning system that divides the learning process into two phases: Phase 1 for question selection and Phase 2 for problem solving, with distinct screen configurations and display restrictions in each phase, allowing learners to navigate through hierarchical categories and refer to relevant information as needed.
Enables learners to engage in effective online programming by providing appropriate information and structured navigation, enhancing their learning experience and progress tracking.
Smart Images

Figure 2025154391000001_ABST
Abstract
Description
[Technical Field]
[0001] The present invention relates to a programming learning system. [Background technology]
[0002] In recent years, in universities and other institutions, students are often required to code programs as part of their learning assignments. In programming, students acquire skills through repeated problem-solving exercises, and engage in a variety of activities while utilizing available teaching materials, information, and support.
[0003] Programming learning is provided, for example, via an online system via the Web. The online system provides a user interface for programming learning, such as selecting problems (tasks), presenting the selected problems, creating an environment for learners to create answers, and evaluating the answers.
[0004] Techniques relating to user interfaces are disclosed, for example, in the following publications: [Prior art documents] [Patent documents]
[0005] [Patent Document 1] Japanese Patent Application Laid-Open No. 2012-128652 [Patent Document 2] Japanese Patent Application Laid-Open No. 2010-39540 Summary of the Invention [Problem to be solved by the invention]
[0006] However, in online systems, learners may not be able to select questions while understanding their own learning progress and situation. Also, when programming to solve problems in online systems, learners may not be able to refer to appropriate information such as prerequisites.
[0007] Therefore, one disclosure can provide a programming learning system that allows online programming learning while referring to appropriate information. [Means for solving the problem]
[0008] One disclosure is a programming learning system having a first phase in which a problem is selected, and a second phase in which the selected problem is answered, the answer is submitted, and a scoring result is received, in which a screen consisting of one or more screen areas is displayed, each of the screen areas corresponding to a first stage to an Nth stage (an integer of 2 or more), each of the stages having one or more small screens, the first phase is a phase in which problems are selected in stages from the first stage to an Mth stage (an integer of 1 or more but less than N), the screen areas can display one screen of the corresponding stage in a predetermined order, the second phase is a phase in which creations are generated in stages from the M+1th stage to the Nth stage, the screen areas can display multiple screens of the corresponding stage, the screens that can be displayed are predetermined according to the stage, and it is possible to select whether or not to display the screens that can be displayed. [Effects of the Invention]
[0009] One disclosure allows users to learn programming online while referring to appropriate information. [Brief explanation of the drawings]
[0010] [Figure 1] FIG. 1 is a diagram showing an example of the configuration of a programming learning system 10. As shown in FIG. [Figure 2] FIG. 2 is a diagram illustrating an example of the configuration of the Web server 100. As shown in FIG. [Figure 3] FIG. 3 is a diagram showing an example of a screen configuration. [Figure 4] FIG. 4 is a diagram showing an example of screen transitions in phase 1. [Figure 5] FIG. 5 is a diagram showing an example of the activity state and internal state of a learner. [Figure 6]FIG. 6 is a diagram showing an example of a list of screens in phase 2. [Figure 7] FIG. 7 is a diagram showing an example of a list of display restrictions on screens in each category. [Figure 8] FIG. 8 is a diagram showing an example of a screen configuration in phase 2. [Figure 9] FIG. 9 is a diagram showing an example of a screen display in active state 1 (reading). [Figure 10] FIG. 10 is a diagram showing an example of switching of the display screen in the active state 1. In FIG. [Figure 11] FIG. 11 is a diagram showing an example of switching of the display screen in the active state 1. In FIG. [Figure 12] FIG. 12 is a diagram showing an example of a screen display in active state 2 (document creation). [Figure 13] FIG. 13 is a diagram showing an example of a screen display in active state 3 (coding). [Figure 14] FIG. 14 is a diagram showing an example of a screen display in the activity state 4 (during a test). [Figure 15] FIG. 15 is a diagram showing an example of a screen display in active state 5 (recoding). [Figure 16] FIG. 16 is a diagram showing an example of a screen display in the active state 6 (submitting). [Figure 17] FIG. 17 is a diagram showing an example of a screen display in activity state 7 (recoding after submission). [Figure 18] FIG. 18 shows an example of switching in the active state 7. [Figure 19] FIG. 19 shows an example of switching in the active state 7. [Figure 20] FIG. 20 is a diagram showing an example of a screen display in the active state 8 (performance improvement in progress). [Figure 21] FIG. 21 shows an example of switching in the active state 8. [Figure 22] FIG. 22 shows an example of switching in the active state 8. [Figure 23]FIG. 23 is a diagram showing an example of switching in the active state 8.
Mode for Carrying Out the Invention
[0011] [First Embodiment] The first embodiment will be described.
[0012] [Configuration Example of Programming Learning System 10] FIG. 1 is a diagram showing a configuration example of a programming learning system 10. The programming learning system 10 is a system that allows a learner to select a task (problem) to be learned, execute programming, and display scoring and evaluation, etc. For example, it is an online system constructed on the WEB.
[0013] The programming learning system 10 includes a Web server 100, learner PCs 200-1 to n, and a network 300.
[0014] The learner PCs 200-1 to n (hereinafter sometimes referred to as PC200) are communication devices used by the learner, for example, computers or tablet terminal devices.
[0015] The network 300 is a network that connects each device, for example, the Internet or an intranet.
[0016] The Web server 100 is a device that executes a program for presenting problems to the learner and scoring the program, for example, a server machine or a computer. The Web server 100 displays a predetermined screen on the PC200 when the PC200 accesses a specific URL (Uniform Resource Locator). The learner operates the PC200 to transition (select) the screen and perform problem selection, programming, and reference to scoring and evaluation.
[0017] [Configuration Example of Web Server 10] 2 is a diagram illustrating an example of the configuration of the Web server 100. The Web server 100 includes a CPU (Central Processing Unit) 110, a storage 120, a memory 130, a communication circuit 140, and a display 150.
[0018] The storage 120 is an auxiliary storage device such as a flash memory, a hard disk drive (HDD), or a solid state drive (SSD) that stores programs and data. The storage 120 stores a programming learning program 121 and a workspace program 122. The programming learning program 121 includes a problem library in which a plurality of problems are stored.
[0019] The memory 130 is an area into which the programs stored in the storage 120 are loaded. The memory 130 may also be used as an area in which the programs store data.
[0020] The communication circuit 140 is a device that connects to and communicates with the PC 200. The communication circuit 140 connects to and communicates with the PC 200 via the network 300.
[0021] The display 150 is a display screen and a display unit. The display 150 displays, for example, the learner's learning status (such as the degree of progress in learning and the problem currently being studied). The display 150 also displays the program code of the programming learning program 121, a problem library, and the like, so that an administrator can maintain the problems provided by the programming learning system 10. The display 150 may be, for example, an integrated type or an externally connected type.
[0022] The CPU 110 is a processor that loads a program stored in the storage 120 into the memory 130, executes the loaded program, configures each unit, and realizes each process.
[0023] The CPU 110 constructs a control unit and performs programming learning processing by executing the programming learning program 121. The programming learning processing is processing that presents problem selection, programming (coding) environment, scoring, evaluation, etc. in the programming learning system.
[0024] Furthermore, the CPU 110 constructs a control unit and performs a phase 1 provision process by executing a phase 1 provision module 1211 included in the programming learning program 121. The phase 1 provision process is a process for providing a phase 1 screen and work area.
[0025] Furthermore, CPU 110 constructs a control unit and performs phase 2 provision processing by executing phase 2 provision module 1212 included in programming learning program 121. Phase 2 provision processing is processing for providing a phase 2 screen and work area.
[0026] Furthermore, the CPU 110 constructs a workspace by executing the workspace program 122. The workspace is, for example, a work area for coding in a predetermined programming language, compiling, etc. The workspace is displayed as appropriate in the work process of Phase 2, for example.
[0027] <Screen configuration> A description will be given of an example of a screen configuration presented on the PC 200 in the programming learning system 10. In the programming learning system 10, a hierarchical screen configuration is used according to the classification of work processes and problems.
[0028] 3 is a diagram showing an example of a screen configuration. The screens are divided into seven categories. Each category is a group of screens each having one or more screens. Each category will be explained below.
[0029] <1. Dashboard> The dashboard is the first group of screens for selecting questions. Before the dashboard, there may be a screen for authenticating the learner, such as a login screen. The dashboard displays the learner's learning status and progress by category. The learner can select the category of questions on the dashboard.
[0030] <2.Category details> The section details are a group of screens that display information about the selected section. Sections are, for example, courses categorized by difficulty level. In the section details, the learner can select a major category.
[0031] <3.Major classification details> The major category details are a group of screens that display information about the selected major category. Major categories are categorized by the purpose of the problem (graph algorithm, algorithm construction, etc.). In the major category details, the learner can select a subcategory.
[0032] <4. Middle classification details> The intermediate category details are a group of screens that display information about the selected intermediate category. Intermediate categories are categorized, for example, by the key points of the question (input / output, conditional branching, etc.). Learners can select questions in the intermediate category details. When selecting a question, an explanation and summary of each question are displayed.
[0033] <5.Question details> The question details display information about the selected question, including, for example, the question statement, prerequisites, etc.
[0034] <6. Details of the creation> The artifact details display information about the artifact, such as the program code coded for the problem and the execution results of the test case.
[0035] <7. Scoring details> The scoring details display information about the scoring, including, for example, the compilation results of the program code and the score for the creation.
[0036] <Phase> The programming learning system 10 classifies each category into two phases. Each phase will be explained below.
[0037] <Phase 1> Phase 1 is a phase in which the learner selects questions, and includes, for example, categories 1 to 4. In Phase 1, the learner selects questions while following the hierarchical classification structure.
[0038] In Phase 1, for example, consecutive category pages are displayed in two adjacent display areas. Each category page displays the learner's past marking results and progress, stimulating the learner's motivation to achieve their goals and learn, and guiding them to select more appropriate questions.
[0039] <Phase 2> Phase 2 is the phase in which the learner programs for the problem they have selected, and includes categories 5 to 7, for example. Phase 2 is the phase into which the learner transitions from Phase 1 when they select a problem. In Phase 2, the learner sequentially performs the necessary activities (e.g., coding) and support (e.g., display of model answers) from reading the problem to solving it.
[0040] <About screen transitions> The screen transitions for each phase are explained below.
[0041] <1. Phase 1 screen transition> The restrictions on screen transitions in Phase 1 are, for example, as follows: In a dual-screen configuration, two consecutive category screens are displayed on each screen. -One screen (small screen) is displayed for each category (stage). - Pages within each category are displayed in chronological order.
[0042] 4 is a diagram showing an example of screen transitions in Phase 1. The learner selects the next screen in chronological order (predetermined order) in the direction of the arrow.
[0043] For example, the learner selects a category from "Course" on the dashboard screen D1, and transitions to the category detail screen D2-1. A category detail screen group exists for each selected category.
[0044] At this point, the screen will have a two-screen configuration (also called a two-screen area configuration). For example, the dashboard screen D1 will be displayed on the left screen (screen area), and the section detail screen D2-1 will be displayed on the right screen. After that, one of the section detail screens will be displayed on the right screen.
[0045] The transition of screens in the section details is in chronological order from the upper screen D2-1 to the lower screen D2-2. To move from screen D2-1 to screen D2-2, for example, press the list display button or icon. Note that the screen transitions in chronological order in the direction of the arrow, but you can return to the previous screen by pressing the back button or icon. The back and forward operations are the same for the other screens in phase 1.
[0046] The learner selects "Prog" from the category details screen D2-2, and transitions to the major category details screen D3-1.
[0047] At this time, in the two-screen configuration, for example, the division detail screen D2-2 is displayed on the left side, and the major category detail screen D3-1 is displayed on the right side. After that, one of the major category detail screens is displayed on the right side.
[0048] The screen transition in the major category details is from the upper screen D3-1 to the lower screen D3-2 in chronological order.
[0049] For example, the learner selects "arrangement" from the major category details screen D3-2, and transitions to the medium category details screen D4-1.
[0050] At this time, in the two-screen configuration, for example, the large category detail screen D3-2 is displayed on the left, and the medium category detail screen D4-1 is displayed on the right screen. After that, one of the medium category detail screens is displayed on the right screen.
[0051] The screen transitions in the intermediate classification details are from the upper screen D4-1 to the lower screen D4-3 in chronological order.
[0052] The learner then selects the question to answer from the intermediate category details screen D4-3 and moves to the question details screen. After this, the programming learning system moves to Phase 2.
[0053] Phase 1 consists of two screens, the left one of which displays the final screen of the previous category. The right one displays the screen the learner selected within the category, but the screen display can be skipped as the screen transitions in the direction of the arrow. For example, it is not possible to move directly from the medium category details screen D4-1 to the large category details screen D3.
[0054] Thus, in Phase 1, two screens of different categories are displayed. Then, in the currently selected category, the learner can move through the screens in chronological order in the direction of the arrow (or in the opposite direction). This allows the learner to, for example, go back to the previous category or go to the next category while referring to other elements in each category, and to select the appropriate (desired) question.
[0055] <2. Phase 2 screen transition> Next, the screen transitions in phase 2 will be described.
[0056] <2.1 Status> In Phase 2, an internal state is provided and the activity state of the learner is managed using the internal state. Figure 5 is a diagram showing an example of the activity state and internal state of a learner.
[0057] There are, for example, five types of internal states. Each internal state will be explained below.
[0058] If the internal status is checked, it indicates that the internal status is complete (completed, ON). If the internal status is E, it indicates that the internal status is an error status in which an error (including compilation errors, logic errors, etc.) has occurred. Otherwise, it indicates that the internal status is incomplete (incomplete, OFF).
[0059] Completion of reading indicates whether or not the reading of the question has been completed, and is completed (ON) when, for example, the document creation is started.
[0060] The document completion indicates whether the document creation is complete or not, and becomes complete (ON) when coding starts, for example.
[0061] Code completion indicates whether the code (coding) is complete or not, and is turned on when, for example, a test or compilation is executed.
[0062] The test result indicates whether the test result is available or not. For example, once there are no errors, the status will be "Complete" (ON) when the work is submitted (for example, submitted to a scoring system). If there are any compilation errors or logic errors, the test result will be "Error".
[0063] The scoring result indicates whether the scoring result performed by this submission has been returned or not, and for example, becomes complete (ON) when the scoring result is returned. Note that the scoring result becomes an error state, for example, if an error is found in the scoring.
[0064] There are eight active states. The active states change in accordance with the transition of the internal state. Each active state will be explained below.
[0065] Comprehension in progress (activity state 1) indicates the state in which the problem is being analyzed. During comprehension in progress, the internal state Comprehension Complete is incomplete, and other internal states are OFF. Comprehension in progress is the state immediately after the learner has decided on the problem and moved to the workspace (a state in which coding can begin). During comprehension in progress, the learner can view statistical information, read previous explanations, understand the problem, design an algorithm, etc.
[0066] Creating a document (activity state 2) indicates the state in which a document is being created. A document is, for example, something that is created before coding, and includes design documents such as flowcharts. When creating a document, the internal state "Complete reading" is complete, and other internal states are OFF. During document creation, after understanding the problem statement, the learner writes the implementation policy and algorithm of the code that solves the problem.
[0067] Coding (activity state 3) indicates the state in which coding is being performed. Coding is, for example, the task of creating code using a specific programming language. During coding, the internal states Comprehension Complete and Document Complete are ON, and other internal states are OFF. During coding, the learner writes source code to solve the problem, and if necessary, refers again to statistical information, previous explanations, the problem statement, documentation, etc.
[0068] Testing (activity state 4) indicates the state in which testing or compilation is in progress. During testing, the internal states Reading Comprehension Complete, Document Complete, and Code Complete are ON, and other internal states are OFF. During testing, the learner checks operation using, for example, a sample test case. The learner checks whether the grammar of the created code is correct, whether the sample test case succeeds correctly, whether resource limits are exceeded, whether the output matches the sample test case, etc.
[0069] Recoding (activity state 5) indicates a state in which recoding, recoding testing, etc. are being performed. During recoding, the internal states of reading comprehension complete, document complete, and code complete are ON, the test result is in an error state, and other internal states are OFF. During recoding, the learner repeats compiling, running sample test cases, etc., and repeats recoding until there are no more errors.
[0070] Submitting (activity state 6) indicates the state in which a learner is submitting code or other work to the grading system. During submitting, the internal states Reading Complete, Document Complete, Code Complete, and Test Results are ON, and all other internal states are OFF. During submitting, the learner waits for the grading results to be returned.
[0071] Recoding after submission (activity state 7) indicates a state in which recoding after submission and testing of recoding after submission are being carried out. During recoding after submission, the internal states of reading comprehension complete, document complete, code complete, and test result are ON, and the grading result is in an error state. During recoding after submission, the learner continues recoding until there are no errors listed in the grading result. Note that the document may be corrected during recoding.
[0072] During performance improvement (activity state 8), the grading result is ON (correct), but the student is still improving performance. During performance improvement, the internal states of reading comprehension complete, document complete, code complete, test result, and grading result are all ON. During performance improvement, the student reviews the code and performs code reviews to improve performance.
[0073] <2.2 Screen> Phase 2 has three categories (stages): Question Details, Creation Details, and Scoring Details. The screens (small screens) for each category will be explained below. Figure 6 is a diagram showing an example of a list of Phase 2 screens. Examples of the name, icon, and content of each screen are shown.
[0074] <2.2.1 Problem details> The problem details have five screens. Each screen will be explained below.
[0075] The statistical information screen displays statistical information for the selected question, such as the number of correct answers, CPU time distribution, statistics by programming language, code length distribution, and other scoring results and status statistical information.
[0076] The pre-explanation screen displays the prerequisite knowledge required to solve the problem. Learners are encouraged to read this screen before reading the problem text.
[0077] The question screen displays the main body of the question.
[0078] The post-explanation screen displays necessary information after solving a problem or when you don't know how to solve it. For example, it displays an explanation of the problem.
[0079] The model code shows a model correct program written in a specified programming language.
[0080] <2.2.2 Details of the created product> The creation details screen has four screens. Each screen will be explained below.
[0081] The submission history screen displays the learner's submission history for the question. The submission history displays the submission date and time of the work, test results, and grading results. This screen also has a filter function, allowing you to select a range and copy it to the work.
[0082] The document screen displays a text editor for writing documents. When designing detailed algorithms, such as flowcharts and variable lists, an editor that can create diagrams may also be used.
[0083] The code screen displays an editor for coding, which may differ depending on the programming language, for example.
[0084] The test screen displays a text area for reviewing and running sample test cases.
[0085] <2.2.3 Scoring details> The detailed scoring screen has five screens. Each screen will be explained below.
[0086] The execution result screen displays an overview of the test execution or submission judgement results (scoring results, accuracy rate, CPU, memory, etc.).
[0087] The error screen displays error messages from the compiler, interpreter, and test case execution environment. For example, it may check for and display logical errors using AI.
[0088] The test case execution result screen displays detailed scoring results for each test case in this submission. For example, it may include visualization information and performance evaluation using a visualizer / simulator.
[0089] The performance evaluation screen displays the results of a comparison with other code for performance evaluation. The comparison target can be, for example, the source code of another user who answered the problem correctly or your own source code. The target source code can be viewed or displayed in an editable editor.
[0090] The code review screen is where you request a code review and refactoring. It displays comments from review participants and shared screens.
[0091] <2.3 Screen display restrictions> Unlike Phase 1, in Phase 2, the screens do not necessarily need to be displayed in chronological order. It can be assumed that learners will want to code while looking at the problem statement and the document they created, and that if there are errors, they will want to recode while looking at the details of the error. Once the problem is determined and the actual product is created, the screens learners want to refer to will vary at each stage of the process. Therefore, in Phase 2, a screen for each category (a three-screen configuration) will be prepared, and each screen will be able to display multiple screens. This allows learners to flexibly transition between screens and work while viewing the desired screen.
[0092] However, if all screens are freely accessible, learners may engage in behavior that is inconsistent with the learning objectives, such as immediately looking at the model answer or other code. Therefore, in Phase 2, we will impose restrictions on screen display depending on the learner's activity level.
[0093] FIG. 7 is a diagram showing an example of a list of display restrictions for screens in each category. Large black circles are fixed displays and are always displayed. Small black circles are screens that can be simultaneously displayed and can be displayed simultaneously with fixed screens. Small white circles are screens that can be simultaneously displayed like small black circles, but in the following embodiments, they may not necessarily be displayable. Small white circles are screens that do not necessarily need to be displayable depending on the screen size, screen display resources, etc. In other words, depending on the system configuration, they may or may not be simultaneously displayable.
[0094] As shown in Figure 7, the question details screen is fixedly displayed as a question statement screen. This is because it may be constantly referenced when creating various questions or reviewing the results.
[0095] In the details of the work, the code screen is fixedly displayed. This is because the grading is done on the code and it is also subject to recoding, so this screen is necessary for review and recoding. Note that during reading comprehension and document creation, no code is created, so the screen is not displayed.
[0096] In the scoring details, the execution result screen is displayed in a fixed state. This is because it is expected that re-coding or revision will be performed while viewing the execution results. Note that the performance evaluation is displayed in a fixed state during performance improvement. Also, during reading comprehension, document creation, and coding, the execution results are not displayed because there are no execution results.
[0097] FIG. 8 is a diagram showing an example of a screen configuration in Phase 2. For example, the screen configuration is a three-screen configuration (consisting of three screen areas). The screens (screen areas) are displayed in the following order from left to right: Category 5 (question details), Category 6 (product details), and Category 7 (scoring details). Note that the screen configuration may be a one-screen configuration or a two-screen configuration in the initial stage after transition to Phase 2. For example, when the activity state is reading comprehension, a one-screen configuration may be used that displays only the question details screen. Also, for example, when the activity state is document creation and coding, a two-screen configuration may be used that displays the question details and product details. Note that hereinafter, using a three-screen configuration as an example, the area displaying the question details screen may be referred to as the left screen, the area displaying the product details screen as the middle screen, and the area displaying the scoring details screen as the right screen.
[0098] In addition, in Fig. 8, icons (see Fig. 6 for correspondence with screens) indicate screens that can be displayed. Furthermore, icons enclosed in parentheses indicate that the screen in question is a fixed screen. Furthermore, at the bottom of the screen are items that indicate the active state; for example, items with numbers corresponding to the active state are colored.
[0099] FIG. 9 is a diagram showing an example of a screen display in active state 1 (reading comprehension). In screen display 1, a statistical information screen and a question screen are displayed on the left screen. Note that a darker icon indicates that the screen is being displayed, and a lighter icon indicates that the screen is not being displayed. Learners can toggle between displaying and hiding the screen by clicking the icon. Even in this case, fixed screens cannot be hidden. In addition, in screen display 1, a submission history screen is displayed on the middle screen.
[0100] On the screen display 1, the learner analyzes the question on the question screen, for example. Furthermore, the learner considers whether to solve the question as is, for example, by referring to the statistical information screen, the submission history screen, etc.
[0101] 10 is a diagram showing an example of switching of display screens in the active state 1. In the screen display 2, the statistical information screen from the screen display 1 is hidden, and the previous explanation screen is displayed.
[0102] On screen display 2, the learner, for example, decides to solve the problem and displays and refers to the previous explanation to deepen his or her understanding of the problem.
[0103] Figure 11 shows an example of switching display screens in active state 1. In screen display 3, the previous explanation screen is hidden from screen display 2. In this case, the left screen uses the entire display area, and the question screen is displayed enlarged.
[0104] In the screen display 3, for example, the learner has read and understood the previous explanation, and so hides the previous explanation screen in order to review the entire question.
[0105] 12 is a diagram showing an example of a screen display in active state 2 (document creation in progress). In screen display 4, the submission history screen from screen display 3 is hidden, and a document creation screen is displayed.
[0106] On the screen display 4, the learner proceeds with creating a document while referring to, for example, the question screen.
[0107] 13 is a diagram showing an example of a screen display in active state 3 (coding). In screen display 5, the code screen is displayed as a fixed screen from screen display 4. In this process, the coding work is the main focus and the document screen is only used for reference, so the code screen is displayed large and the document screen is displayed small.
[0108] On the screen display 5, the learner proceeds with coding while referring to, for example, the question screen and the created document.
[0109] 14 is a diagram showing an example of a screen display in active state 4 (testing). In screen display 6, the document screen is hidden from screen display 5 and the test screen is displayed. Furthermore, the execution result screen is displayed as a fixed screen.
[0110] On the screen display 6, the learner, for example, executes a test on the test screen and refers to the execution result screen.
[0111] FIG. 15 is a diagram showing an example of a screen display in active state 5 (recoding). Screen display 7 displays an error screen from screen display 6. The size of the error screen may be changed depending on the number of errors. If all errors cannot be displayed within the display area of the right screen, a scroll bar or the like may be displayed to allow scrolling up and down.
[0112] On the screen display 7, the learner corrects the code on the coding screen while referring to the execution result screen and the error screen, for example.
[0113] 16 is a diagram showing an example of a screen display in active state 6 (submitting). In screen display 8, the error screen from screen display 7 is hidden and a test case screen is displayed. Note that the test screen is hidden because the test has been completed.
[0114] On screen display 8, the learner may hide the error screen because the error has disappeared, for example, submit the code and document to the scoring system, and wait for the scoring results.
[0115] 17 is a diagram showing an example of a screen display in active state 7 (recoding after submission). Screen display 9 displays an execution result screen or an updated test case screen from screen display 8. The execution result screen or test case screen displays, for example, the results of executing the submitted code on the scoring system side.
[0116] On the screen display 9, the learner re-codes, for example, until the errors on the test case screen are resolved and all errors are resolved.
[0117] 18 is a diagram showing an example of switching in the active state 7. In the screen display 10, a post-explanation screen is displayed from the screen display 9.
[0118] On the screen display 10, the learner can, for example, display a post-explanation screen as a hint for solving an unsolvable error, refer to it, and recode.
[0119] 19 is a diagram showing an example of switching in the active state 7. In the screen display 11, the test case screen is hidden from the screen display 10, and an error screen is displayed.
[0120] On the screen display 11, for example, after the learner has resolved an error on the test case screen, the learner can display the error screen to check whether any errors remain.
[0121] 20 is a diagram showing an example of a screen display in active state 8 (performance improvement in progress). In screen display 12, the error screen from screen display 11 is hidden and the performance evaluation screen is displayed as a fixed screen. At this timing, the execution result screen changes from a fixed screen to a non-fixed screen.
[0122] The learner may, for example, modify the code while performing a performance evaluation on the screen display 12. The performance evaluation may, for example, be a test run or a resubmission, with the grading system displaying the retest and statistics.
[0123] 21 is a diagram showing an example of switching in the active state 8. In the screen display 13, the post-explanation screen from the screen display 12 is hidden, and the model answer screen is displayed.
[0124] On the screen display 13, the learner can refer to, for example, the model answer and examine the differences between the code he or she has created and the model answer.
[0125] 22 is a diagram showing an example of switching in the active state 8. In the screen display 14, the execution result screen is hidden from the screen display 13, and the test case screen is displayed.
[0126] On the screen display 14, the learner re-codes the code by referring to the model answer, and then executes the test case. The learner checks the completeness of his or her code by referring to the test case results and performance evaluation.
[0127] 23 is a diagram showing an example of switching in the active state 8. In the screen display 15, the test case screen is hidden from the screen display 14, and the code review screen is displayed.
[0128] On the screen display 15, the learner reviews the code with other learners or the professor, for example, while referring to the question text and the code.
[0129] As described above, in the first embodiment, the programming learning system 10 classifies the learner's work process into Phases 1 and 2, and by setting different screen display restrictions for each phase, it is possible to display screens according to the phase, and the learner can work while referring to the appropriate screen. Also, by classifying screens by category and displaying multiple categories on the screen simultaneously, the learner can check the content of the previous work or proceed to the next work while checking the required screen.
[0130] [Other embodiments] For example, immediately after moving to Phase 2 (immediately after selecting a question), the Phase 1 screen (e.g., a screen for selecting a question, a list of question types) may be displayed, even though it is Phase 2. After selecting a question, the learner may refer to the previous explanation or read and understand the question, and may want to select another question instead of answering the selected question. In this case, the display of the question selection screen allows the learner to return to Phase 1 and select a question again.
[0131] Furthermore, for example, after selecting a question and transitioning to Phase 2, if the learner wants to redo the question selection, the initial screen (dashboard screen) may be displayed. Also, the learner may be allowed to select which category to return to. This allows the learner to appropriately reselect the question.
[0132] Although this system applies to programming learning, other learning and exercises may also be applied. For example, this system may have a phase in which problems or tasks are selected in stages, and a phase in which creations for the selected problems or tasks are submitted and graded. [Explanation of symbols]
[0133] 10: Programming learning system 100: Web server 110:CPU 120: Storage 121: Programming learning program 1211: Phase 1 provision module 1212: Phase 2 delivery module 122: Workspace Program 130: Memory 140: Communication circuit 150: Display 300: Network
Claims
1. A programming learning system having a first phase of selecting a problem, and a second phase of answering the selected problem, submitting the answer, and receiving a score, A screen consisting of one or more screen areas is displayed, The screen areas correspond to the first to Nth stages (an integer equal to or greater than 2), respectively; each of said stages having one or more sub-screens; The first phase comprises: This is a phase in which problems are selected in stages from the first stage to the Mth stage (an integer greater than or equal to 1 and less than N), The screen area can display a screen having a corresponding stage in a predetermined order; The second phase comprises: This is a phase in which a product is generated in stages from the M+1 stage to the N stage, The screen area can display multiple screens having corresponding stages, The screens that can be displayed are determined in advance depending on the stage, and it is possible to select whether or not to display the screens that can be displayed. Programming learning system.
2. The displayable screen has a fixed screen that cannot be hidden.
2. The programming learning system according to claim 1.
3. The screen areas are displayed side by side, When the number of the screen areas is X and X is smaller than N, the screens of the stage in which the work is being performed and the stage (X-1 stages) before the stage in which the work is being performed are displayed in the screen areas.
2. The programming learning system according to claim 1.
4. The transition from the first phase to the second phase occurs when a question is selected, and each of the screen areas corresponds to a stage of the second phase as a result of the transition.
2. The programming learning system according to claim 1.
Citation Information
Patent Citations
Information processor, information processing method, and program
JP2010039540A
Portable terminal, display control method and display control program
JP2012128652A