Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Celina's summer project 2023 #224

Draft
wants to merge 40 commits into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
55f33f0
Testing branch
celinasoori Jun 22, 2023
8f7a6ba
Added method-chapter
celinahenriksson Jun 22, 2023
21b3242
changed the format on the article and polished the text
celinahenriksson Jun 25, 2023
23cd41a
refined text in misconception-chapter
celinahenriksson Jun 26, 2023
282510d
Added quotes for definition of misconceptions
celinahenriksson Jun 27, 2023
fdf0428
Added source
celinahenriksson Jun 27, 2023
ce03cef
New source added, with fun stuff to include in literature review
celinahenriksson Jun 27, 2023
64598ca
definition of misconception added to itroduction
celinahenriksson Jun 27, 2023
921af8e
Added hard-wrapping to all tex-files
celinahenriksson Jun 29, 2023
6afd8bc
Added definition of misconception and created new file for theoretica…
celinahenriksson Jun 29, 2023
b51de12
Added new source with new misconceptions
celinahenriksson Jun 29, 2023
99bb011
Changed from quotation to \verb''
celinahenriksson Jun 29, 2023
ed20175
Adds new files to Makefile
dbosk Jul 4, 2023
d1f58ec
Changes all verbatim code to use minted instead
dbosk Jul 4, 2023
090633a
Fixes bad wraps
dbosk Jul 4, 2023
2937a34
Prettifies the table to not look like a spreadsheet
dbosk Jul 4, 2023
4ae6e6a
Uses \cref instead of \ref or \nameref
dbosk Jul 4, 2023
8bd58c1
Improves citing quotes
dbosk Jul 4, 2023
20c1a92
Merge pull request #226 from dbosk/fixes-summer2023
celinasoori Jul 5, 2023
9418132
removed KTH to anonymise
celinahenriksson Jul 5, 2023
65cbf07
Added draft for definition av Variation theory
celinahenriksson Jul 5, 2023
6d6b8f6
Moved things to appendix which might not be included in article
celinahenriksson Jul 6, 2023
7b5b2e3
Added VT-analysis to chapter
celinahenriksson Jul 6, 2023
2d999ce
Destroyed preamble again, now hopefully fixed
celinahenriksson Jul 6, 2023
f91c72a
Some small changes and more pattern-examples added
celinahenriksson Jul 9, 2023
17daabc
Started the change from lslisting to minted
celinahenriksson Jul 10, 2023
160e466
Minor fixes
dbosk Jul 11, 2023
c730e67
Merge branch 'summer2023' of github.com:dbosk/intropy into summer2023
dbosk Jul 11, 2023
e333d1c
Added new patterns
celinahenriksson Jul 11, 2023
dcc912a
Merge branch 'summer2023' of github.com:dbosk/intropy into summer2023
dbosk Jul 12, 2023
14fc2f1
Added a misconception not mentioned in the articles
celinahenriksson Jul 14, 2023
0c4a00c
More patterns, soon done with this section..
celinahenriksson Jul 14, 2023
40e8579
merging
celinahenriksson Jul 15, 2023
2d6c5c8
More patterns added
celinahenriksson Jul 15, 2023
722d3b9
Added misconceptions we have found
celinahenriksson Jul 15, 2023
7911922
Added findings to article
celinahenriksson Jul 15, 2023
b426cc4
Fixes broken comment (hard-wrapped)
dbosk Jul 16, 2023
8dd0213
Adds credits to those who helped record misconceptions
dbosk Jul 26, 2023
c1dbe71
Adds abstract
dbosk Oct 9, 2023
878fe0a
Updates the title
dbosk Oct 9, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 7 additions & 4 deletions research/misconceptions/Makefile
Original file line number Diff line number Diff line change
@@ -1,19 +1,22 @@
.PHONY: all
all: article.pdf

article.pdf: article.tex
latexmk -shell-escape -pdf $<

article.pdf: abstract.tex
article.pdf: bibliography.bib
article.pdf: preamble.tex

article.pdf: classes.tex
article.pdf: conditionals.tex
article.pdf: functions-variables.tex
article.pdf: problem-solving.tex
article.pdf: repetitions.tex
article.pdf: tools.tex
article.pdf: types.tex

article.pdf: article.tex
latexmk -pdf $<
article.pdf: background.tex
article.pdf: introduction.tex
article.pdf: method.tex

