-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path01-introduction.tex
142 lines (127 loc) · 7.18 KB
/
01-introduction.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
\chapter{Introduction}
\label{chap:introduction}
%\itquote{
%Enjoyment appears at the boundary between boredom and anxiety,
%when the challenges are just balanced with the person's capacity to act.
%}{Mihaly Csikszentmihalyi}
\itquote{
To prepare humanity for the next 100 years, we need more of our children to learn computer programming skills, regardless of their future profession. Along with reading and writing, the ability to program is going to define what an educated person is.}
{S. Khan}
Programming is becoming an essential skill to learn.
Not only is it useful in increasing number of professions,
but also it develops abstract thinking and problem-solving ability. % cite
% + divergent thinking
Our mission is to help children to learn basic programming efficiently
while supporting their motivation for further learning.
For this purpose, we build a personalized system for learning introductory
programming, RoboMission%
\footnote{English localization available at \url{en.robomise.cz}.}
(\cref{fig:robomission-task1}),
that aims to adapt to the skills of the students
to create an optimal learning experience.
%How to build such a system? (make this paragraph an outline)
Many tutorials for introductory programming already exists,
including popular Hour of Code used by millions of students \cite{hour-of-code}.
These tutorials combine several strategies to support learning and motivation,
which are based on human needs, strengths, and weaknesses
\cite{lowering-barriers}.
However, they are not personalized and offer the same sequence of tasks
to everybody.
RoboMission improves upon the existing systems by adapting to the
students, using techniques of artificial intelligence,
which were already successfully used in other domains
\cite{mathsgarden, alg.evaluation-geography, matmat.response-times}.
%, sqltutor}.
% maths += Cognitive Tutor (?mastery-learning-scale), ASSiSTments (Koedinger
% 2010), ALEKS
% TODO: find another domain (avoid another math)
%Artificial intelligence proved to be a powerful tool for tackling difficult problems, from playing chess to driving autonomous cars. % TODO: references
%This thesis explores how we can use artificial intelligence to optimize
%learning of introductory programming.
%This thesis explores how can be artificial intelligence used to optimize
%learning of introductory programming.
%In addition to the time-tested strategies and artificial intelligence,
%it also employs iterative design and improvements based on analyses.
\imgW[0.9]{robomission-task1}%
{RoboMission is a web application for learning introductory programming.
The left panel displays a space-themed grid world. In the workspace on
the right, students build programs using blocks describing actions
such as \texttt{fly left} and \texttt{fly right}.
The task is to create a program that would lead the spaceship to the last row.}
% {RoboMission is a web application for learning introductory programming %
% using space themed grid world and block-based programming.}
Adaptation in learning systems can be performed at different time scales,
ranging from an offline adaptation of the system to the entire population, % (\emph{design loop}),
to an online adaptation to individual students during their practice,
either between tasks or even after each step of the student
\cite{adaptive-learning-grid}.
Learning systems can adapt to skills of the students, preferred learning styles,
emotions (e.g., frustration, boredom), needs, motivation, and metacognition
\cite{affect-sensor-free,its-review-2010}.
In RoboMission, we focus on adaptation to skills and perform it at two time scales.
First, we estimate skills of the students as they solve tasks
so that we can recommend them optimally difficult tasks to practice next.
By giving students tasks of difficulty matching their skill,
%neither too easy, nor too difficult,
we help them to achieve complete immersion into the problem-solving
activity, known as % (\cref{fig:flow}).
the \emph{state of flow} \cite{flow},
which is essential for the optimal learning experience
\cite{adaptive-practice}.
Second, using insight from analysis of collected data,
we iteratively improve the behavior of the system,
e.g., moving tasks to more appropriate problem sets,
% removing problematic tasks,
or adding new tasks practicing concepts that students often struggle with.
%TODO: related areas
%- introductory programming learning
%- adaptive learning / intelligent tutoring systems
%- recommendation systems (with performance instead of ratings)
%- HCI, (software learnability)
%- games design \cite{book-of-lenses}
% EXT: Questions
%How to design a programming game that supports both learning and motivation?
%How to model the domain and students of introductory programming?
%% OR: How to estimate skills of the students and how to model learning of IP?
%Which algorithms to use for task recommendation and mastery learning?
%How to evaluate and iteratively improve components of the adaptive learning system?
%%How to evaluate if the adaptivity of the system helps to improve learning and engagement?
%% TODO: Make sure these questions are answered in the text (or remove them).
%To answer these questions, we not only look at the existing systems
%and research, but we also develop our own adaptive learning system for
%introductory programming, RoboMission\footnote{Available at \url{en.robomise.cz}}
%(\cref{fig:robomission-task1}).
%Development of this system helps us to better understand related challenges
%and allow us to collect data that we need to support or reject our hypotheses.
%% TODO: And are there such hypotheses in the thesis?
%% NOTE: RoboMission = app for efficient and engaging learning of introductory
%% programming for children (= mission)
%This thesis makes the following contributions:
We make the following contributions:
First, we provide a summary of strategies to support learning and motivation
used in existing online learning systems for introductory programming
(\cref{chap:learning-programming})
and an overview of relevant techniques for adaptive learning
(\cref{chap:adaptive-learning}).
Second, we propose a new game designed for learning introductory programming
(\cref{chap:design-of-game})
and a practical approach to adaptivity (\cref{chap:design-of-adaptivity}).
Third, we implement this programming game and adaptive learning techniques
in RoboMission (\cref{chap:implementation-of-robomission}),
test its usability at schools, and analyze data from four months of usage
(\cref{chap:analysis} and \cite{robomission,alg.similarity}).
%%In this thesis,
%We first look at how the introductory programming is taught
%in existing online learning systems
%(\cref{chap:learning-programming})
%and describe relevant techniques of adaptive learning
%(\cref{chap:adaptive-learning}).
%%We focus on models of domain and student for introductory programming,
%%algorithms for task recommendation and mastery learning,
%%and evaluation of the system and its components.
%Then we present a new game designed for learning introductory programming
%(\cref{chap:design-of-game}),
%our approach to adaptivity (\cref{chap:design-of-adaptivity}),
%and implementation of RoboMission (\cref{chap:implementation-of-robomission}).
%We conclude the thesis with analyses of collected data
%(\cref{chap:analysis}).