Back to results
US 9,753,982 B2Granted
Method and system for facilitating learning of a programming language
OwnerMazen Alkhatibinventor
Life of this patent
Estimating the term…
Abstract
Disclosed is a method of facilitating learning a programming language. The method may include presenting, with a processor, a prompt to a user. Further, the method may include receiving, with a processor, an input representing a program behavior. Furthermore, the method may include generating, with a processor, a source code based on the input. Additionally, executing the source code may produce the program behavior.
Claims2
A method of facilitating learning of a programming language, the method comprising:
- presenting, with a processor, a prompt to a user, the prompt comprising a question;
- receiving, with a processor, an input representing a program behavior, the input comprising an answer to the question;
- based on the answer, terminating or presenting, with a processor, a further prompt to the user, the further prompt comprising a further question;
- in response to terminating the further prompt, generating, with a processor, a source code based on the input, execution of the source code corresponding to the program behavior;
- in response to presenting the further prompt, receiving, with a processor, a further input representing a further program behavior, the further input comprising a further answer to the further question, the question, the answer, the further question and the further answer being classified into a hierarchical level;
- in response to receiving the further answer, generating, with a processor, a source code based on the further input, execution of the source code corresponding to the further program behavior;
- presenting, with a processor, the source code to the user;
- receiving, with a processor, a selection of the portion of the source code;
- the answer representing one of confirmation and negation;
- the program behavior comprising at least one of input behavior, output behavior and processing behavior;
- the output behavior comprising presenting, with a processor, information to the user;
- the prompt comprising a first prompt and a second prompt;
- the input comprising a first input corresponding to the first prompt and a second input corresponding to the second prompt;
- the first prompt being presented prior to the second prompt;
- generating the second prompt based on the first input;
- analyzing, with a processor, the input;
- identifying the program behavior based on the analysis;
- generating the source code comprising retrieving the source code from a source code repository based on the program behavior identified;
- the generating comprising identifying the source code corresponding to the program behavior from a source code repository comprising source code corresponding to at least one program behavior;
- the prompt corresponding to a confirmation for terminating presentation of a further prompt to the user;
- receiving an input representing one of confirmation and negation;
- presenting the prompt comprising displaying a plurality of graphical elements corresponding to a plurality of program functionalities;
- executing, with a processor, the source code;
- receiving, with a processor, an observation input representing a program behavior of the executed source code;
- presenting the prompt being further based on the observation input;
- receiving, with a processor, a user-source-code from a user;
- analyzing, with a processor, the user-source-code;
- identifying, with a processor, at least one of a syntactical error and a logical error based on analyzing the user-source-code;
- presenting, with a processor, at least one of the syntactical error and the logical error;
- identifying, with a processor, at least a portion of the user-source-code corresponding to at least one of the syntactical error and the logical error;
- presenting, with a processor, an educational content corresponding to at least one of the syntactical error and the logical error, the educational content being an explanation of logic embodied in or a description of programming constructs used in the portion of the user-source-code or another portion of the user-source-code surrounding the portion of the user-source-code, the education content being in the form of a video, an audio or a multimedia;
- and
- replacing, with a processor, the portion of the user-source-code with a validated portion of source code from a source code repository.
30 more elements
A system for facilitating learning of a programming language, the system comprising:
- a processor;
- the processor being configured to:
- presenting a prompt to a user, the prompt comprising a question;
- receiving an input representing a program behavior, the input comprising an answer to the question;
- based on the answer, terminating or presenting a further prompt to the user, the further prompt comprising a further question;
- in response to terminating the further prompt, generating a source code based on the input, execution of the source code corresponding to the program behavior;
- in response to presenting the further prompt, receiving a further input representing a further program behavior, the further input comprising a further answer to the further question, the question, the answer, the further question and the further answer being classified into a hierarchical level;
- in response to receiving the further answer, generating a source code based on the further input, execution of the source code corresponding to the further program behavior;
- presenting the source code to the user;
- receiving a selection of the portion of the source code;
- the answer representing one of confirmation and negation;
- the program behavior comprising at least one of input behavior, output behavior and processing behavior;
- the output behavior comprising presenting information to the user;
- the prompt comprising a first prompt and a second prompt;
- the input comprising a first input corresponding to the first prompt and a second input corresponding to the second prompt;
- the first prompt being presented prior to the second prompt;
- the second prompt being generated based on the first input;
- analyzing the input;
- identifying the program behavior based on the analysis;
- generating the source code comprising retrieving the source code from a source code repository based on the program behavior identified;
- the generating comprising identifying the source code corresponding to the program behavior from a source code repository comprising source code corresponding to at least one program behavior;
- the prompt corresponding to a confirmation for terminating presentation of a further prompt to the user;
- an input representing one of confirmation and negation being received;
- presenting the prompt comprising displaying a plurality of graphical elements corresponding to a plurality of program functionalities;
- executing the source code;
- receiving an observation input representing a program behavior of the executed source code;
- presenting the prompt being further based on the observation input;
- receiving a user-source-code from a user;
- analyzing the user-source-code;
- identifying at least one of a syntactical error and a logical error based on analyzing the user-source-code;
- presenting at least one of the syntactical error and the logical error;
- identifying at least a portion of the user-source-code corresponding to at least one of the syntactical error and the logical error;
- presenting an educational content corresponding to at least one of the syntactical error and the logical error, the educational content being an explanation of logic embodied in or a description of programming constructs used in the portion of the user-source-code or another portion of the user-source-code surrounding the portion of the user-source-code, the education content being in the form of a video, an audio or a multimedia;
- and
- replacing the portion of the user-source-code with a validated portion of source code from a source code repository.
32 more elements
Dependencies are inferred from the claim text.