Computer-aided interactive learning

A computer-implemented method and system creates an interactive learning environment. Windows are created for guiding a user through a series of steps to perform a task supported by a computer software application. The windows contain textual and/or visual content that informs the user of the elements to accomplish the task. At least one of the windows contains a pointer indicating a location of a command in a user interface of the computer software application. User interaction is enabled during the execution of the series of steps, allowing for user input.

BACKGROUND OF THE INVENTION

Computer software applications provide ways in which a user can obtain assistance in learning and using a particular software application. Most software applications have help systems that include search mechanisms where a user types in one or more text strings and the software finds a reference to the text string(s) in a database of help files. The search results are then displayed and the user may select a result and read the content of the respective help file or portion thereof. Generally, help topics inform the user how to use each command or a user interface (UI) object. A dialog box may be used to display the help information. Additionally, the information may contain links to further information on a relevant topic. A disadvantage of this approach is that information on why the user should use the command or user interface object is often lacking. Furthermore, the practical and/or technical application behind why one should use this tool is often lacking from this approach as well.

Another form of help is a tooltip. Tooltips describe what an option does. As an example, when a user hovers a mouse cursor over an item in a dialog box a tooltip may tell the user what the option is intended to do. However, the tooltip may not answer the question why the option should be used.

Tutorials may also be available in state-of-the-art computer applications. Tutorials may show what step to take by, for example, causing a command to blink. However, tutorials do not necessarily inform the user which steps need be taken within the command to complete the command successfully.

A tutorial may take the form of a video published on the Internet. The problem with the approach of capturing video is that UI text may differ in each supported language. Additionally, any minor updates applied in the UI has an impact and updating the video to match the updated UI would be needed. Thus, keeping a video that resides at an Internet location up-to-date is a drawback.

User interface wizards also assist users in preforming tasks. UI wizards lead a user through a series of steps using a series of dialog boxes. UI wizards may also perform certain steps for the user and select certain options (e.g., a directory to store downloaded files). When a user is presented with a UI wizard, the user does not learn where the commands are located in the UI because the UI wizard may open one or more commands for the user, for example. Thus, the next time the user wants to use the command he or she may not know where the command is located in the UI.

Another type of help available is a note that pops up on a computer display. Some notes may fade away after a period of time; other notes may persist until a user affirmatively closes the respective note. For example, an implementation of a note may allow a user to click on the note and step to the next note. Examples of this are the Hopscotch product tour where a note hops around the computer screen, as shown at http://linkedin.github.io/hopscotch/. A drawback with notes as described is that a user cannot execute commands and follow a workflow.

A system and method that creates an interactively learning environment that engages a user and addresses the foregoing drawbacks would be an improvement over current state-of-the-art software systems and beneficial to users' learning experience.

SUMMARY OF THE INVENTION

Embodiments of the present invention address the foregoing shortcomings and disadvantages of the art. In general, in one aspect, embodiments of the present invention feature computer-implemented methods for creating an interactive learning environment. Such methods include creating windows for guiding a user through a series of steps to accomplish a task supported by a computer software application. At least one of the windows contains a pointer indicating a location of a command in a user interface of the computer software application. User interaction is enabled during the execution of the series of steps and may be in the form of user input specified in one of the windows. Further embodiments include executing the command upon user selection of the command.

Yet other embodiments include a subset of the windows used by the computer software application when the interactive learning environment is not active, and use of the subset of the windows while the interactive learning environment is active provides training for the use of the subset of the windows when the interactive learning environment is not active.

In further embodiments, the task is at least partially accomplished by selection of an option in a pull-down menu, the visual content is a video sequence demonstrating one or more user interactions to perform the task, and which of the windows are displayed on a computer screen and removed from the computer screen depend on which of the series of steps is currently executing.

Embodiments also feature using data generated as a result of selection of the option as input to an interactive learning function causing the interactive learning environment to determine subsequent sequences of the series of steps.

Additional embodiments include a non-transitory computer-readable data storage medium comprising instructions and a computer system having a processor configured with instructions, the instructions causing the computer to create an interactive learning environment having windows that guide a user through a series of steps to perform a task supported by a computer software application. The windows may contain textual and/or visual content informing the user of elements to accomplish the task. At least one of the windows contains a pointer indicating a location of a command in a user interface of the computer software application. User interaction is enabled during the execution of the series of steps, and user interaction takes a form of a user input specified in one of the plurality of windows. The command may also be selected by the user resulting in the execution of the command. The windows may have user interface buttons that when selected advances a learning sequence to a next step in the series of steps of sets the learning sequence to a previous step in the series of steps.

DETAILED DESCRIPTION OF THE INVENTION