.PHONY: clean
clean:
Expand Down
21 changes: 21 additions & 0 deletions research/misconceptions/abstract.tex
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
According to variation theory (see~\cite{NCOL}\footfullcite{NCOL}), learning an
educational objective requires the learner to distinguish all aspects of that
educational objective. What these aspects are is hard to tell for someone who
has already mastered the educational objective in question. However,
misconceptions occur when the learner cannot yet distinguish one or more
critical aspects. Thus misconceptions can help us identify what those
(critical) aspects are. Then we can teach the learner to distinguish those
critical aspects by varying examples through a series of patterns of variation.

In our work (in progress), we explore the existing literature on misconceptions
in introductory programming courses and analyse it through the lens of
variation theory to identify the necessary aspects of programming that a
learner must learn to distinguish. We also outline patterns of variation to
teach to distinguish these aspects.

\Textcite{NCOL} also connects the patterns of variation of variation theory to
both deep learning and scientific discoveries. In both cases, the learners (the
researcher is also a learner of the unknown) introduce variation for themselves
through these patterns of variation. We hypothesize the connection between the
patterns of variation and the skill of debugging (the programmer is learning
about some unknown when debugging).
151 changes: 88 additions & 63 deletions research/misconceptions/article.tex
Original file line number Diff line number Diff line change
Expand Up @@ -4,107 +4,132 @@
% This is a simple template for a LaTeX document using the "article" class.
% See "book", "report", "letter" for other types of document.

\documentclass[twocolumn]{article}
\documentclass[onecolumn]{article}
\usepackage[utf8]{inputenc} % set input encoding (not needed with XeLaTeX)
\usepackage[english]{babel}



\input{preamble.tex}

\title{Student misconceptions in programming through the lens of variation
theory}
\author{Celina Soori and Daniel Bosk (at the moment)}
\title{%
Introductory programming\\
through the lens of variation theory
}
\author{%
Celina Soori and
Daniel Bosk\thanks{%
Oskar Ejderby,
Leandros Grigoriadis,
Björn Hickman,
Yousef Hilal,
Beata Johansson,
Mazen Mardini, and
Yasmine Schüllerqvist
helped record students' misconceptions during the course.
}%
}
%\date{} % Activate to display a given date or no date (if empty),
% otherwise the current date is printed

\begin{document}

\definecolor{light-green}{HTML}{D5F5E3} %this definition needed to be inside the document

\maketitle
\begin{abstract}
\input{abstract.tex}
\end{abstract}
\clearpage
\tableofcontents
\clearpage

\section{Introduction}
\input{introduction}

We study misconceptions in introductory programming from the perspective of
variation theory.
We first survey the existing literature on misconceptions in introductory
programming.
We then analyze these misconceptions using variation theory.

According to variation theory \parencite[Ch.~2]{NCOL}, each educational
objective can be divided into different \emph{aspects}.
Consider the educational objective \enquote{the student should be able to use
functions}.
One aspect of this particular educational objective is local and global scope
of variables.
Another aspect is returning values from a function.
For a student to achieve the educational objective, she must be able to discern
the different aspects of the educational objective.
Aspects that the student hasn't yet discerned are critical aspects.
One necessary condition for learning is that the student is introduced to a
series of patterns of variation in the dimension of each critical aspect.
Misconceptions are examples of when a student has failed to discern (at least)
one critical aspect.
This allows us to use misconceptions to inform our designs when designing
teaching according to variation theory.

This study answers the following questions:
\begin{enumerate}
\item What misconceptions in introductory programming has been identifies in
the literature?
\item Based on these misconceptions, what aspects (in terms of variation
theory) of introductory programming can we identify?
\item Where do we need further research?
\end{enumerate}

\input{background}

\section{Prerequisites: definitions}
\input{method}

Added this to explain different words we use in the text and how we interpreted them and use them. Maybe we dont need subsections for every word, but I started this way.

Maybe it will be needed, maybe not. Uncertain at the moment.

\subsection{Variation Theory}
\section{Misconceptions in introductory programming}
\label{misconceptions}

Here I'm thinking we should describe what variation theory is so that we can use it in the analysis later on.
This section is divided to reflect the different concepts that are taught
throughout CS1. Each section will describe what students often are meant to
learn and understand in that module. Something which is followed by a
summary
of what different studies have found is difficult for students in that
particular
module and which common misconceptions that students may have. Each common
misconception will be analysed through the lens of variation theory, with
the purpose of explaining how it can be avoided by adjusting the way
the specific term or concept is being introduced or taught.

\subsection{Misconception}

Do we need to describe what we mean with misconception? Do we maybe want to use another word?
\input{functions-variables.tex}
\input{classes.tex}
\input{repetitions.tex}
\input{types.tex}
\input{conditionals.tex}
\input{findings.tex}

