A method and an apparatus to provide machine-assisted training have been disclosed. In one embodiment, the method includes monitoring action performed by a trainee during machine-assisted training and dynamically adjusting the machine-assisted training in response to the trainee's action. Other embodiments have been claimed and described.
|
1. A method to provide machine-assisted training to code SystemC, the method comprising:
with a processor,
collecting information from a trainee before starting the machine-assisted training to determine a trainee's knowledge level of SystemC;
creating a knowledge model for the machine-assisted training based on the information collected from the trainee;
monitoring action performed by the trainee during the machine-assisted training;
during the machine-assisted training, automatically causing the knowledge model to be updated in response to the action performed by the trainee; and during the machine-assisted training, automatically and dynamically adjusting the machine-assisted training based on the updated knowledge model, wherein dynamically adjusting the machine-assisted training comprises at least one of the following: changing a level of detail of presentation materials of the machine-assisted training, changing a presentation speed of the machine-assisted training, and changing a level of explanation in the machine-assisted training.
5. A non-transitory machine-readable medium including instructions stored therein that, if executed by a processor, will cause the processor to perform operations comprising:
creating a knowledge model for a machine-assisted training to code SystemC based on information collected from a trainee before starting the machine-assisted training, wherein the information collected from the trainee includes the trainee's knowledge level of SystemC;
monitoring action performed by the trainee during the machine-assisted training;
during the machine-assisted training, automatically causing the knowledge model to be updated in response to the action performed by the trainee; and during the machine-assisted training, automatically and dynamically adjusting the machine-assisted training based on the updated knowledge model, wherein dynamically adjusting the machine-assisted training comprises at least one of the following: changing a level of detail of presentation materials of the machine-assisted training, changing a presentation speed of the machine-assisted training, and changing a level of explanation in the machine-assisted training.
10. A system comprising:
a client to collect information from a trainee to enable machine-assisted training to code SystemC, wherein the information collected from the trainee includes
information collected from the trainee before starting the machine-assisted training of the trainee's knowledge level of SystemC, the information used to create a knowledge model for the machine-assisted training and
information related to actions performed by the trainee during the machine-assisted training;
a user interface communicably coupled to the client to receive the information; and
a processor to use the information collected from the trainee before starting the machine-assisted training to create the knowledge model before starting the machine-assisted training and to automatically update the knowledge model in response to the action performed by the trainee, the processor automatically and dynamically adjust the machine-assisted training based on the information related to the actions performed by the trainee during the machine-assisted training, wherein dynamically adjusting the machine-assisted training comprises at least one of the following: changing a level of detail of presentation materials of the machine-assisted training, changing a presentation speed of the machine-assisted training, and changing a level of explanation in the machine-assisted training.
2. The method of
evaluating the trainee's knowledge level of SystemC after presenting to the trainee a predetermined portion of the machine-assisted training; and
dynamically adjusting the machine-assisted training based on the trainee's knowledge level.
3. The method of
allowing the trainee to move onto a next portion of the machine-assisted training if the trainee's knowledge level is at or above a predetermined level; and
requesting the trainee to repeat the predetermined portion of the machine-assisted training if the trainee's knowledge level is below the predetermined level.
4. The method of
dynamically generating an exercise for the trainee to complete based on the trainee's knowledge level.
6. The non-transitory machine-readable medium of
customizing the machine-assisted training based on the information collected from the trainee before starting the machine-assisted training.
7. The non-transitory machine-readable medium of
evaluating the trainee's knowledge level of SystemC after presenting to the trainee a predetermined portion of the machine-assisted training; and
dynamically adjusting the machine-assisted training based on the trainee's knowledge level.
8. The non-transitory machine-readable medium of
allowing the trainee to move onto a next portion of the machine-assisted training if the trainee's knowledge level is at or above a predetermined level; and
requesting the trainee to repeat the predetermined portion of the machine-assisted training if the trainee's knowledge level is below the predetermined level.
9. The non-transitory machine-readable medium of
dynamically generating an exercise for the trainee to complete based on the trainee's knowledge level.
11. The system of
a database communicably coupled to the processor to store documents, configuration information, and scripts, wherein the processor is operable to access the database to retrieve one or more of the documents, the configuration information, and the scripts to modify presentation materials of the machine-assisted training.
12. The system of
a trainer agent communicably coupled to the database to update the documents, the configuration information, and the scripts stored on the database.
13. The system of
a document builder to put together the presentation materials.
14. The system of
a knowledge level filter to determine the knowledge level of the trainee based on the actions performed by the trainee.
15. The method of
a questionnaire is used to collect information from the trainee before starting the machine-assisted training.
16. The method of
the knowledge model includes a plurality of knowledge areas with each of the knowledge areas having a plurality of knowledge levels.
17. The method of
SystemC includes a class library for hardware design of circuits.
18. The method of
the machine-assisted training is customized to one or more of
substance of presentation materials of the training, annotations to the presentation materials, and a presentation speed of the training.
19. The non-transitory machine readable medium of
SystemC includes a class library for hardware design of circuits.
20. The system of
SystemC includes a class library for hardware design of circuits.
21. The method of
the training is to code in SystemC for hardware design of circuits.
22. The non-transitory machine readable medium of
the machine assisted training to code in SystemC is for hardware design of circuits.
23. The system of
the machine assisted training to code in SystemC is for hardware design of circuits.
|
A portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever.
The present invention relates to machine-assisted training, and more particularly, to providing dynamically adjustable machine-assisted training.
As computing and communication technologies advance, the use of machine-assisted training (also known as eMedia training or distant learning) has become more popular and common. In general, machine-assisted training can be provided via the Internet or other communication media, which makes such training readily accessible. Furthermore, machine-assisted training can be stored on some form of portable machine-readable medium (e.g., compact disks) to allow trainees to take the training at a time and a location convenient for the trainees.
Currently, machine-assisted training generally includes a direct translation of class-based training into a set of presentation slides or pages (e.g., Hypertext Mark-up Language (HTML) pages). During some conventional machine-assisted training, these slides or pages are presented under the control of the trainee, i.e., self-paced. This conventional technique provides static content for each of the trainees using the same machine-assisted training regardless of the individual needs of the trainees. In order to accommodate beginners in the subject area of the machine-assisted training, the presentation slides or pages may include a lot of explanations even though much of the explanations may not be necessary for some of the more advanced trainees. Likewise, to accommodate trainees who want to gain a deeper level of understanding of the subject matter, the presentation slides or pages may include a lot of details, which may not be of any interest to some other trainees.
The present invention includes a method and an apparatus to provide machine-assisted training. In one embodiment, the method includes monitoring action performed by a trainee during machine-assisted training and dynamically adjusting the machine-assisted training in response to the trainee's action.
Other features of the present invention will be apparent from the accompanying drawings and from the detailed description that follows.
The present invention is illustrated by way of example and not limitation in the figures of the accompanying drawings, in which like references indicate similar elements and in which:
A method and an apparatus to provide machine-assisted training are described. In the following description, numerous specific details are set forth. However, it is understood that embodiments of the invention may be practiced without these specific details. In other instances, well-known components, structures, and techniques have not been shown in detail in order not to obscure the understanding of this description.
Reference in the specification to “one embodiment” or “an embodiment” means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the invention. The appearances of the phrase “in one embodiment” in various places in the specification do not necessarily all refer to the same embodiment.
In one embodiment, processing logic collects baseline information from a trainee (processing block 110). The baseline information may include information that helps processing logic to determine the trainee's knowledge level in the pertinent subject matter and the level of detail the trainee wants to get into during the training.
One way to collect the baseline information is to provide an initial questionnaire to the trainee to be filled out before the training. A sample initial questionnaire is illustrated in
Referring back to
Referring back to
After customizing the training, processing logic begins the training with the trainee (processing block 140). During the training, processing logic monitors action of the trainee (processing block 150). For example, processing logic may monitor how much detail on a certain topic the trainee requests. In some embodiments, processing logic may monitor the trainee's answers to questions presented at the end of a predetermined portion of the training, such as a chapter or a section. The questions may be designed to gauge or to evaluate the knowledge level of the trainee after the trainee has gone through the chapter or the section of the training. An exemplary questionnaire at the end of a chapter is shown in
Based on the monitored trainee action, processing logic updates the knowledge model (processing block 160). For example, referring to
Processing logic may adjust various aspects of the training to adapt or to tailor the training to the trainee's individual needs, such as the trainee's knowledge level in the relevant subject matter. For example, processing logic may adjust the detail level of the training material. If the trainee has requested more details on a certain subject matter in a previous chapter or section of the training, processing logic may provide more details on the subject matter in the next chapter or section. Another aspect that processing logic may adjust is the speed of the presentation. For example, if the trainee has demonstrated a level of knowledge in the subject matter of the training that exceeds a predetermined threshold, then processing logic may increase the speed of the presentation, and vice versa. Furthermore, if the trainee has performed poorly in the current chapter, processing logic may request the trainee to repeat the current chapter. Otherwise, processing logic may allow the trainee to move onto the next chapter.
Alternatively, processing logic may adjust the level of explanation in the training based on the trainee's action. For example, if the trainee has requested explanation of many basic terms or phrases used in a previous chapter of the training, processing logic may provide a higher level of explanation in the next chapter. In one embodiment, processing logic dynamically generates an exercise, a test, and/or a laboratory assignment at the end of a chapter in the training based on the trainee's action. Processing logic may also keep track of the individual problems in an exercise given to the trainee so that the trainee is not asked to repeat the same set of problems that the trainee had already done. One should appreciate that the examples discussed above are for only illustration, not limitation. Processing logic may adjust other aspects of the training based on the action performed by the trainee.
After dynamically adjusting the training, processing logic repeats processing block 150 as the trainee continues with the training. One advantage of the process described above is to allow customization of the training based on the trainee's individual needs and/or performance. On one hand, the trainee is not necessarily forced to go through detail that is not useful to the trainee. Therefore, the training time can be used more efficiently. On the other hand, the trainee is provided with more detail on subject matter that the trainee is interested in without the hassle of manually requesting such detail through out the training. Furthermore, by tailoring the training to the individual trainee, the training becomes more interesting to the trainee, and hence, the trainee is less likely to skip some of the presentation materials in the training, which may contain important information.
Note that any or all of the components and the associated hardware illustrated in
In one embodiment, the trainee 209 takes the training via the client 240, which communicates with the server 210 via the communication medium 230. Through the frontend user interface 211 and the API 213, the information processor and provider 215 monitors the action performed by the trainee 209 during the training and dynamically adjusts the training in response to the action. Since the action of the trainee 209 is indicative of the current knowledge level of the trainee 209 and the progress the trainee 209 has made so far in the training, the information processor and provider 215 may dynamically adjust the training to meet the individual needs of the trainee 209 based on the action. For example, the information processor and provider 215 may change the level of detail of the presentation material of the training, the presentation speed of the training, and/or the level of explanation provided in the training, etc. The information processor and provider 215 may retrieve the appropriate documents and configuration information from the database 217 to put together the training. The information processor and provider 215 may also run one or more scripts from the database 217 to generate the individually tailored training. The trainer agent 220 may access and update the information in the database 217.
Note that any or all of the components and the associated hardware illustrated in
In one embodiment, the API 340 interfaces with a client (not shown) on which a trainee takes the training. Information on the trainee's action may be sent to the information processor and provider 310 and the trainer agent 320 via the API 340. The trainer agent 320 monitors the action of the trainee and uses the knowledge level filter 321 to determine the knowledge level of the trainee based on the trainee's action. Both the knowledge level and the action performed by the trainee are provided to the document builder 323. Using one or more templates from the storage device for templates 313 and one or more documents from the document cache 311, the document builder 323 puts together a set of training materials tailored to the individual trainee's knowledge level based on the action of the trainee. The document builder 323 may also access a database via the adapter 325 and the database management system 330 to retrieve the appropriate data and/or information (e.g., configuration information, scripts, etc.) to build the presentation materials for the trainee.
Some portions of the preceding detailed description have been presented in terms of algorithms and symbolic representations of operations on data bits within a computer memory. These algorithmic descriptions and representations are the tools used by those skilled in the data processing arts to most effectively convey the substance of their work to others skilled in the art. An algorithm is here, and generally, conceived to be a self-consistent sequence of operations leading to a desired result. The operations are those requiring physical manipulations of physical quantities. Usually, though not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated. It has proven convenient at times, principally for reasons of common usage, to refer to these signals as bits, values, elements, symbols, characters, terms, numbers, or the like.
It should be kept in mind, however, that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. Unless specifically stated otherwise as apparent from the above discussion, it is appreciated that throughout the description, discussions utilizing terms such as “processing” or “computing” or “calculating” or “determining” or “displaying” or the like, refer to the action and processes of a computer system, or similar electronic computing device, that manipulates and transforms data represented as physical (electronic) quantities within the computer system's registers and memories into other data similarly represented as physical quantities within the computer system memories or registers or other such information storage, transmission or display devices.
The present invention also relates to an apparatus for performing the operations described herein. This apparatus may be specially constructed for the required purposes, or it may comprise a general-purpose computer selectively activated or reconfigured by a computer program stored in the computer. Such a computer program may be stored in a computer readable storage medium, such as, but is not limited to, any type of disk including floppy disks, optical disks, CD-ROMs, and magnetic-optical disks, read-only memories (ROMs), random access memories (RAMs), EPROMs, EEPROMs, magnetic or optical cards, or any type of media suitable for storing electronic instructions, and each coupled to a computer system bus.
The processes and displays presented herein are not inherently related to any particular computer or other apparatus. Various general-purpose systems may be used with programs in accordance with the teachings herein, or it may prove convenient to construct a more specialized apparatus to perform the operations described. The required structure for a variety of these systems will appear from the description below. In addition, the present invention is not described with reference to any particular programming language. It will be appreciated that a variety of programming languages may be used to implement the teachings of the invention as described herein.
A machine-readable medium includes any mechanism for storing or transmitting information in a form readable by a machine (e.g., a computer). For example, a machine-readable medium includes read only memory (“ROM”); random access memory (“RAM”); magnetic disk storage media; optical storage media; flash memory devices; electrical, optical, acoustical or other form of propagated signals (e.g., carrier waves, infrared signals, digital signals, etc.); etc.
The foregoing discussion merely describes some exemplary embodiments of the present invention. One skilled in the art will readily recognize from such discussion, the accompanying drawings and the claims that various modifications can be made without departing from the spirit and scope of the invention.
Matzke, Wolf-Ekkehard, Jentzsch, Eyck
Patent | Priority | Assignee | Title |
10276061, | Sep 30 2014 | NEURON FUEL, INC.; NEURON FUEL, INC | Integrated development environment for visual and text coding |
10510264, | Mar 21 2013 | NEURON FUEL, INC.; NEURON FUEL, INC | Systems and methods for customized lesson creation and application |
11158202, | Mar 21 2013 | NEURON FUEL, INC. | Systems and methods for customized lesson creation and application |
Patent | Priority | Assignee | Title |
4622013, | May 21 1984 | SIDEWARE SYSTEMS INC | Interactive software training system |
5210859, | Apr 14 1989 | Hitachi, Ltd. | Program debugging support method and apparatus |
5388993, | Jul 15 1992 | International Business Machines Corporation; INTERNATIONAL BUSINESS MACHINES CORPORATION A CORP OF NEW YORK | Method of and system for demonstrating a computer program |
5395243, | Sep 25 1991 | National Education Corporation; THOMSON LEARNING, INC | Interactive learning system |
5421730, | Nov 27 1991 | National Education Corporation; THOMSON LEARNING, INC | Interactive learning system providing user feedback |
5441415, | Feb 11 1992 | JRL ENTERPRISES, INC | Interactive computer aided natural learning method and apparatus |
5597312, | May 04 1994 | Qwest Communications International Inc | Intelligent tutoring method and system |
5602982, | Sep 23 1994 | KELLY PROPERTIES, INC | Universal automated training and testing software system |
5697788, | Oct 11 1994 | OHTA, KOICHI | Algorithm training system |
5784553, | Feb 12 1996 | Parasoft Corporation | Method and system for generating a computer program test suite using dynamic symbolic execution of JAVA programs |
5934909, | Mar 19 1996 | IpLearn, LLC | Methods and apparatus to assess and enhance a student's understanding in a subject |
5957699, | Dec 22 1997 | Scientific Learning Corporation | Remote computer-assisted professionally supervised teaching system |
6014134, | Aug 23 1996 | Qwest Communications International Inc | Network-based intelligent tutoring system |
6024577, | May 29 1997 | Fujitsu Limited | Network-based education system with capability to provide review material according to individual students' understanding levels |
6029156, | Dec 22 1998 | Accenture Global Services Limited | Goal based tutoring system with behavior to tailor to characteristics of a particular user |
6039575, | Oct 24 1996 | NATIONAL EDUCATION TRAINING GROUP, INC | Interactive learning system with pretest |
6077085, | May 19 1998 | INTELLECTUAL RESERVE, INC | Technology assisted learning |
6149441, | Nov 06 1998 | Technology for Connecticut, Inc. | Computer-based educational system |
6186794, | Apr 02 1993 | HANGER SOLUTIONS, LLC | Apparatus for interactive adaptive learning by an individual through at least one of a stimuli presentation device and a user perceivable display |
6196846, | Jun 02 1998 | Virtual Village, Inc. | System and method for establishing a data session and a voice session for training a user on a computer program |
6201948, | May 22 1996 | CONVERGYS CUSTOMER MANAGEMENT GROUP INC | Agent based instruction system and method |
6347943, | Oct 20 1997 | Vuepoint Corporation | Method and system for creating an individualized course of instruction for each user |
6368110, | Oct 04 1999 | DIEM INVESTMENTS, INC | Educational homeroom for providing user specific educational tools and information |
6554618, | Apr 20 2001 | Managed integrated teaching providing individualized instruction | |
6594466, | May 24 2000 | Bentley Systems, Incorporated | Method and system for computer based training |
6606479, | May 22 1996 | CONCENTRIX CVG CUSTOMER MANAGEMENT GROUP INC | Agent based instruction system and method |
6634887, | Jun 19 2001 | CARNEGIE LEARNING, INC | Methods and systems for tutoring using a tutorial model with interactive dialog |
6679703, | Nov 01 2000 | Shipley Company, L.L.C. | Virtual training |
6755659, | Jul 05 2001 | ACCESS TECHNOLOGIES GROUP | Interactive training system and method |
6925601, | Aug 28 2002 | KELLY PROPERTIES, INC | Adaptive testing and training tool |
6978115, | Mar 29 2001 | GEOLUX COMMUNICATIONS, INC | Method and system for training in an adaptive manner |
6996366, | Nov 02 2000 | SKILLSOFT IRELAND LIMITED | Automated individualized learning program creation system and associated methods |
20020168616, | |||
20020188583, | |||
20030018460, | |||
20040018479, | |||
20040086834, | |||
20040259060, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Sep 10 2004 | JENTZSCH, EYCK | Cadence Design Systems, INC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 015809 | /0822 | |
Sep 13 2004 | MATZKE, WOLF-EKKEHARD | Cadence Design Systems, INC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 015809 | /0822 | |
Sep 15 2004 | Cadence Design Systems, Inc. | (assignment on the face of the patent) | / |
Date | Maintenance Fee Events |
Apr 10 2017 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Apr 08 2021 | M1552: Payment of Maintenance Fee, 8th Year, Large Entity. |
Date | Maintenance Schedule |
Oct 08 2016 | 4 years fee payment window open |
Apr 08 2017 | 6 months grace period start (w surcharge) |
Oct 08 2017 | patent expiry (for year 4) |
Oct 08 2019 | 2 years to revive unintentionally abandoned end. (for year 4) |
Oct 08 2020 | 8 years fee payment window open |
Apr 08 2021 | 6 months grace period start (w surcharge) |
Oct 08 2021 | patent expiry (for year 8) |
Oct 08 2023 | 2 years to revive unintentionally abandoned end. (for year 8) |
Oct 08 2024 | 12 years fee payment window open |
Apr 08 2025 | 6 months grace period start (w surcharge) |
Oct 08 2025 | patent expiry (for year 12) |
Oct 08 2027 | 2 years to revive unintentionally abandoned end. (for year 12) |