The present invention creates an interactive learning tool that engages a user in the process of learning a software application. The invention may be used to spur the user into utilizing complex techniques and grasping complicated concepts during the early stages of learning a software application. The interactive learning tool shows user how to go through various steps to perform an operation and teaches technical and practical aspects of an operation, including why the steps are performed. The operations performed may require fairly simply techniques or rather complex techniques.

As an example of complex techniques and complicated concepts that may be taught to a user using the present invention consider an embodiment implemented in a computer-aided design and engineering software application. When beginning a new design or re-designing one or more existing part models, the present invention may be utilized to guide the user through the execution of complex tasks. One such complex task is conducting a simulation of an assembly of parts.

Generally, engineering training is required to carry out software simulation tasks. The user must set up a problem and the software arrives at a shape or design based on one or more functions (e.g., loads and boundary conditions). A user of a computer-aided design and engineering software application may have limited experience in simulating an engineering design, however. Sometimes, users are unsure of all the steps needed to run a successful simulation process and do not fully grasp the concepts behind properly setting up a simulation study. The present invention addresses these short comings by providing a step-by-step guide showing the user the necessary actions needed to complete and run the simulation.

The present invention not only describes via visual and textual content the tasks to perform, but also uses pointers to focus the user's attention on the commands that need to be selected, data that needs to be entered, etc., in order to complete a task. Additionally, the content teaches the fundamentals with regards to accomplishing a task. The user responds to the guidance given by the present invention and thereby learns and benefits by understanding overall concepts and necessary steps that can be applied to other problems and/or in other contexts.

The present invention enables depictions of a workflow to be shown to the user. The depictions illustrate the workflow to solve a problem and assists the user in utilizing concepts and workflow to solve his or her own problem. The depictions show the user the location of the command in the user interface and guide the user via step-by-step instructions to complete the command successfully.

FIG. 1illustrates an initial dialog102displayed for a learning assistant process for generating a shape in an embodiment of the present invention. As noted in initial dialog102, generating a shape takes into account geometry, loads, restraints, and volume. The user is instructed to select one of three options103,104, and105for an overview on the topic.

FIG. 2illustrates a second learning assistant dialog202, which is displayed after the user selects the first option103from the initial dialog102to create a new shape. The second learning assistant dialog202includes a description of the next steps203informing the user that the user may start with a sketch or a 3D object then add restraints and loads. The second learning assistant dialog202also shows the initial steps in creating a new shape, including a video sequence that displays top, front, and right planes and the selection of the top plane204on which a 2D sketch of an object may be created.

Referring now toFIG. 3, the user selected the option “Show me how to create initial geometry”302. A UI dialog303describes that a drawing tool should be used and an arrow304extends from the UI dialog303to show the user where such a tool is located. The user may select the drawing tool, at which point the user may create a sketch independently of the learning assistant process.

FIG. 4shows an embodiment of the present invention in which the user is interacting with the software application while the learning assistant process continues to demonstrate the creation of the shape. The user may create an object402in the modeling area404of the application window400. As shown inFIG. 4, the object402resembles the shape depicted in the second learning assistant dialog202. The user may continue to model an object at the same time being instructed on how to do so by the second learning assistant dialog202. When the user is ready to move on to the next step, the right arrow406is selected, after which the next step is displayed in the second learning assistant dialog202, as shown inFIG. 5.

FIG. 5illustrates the next step in the learning assistant process. Visual feedback of the next step is giving utilizing buttons502. The first of buttons502is checked to indicate that the first step is completed. The second of buttons502is filled in to indicate that the second step is the active step for the learning assistant process. In the second step the user has selected the first option503to show how to clamp the part in all directions. Another UI dialog504is displayed, indicating to the user with an arrow505what command to select for the clamping operation and the location of the command.

Referring now toFIG. 6, the user has selected the clamp tool pointed to by arrow505inFIG. 5. Two dialogs appear in the window400. A first dialog box602has a data entry field used to specify the faces of the part to restrain as the user is informed via the second dialog box604. The user has selected a face of object402with a cursor604.FIG. 6illustrates the interaction between the learning assistant process and user input needed to execute a command in the software application in which the learning assistant is assisting the user. Thus, the present invention enables the user to initiate the execution of commands and follow a workflow guided by the learning assistant.

FIG. 7also illustrates the present invention enabling a user to interact with an application under the guidance of a learning assistant. InFIG. 7, the learning assistant dialog202prompted the user to allow the present invention to show how to apply a force. The user elected to do so and after the learning assistant process pointed to the force command702(executed in the same manner as has been previously discussed using a UI dialog box pointing to a command), a force dialog703is displayed for specifying parameters. One chosen parameter is a load in the amount of 600 Newtons selected and entered in the data entry field704after a learning assistant dialog705has prompted the user to choose a load amount from a pull-down menu. The user may then press the right arrow button706to initiate an instruction to the learning assistant tool to advance the learning assistant dialog705to the next information dialog, which informs the user that the direction of the force may be changed by selecting the direction button pointed to by the learning assistant dialog705inFIG. 7. Likewise, pressing a left arrow button on the learning assistant dialog705resets the information dialog to a previous step.

