Difference between revisions of "Smart Content"
(→Semantics Problems for Java and Python) |
|||
(18 intermediate revisions by 3 users not shown) | |||
Line 3: | Line 3: | ||
While Mastery Grids interface can support any kind of content, we try to focus on "smart learning content" that interactively engages student, collects interaction data, and provides various kinds of feedback. For a discussion and definition of smart learning content, see the following ITiCSE Working Group Report: | While Mastery Grids interface can support any kind of content, we try to focus on "smart learning content" that interactively engages student, collects interaction data, and provides various kinds of feedback. For a discussion and definition of smart learning content, see the following ITiCSE Working Group Report: | ||
− | Brusilovsky, P., Edwards, S., Kumar, A., Malmi, L., Benotti, L., Buck, D., Ihantola, P., Prince, R., Sirkiä, T., Sosnovsky, S., Urquiza, J., Vihavainen, A., and Wollowski, M. (2014) [https://www.researchgate.net/publication/273380880_Increasing_Adoption_of_Smart_Learning_Content_for_Computer_Science_Education Increasing Adoption of Smart Learning Content for Computer Science Education]. In: Proceedings of the Working Group Reports of the 2014 on Innovation & Technology in Computer Science Education Conference, Uppsala, Sweden, ACM, pp. 31-57. | + | Brusilovsky, P., Edwards, S., Kumar, A., Malmi, L., Benotti, L., Buck, D., Ihantola, P., Prince, R., Sirkiä, T., Sosnovsky, S., Urquiza, J., Vihavainen, A., and Wollowski, M. (2014) [https://www.researchgate.net/publication/273380880_Increasing_Adoption_of_Smart_Learning_Content_for_Computer_Science_Education Increasing Adoption of Smart Learning Content for Computer Science Education]. In: Proceedings of the Working Group Reports of the 2014 on Innovation & Technology in Computer Science Education Conference, Uppsala, Sweden, ACM, pp. 31-57. |
− | == | + | == Code-Tracing Problems for Java and Python == |
We have developed a content application [[QuizJET]] providing problems to learn Java Programming. Here are two problems for Java. The left one shows a problem with a single class asking the value of a variable in a piece of code. The right one shows a problem with multiple classes asking the console output of a piece of code. Correctness is accessed by the content application and students can attempt multiple times with different instantiations of the variables in the problem. Similarly, we have developed a content application [[QuizPET]] providing the same type of problems to learn Python Programming. | We have developed a content application [[QuizJET]] providing problems to learn Java Programming. Here are two problems for Java. The left one shows a problem with a single class asking the value of a variable in a piece of code. The right one shows a problem with multiple classes asking the console output of a piece of code. Correctness is accessed by the content application and students can attempt multiple times with different instantiations of the variables in the problem. Similarly, we have developed a content application [[QuizPET]] providing the same type of problems to learn Python Programming. | ||
Line 12: | Line 12: | ||
[[Image:Problems.jpg|650x1300px]] | [[Image:Problems.jpg|650x1300px]] | ||
− | |||
== SQL Problems == | == SQL Problems == | ||
Line 27: | Line 26: | ||
[[Image:ParsonProblems.jpg|750x1000px]] | [[Image:ParsonProblems.jpg|750x1000px]] | ||
− | == Annotated Examples == | + | == Annotated Examples for Java, Python and SQL == |
We have developed a content application [[WebEx]] providing annotated examples. Students can click on the left side box to learn about each line’s related concepts. | We have developed a content application [[WebEx]] providing annotated examples. Students can click on the left side box to learn about each line’s related concepts. | ||
New examples for Java, Python, SQL, C, and other programming languages could be created with [[Annotated Example Authoring System]]. | New examples for Java, Python, SQL, C, and other programming languages could be created with [[Annotated Example Authoring System]]. | ||
Line 34: | Line 33: | ||
[[Image:jswebex.png|650x800px]] | [[Image:jswebex.png|650x800px]] | ||
− | == Animated Examples for Python and | + | |
− | + | <html> | |
+ | <h3>Annotated Examples Demonstration</h3> | ||
+ | <br> | ||
+ | <iframe src="http://adapt2.sis.pitt.edu/pitt/annotated/annotated-demo/foo?act=pyt3.2&sub=0" width="500" height="210" border="0"></iframe> | ||
+ | </html> | ||
+ | |||
+ | == Animated Examples for Python, Java, and SQL == | ||
+ | We have created a large number of animated program execution examples for Python, Java, and SQL. In such examples, the line-by-line execution of a piece of code is visualized by animations. | ||
+ | |||
+ | Here is an animated example for Python. More animated examples created for Python can be found [http://acos.cs.hut.fi/ here] under "Installed content packages" (e.g. jsvee-python tab). | ||
New animated example can be created by [[Animated Example Authoring System]]. | New animated example can be created by [[Animated Example Authoring System]]. | ||
[[Image:AnimatedExamples.jpg|750x1000px]] | [[Image:AnimatedExamples.jpg|750x1000px]] | ||
+ | |||
+ | Here is an animated example for SQL. More animated examples created for SQL can be found [http://columbus.exp.sis.pitt.edu/sql_ae_demo/ here]. | ||
+ | |||
+ | [[Image:AnimatedExamplesSQL.jpg|750x1000px]] | ||
+ | |||
+ | == Videos == | ||
+ | We have created applications for collecting, editing, authoring videos. The related codes can be found in [https://github.com/PAWSLabUniversityOfPittsburgh/educvideos Github]. |
Latest revision as of 02:27, 13 November 2024
Mastery Grids supports and provides multiple types of learning materials. It has been applied in three domains (Java, SQL, and Python) as a supplementary E-learning system for undergraduate and graduate level programming and database classes since 2013. In each learning domain, courses are organized by topics and different types of learning contents are arranged under each topic. Learning contents contain semantics, problems, parson problems, annotated examples, and animated examples. This sections reviews all these content types.
While Mastery Grids interface can support any kind of content, we try to focus on "smart learning content" that interactively engages student, collects interaction data, and provides various kinds of feedback. For a discussion and definition of smart learning content, see the following ITiCSE Working Group Report:
Brusilovsky, P., Edwards, S., Kumar, A., Malmi, L., Benotti, L., Buck, D., Ihantola, P., Prince, R., Sirkiä, T., Sosnovsky, S., Urquiza, J., Vihavainen, A., and Wollowski, M. (2014) Increasing Adoption of Smart Learning Content for Computer Science Education. In: Proceedings of the Working Group Reports of the 2014 on Innovation & Technology in Computer Science Education Conference, Uppsala, Sweden, ACM, pp. 31-57.
Contents
Code-Tracing Problems for Java and Python
We have developed a content application QuizJET providing problems to learn Java Programming. Here are two problems for Java. The left one shows a problem with a single class asking the value of a variable in a piece of code. The right one shows a problem with multiple classes asking the console output of a piece of code. Correctness is accessed by the content application and students can attempt multiple times with different instantiations of the variables in the problem. Similarly, we have developed a content application QuizPET providing the same type of problems to learn Python Programming.
New problems for QuizJET and QuizPET could be easily created with QuizJET Authoring System tool and QuizPET Authoring System.
SQL Problems
For learning SQL, we have developed a content application SQLKnoT providing another type of problem. Students are asked to write a complete query to achieve a task in each problem. Here is a problem for SQL.
Parson Problems for Python
Here is a parson problems for Python. In such problems, students are asked to drag different fragments of a code to construct a complete code in order to achieve a task. Some examples of created parson problems can be found here under "Installed content packages" (e.g. jsparsons-python tab).
New parson problems can be created by Parson Problem Authoring System.
Annotated Examples for Java, Python and SQL
We have developed a content application WebEx providing annotated examples. Students can click on the left side box to learn about each line’s related concepts. New examples for Java, Python, SQL, C, and other programming languages could be created with Annotated Example Authoring System. JSWebEx is the new Javascript interface that replaces the old WebEx system to demonstrate the annotated examples. Here is an annotated examples for Python.
Annotated Examples Demonstration
Animated Examples for Python, Java, and SQL
We have created a large number of animated program execution examples for Python, Java, and SQL. In such examples, the line-by-line execution of a piece of code is visualized by animations.
Here is an animated example for Python. More animated examples created for Python can be found here under "Installed content packages" (e.g. jsvee-python tab).
New animated example can be created by Animated Example Authoring System.
Here is an animated example for SQL. More animated examples created for SQL can be found here.
Videos
We have created applications for collecting, editing, authoring videos. The related codes can be found in Github.