\subsection{Computational thinking}

Maybe we want to include something about computational thinking in this article?

\subsection{Conceptual Change Theory}
\newpage
\printbibliography

An interesting method to unlearn misconceptions and instead learn the correct conception. Mentioned by Qian \& Lehman.
\newpage

\appendix

\section{Surveying the literature on misconceptions}
\section{Misconceptions not yet included}

I'm thinking we need a method-section to describe how this research has been
conducted. Something about the literature collecting and so on.
\input{problem-solving.tex}
\input{tools.tex}

Indeed, you'll need to describe the search queries and the selection criteria.
\section{Misconceptions I have noticed that is not mentioned}

\begin{itemize}
\item When returning a value from a function, students misses to
capture it into a variable, not understanding why they cannot use the
returned value later in the programme.
\item A local list in a function will be changed when passed to a
function and then changed in that function. This because it is a
reference to the list that is sent to the new function, not a copy of
the list.
\end{itemize}

\section{Important modules in CS1}
\section{Random stuff removed from the article}

\begin{itemize}
\item There is also a misconception that variables can hold more than
one value at a time \parencite{Doukakis2007}. This misconception can
relate to several things:
\begin{enumerate*}
\item the type system, confusing lists with non-container types, not
seeing a
list as a type itself;
\item the scope of variables, that the same variable identifier can be
used
for different things in different scopes.
\end{enumerate*}

\item Students that know that a return-statement is needed have
difficulties returning the right value or variable from a function
\parencite{KumarVeerasamy2016}.

\end{itemize}

This section is divided to reflect the different concepts that are teached during CS1. Each section will describe what students often are meant to learn and understand in that module, which is then followed with a summary of what different studies have found is difficult for students in that module. XXX And then we also will try to analyze the findings with the help of variation theory.

\input{functions-variables.tex}
\input{classes.tex}
\input{repetitions.tex}
\input{types.tex}
\input{conditionals.tex}
\input{problem-solving.tex}
\input{tools.tex}

\section{Analysis}

The analyze will be performed with the help of variation theory.

\section{Discussion}

Here we can discuss what we want to analyze and research further. We might also want to discuss how to design the education to avoid everything above.

\printbibliography
\end{document}


67 changes: 67 additions & 0 deletions research/misconceptions/background.tex
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
\section{Theoretical background}

\subsection{Definition of a misconception}

In order to summarise misconceptions found in earlier research it is
important to define what a misconception is and how the term is used in this
article. According to \textcite{NCOL} a misconception is where the student
understand some critical aspects but misunderstand others, also defined as
\textcquote[p.~1]{KumarVeerasamy2016}{\textins{a} misconception is an
erroneous
belief, which is not true or valid}. This definition is also used by
\textcite{MisconceptionsSurvey2017}, where they specify it in a programming
context to include aspects of syntax, concepts, control flow, learned
constructs and debugging programs. A misconception can also include errors
in
conceptual understanding of programming. As one can see, the definition of
misconceptions is quite broad, and will be used in this article to include
all
errors, misunderstanding, difficulties and so forth.

\subsection{Variation Theory}

Learning ← discernment ← variation \textbf{XXX This is in your slides
Daniel, but I could not find in the book where Marton draws this
relationship between the three.}

Step-by-step patterns in variation theory (with the example of learning
what the colour green is):

\begin{enumerate}
\item Contrast (vary the critical concept) - showing a picture of a
circle that is green, and a circle that is the colour blue.
\item Generalisation (vary the non-critical aspect) - showing several
figures that are green, but has different shapes. Here the green colour
is the variant, and we have variation on the shape of the figures.
Called induction if it comes before the pattern contrast.
\item Fusion (vary both critical and non-critical aspect) - show
different figures that vary in colour and in shape, to fuse the two
earlier steps.
\end{enumerate}

One can vary the order of these steps, but it has been found to be more
efficient to start with the contrast.

\textbf{Things that we might need to write about here, if we want to use it
later in the analysis}

\begin{itemize}
\item Test in another scenario than the students have been taught in.
For example: When learning to throw a ball, teach the students in other
places than in the testing place.
\item Grouping: Teaching similar concepts within a subject at the same
time. Students learn more when being taught the differences between
similar concepts/methods within a subject, instead of learning the
concepts separately.
\item Changing variables to pay attention to. Students can learn better
if they focus on one specific attribute of a concept at a time, instead
of trying to understand the entire concept in one iteration.
\end{itemize}








Loading