Another aspect of the present invention is the customization of a learning experience. As an example, text displayed for pull-down options may be meaningful for a particular installation. In the force dialog703the text that describes a force for a pull-down menu option may be “0.5 N: Force to press a key on a keyboard” or “600 N: Average weight of a human.” Customization may be allowed via enabling a system administrator to write a Java script that is accessed and processed by the interactive learning tool or use APIs to write meaningful text strings to be processed by the interactive learning tool.

Referring now toFIG. 8, a schematic diagram of an embodiment of the present invention is illustrated. A computer software application800comprises a learning assistant process810and a computer user interface830. Arrows depicted inFIG. 8indicate an exchange of data in the form of displaying user interface elements and the transfer of user interaction data between the learning assistant process810and the computer user interface830. The learning assistant process810includes steps to execute one or more tasks815using the computer software application800, and data820used to complete the tasks. Those skilled in the art may easily create step-by-step instructional content and display that content within a software application such that input from a user may be accepted in response to the displayed content and processed to affect a next step in the step-by-step instructional content.

The present invention has been described with respect to a computer-aided design and engineering application although applicable to other types of software applications. That is, workflows other than in computer-aided design and engineering applications can benefit by applying the present invention to assisted learning in other disciplines.

Advantages of the present invention include providing an interactive assisted learning experience within a software application. The interactive experience displays dialogs in a user interface where the dialogs contain content informing the user how to perform a task and why to perform task. The interactive experience allows a user to supply parameters and thereby directly affect the result of an interactive learning session. Importantly, the present invention provides a dynamic learning experience within a computer software application in contrast to other systems that, for example, display static help tips that appear and disappear when a cursor hovers over a UI area and dialogs separate from a software application that contain help information, and sometimes links to further information.

Computer Support

FIG. 9illustrates a computer network or similar digital processing environment in which the present invention may be implemented.

Client computer(s)/device(s)905and server computer(s)910provide processing, storage, and input/output, and execute application programs and the like. Client computer(s)/device(s)905can also be linked through communications network915to other computing devices, including other client computer(s)/device(s)905and server computer(s)910. Communications network915can be part of a remote access network, a global network (e.g., the Internet), a worldwide collection of computers, local area or wide area networks, gateways, and cloud computing that currently use respective protocols (TCP/IP, Bluetooth, etc.) to communicate with one another. Other electronic computer/device network architectures are suitable.

FIG. 10is a diagram of the internal structure of a computer (e.g., client computer/device905or a server computer910) in the computer network ofFIG. 9. Each computer905,910contains system bus1005, where a bus is a set of hardware lines used for data transfer among the components of a computer or processing system. System bus1005is essentially a shared conduit that connects different elements of a computer system (e.g., processor, disk storage, memory, input/output ports, network ports, etc.) and enables the transfer of information between the elements. Attached to system bus1005is I/O device interface1010for connecting various input and output devices (e.g., keyboard, mouse, displays, printers, speakers) to the computer905,910. Network interface1015allows the computer to connect to various other computer(s)/device(s) attached to a network (e.g., network915ofFIG. 9). Memory1020provides volatile storage for computer software instructions1025and data1030used to implement an embodiment, such as the system of the present invention (e.g., learning assistant102, UI dialog303, force dialog703, and supporting software code and data structures described herein). Disk storage1040provides non-volatile storage for computer software instructions1025and data1030used to implement an embodiment of the present invention. Central processor unit1060is also attached to system bus1005and provides for the execution of computer instructions.

In one embodiment, the software instructions1025and data1030are generated by a computer program product. The computer program product may include a computer readable medium such as a removable storage medium (e.g., one or more DVD-ROM's, CD-ROM's, diskettes, tapes), a memory medium, and the like. The computer program product provides at least a portion of the software instructions for the present invention. The computer program product can be installed by any suitable software installation procedure, as is well known in the art. In another embodiment, at least a portion of the software instructions may also be downloaded over a cable, communication, and/or wireless connection. In other embodiments, the software1025and data1030are a computer program propagated signal product embodied on a propagated signal on a propagation medium (e.g., a radio wave, an infrared wave, a laser wave, a sound wave, or an electrical wave propagated over a global network such as the Internet, or other network(s)). Such carrier medium or signals provide at least a portion of the software instructions for the present invention routines/program1025.