Existe
uma
demanda
crescente
de
programação
para
outras
áreas
do
conhecimento,
um
público-alvo
conhecido
como
não
desenvolvedores
que
utilizam
a
solucionar
problemas
em
tarefas
automatização
residencial,
edição
música,
gerenciamento
arquivos,
entre
outras.
Essas
atividades
estão
ligadas
à
necessidade
organização,
transformação
e
processamento
dados,
originando
novo
paradigma
Centralidade
Dados,
onde
novas
aptidões
são
o
foco
desses
novos
desenvolvedores.
As
funções
alta
ordem
tornaram-se
ferramentas
populares
não-desenvolvedores
e,
apesar
sua
simplicidade,
algumas
pesquisas
mostram
os
alunos
ainda
têm
dificuldade
entendê-las
utilizá-las.
Com
base
nas
evidências
suportam
uso
visualizadores
programas
compreensão
código,
acreditamos
simular
conceitos
inerentes
as
podem
contribuir
melhor
entendimento
suas
funcionalidades
utilizações.
Proceedings of the ACM on Programming Languages,
Год журнала:
2024,
Номер
8(OOPSLA1), С. 334 - 361
Опубликована: Апрель 29, 2024
Misconceptions
about
core
linguistic
concepts
like
mutable
variables,
compound
data,
and
their
interaction
with
scope
higher-order
functions
seem
to
be
widespread.
But
how
do
we
detect
them,
given
that
experts
have
blind
spots
may
not
realize
the
myriad
ways
in
which
students
can
misunderstand
programs?
Furthermore,
once
identified,
what
correct
them?
In
this
paper,
present
a
curated
list
of
misconceptions,
an
instrument
them.
These
are
distilled
from
student
work
over
several
years
match
extend
prior
research.
We
also
automated,
self-guided
tutoring
system.
The
tutor
builds
on
strategies
education
literature
is
explicitly
designed
around
identifying
correcting
misconceptions.
tested
multiple
settings.
Our
data
consistently
show
(a)
misconceptions
tackle
widespread,
(b)
appears
improve
understanding.
ACM Transactions on Computing Education,
Год журнала:
2023,
Номер
23(4), С. 1 - 27
Опубликована: Окт. 18, 2023
In
learning
to
program
and
understanding
how
a
programming
language
controls
computer,
learners
develop
both
insights
misconceptions
whilst
their
mental
models
are
gradually
refined.
It
is
important
that
the
learner
able
distinguish
different
elements
roles
of
computer
(compiler,
interpreter,
memory,
etc.),
which
novice
programmers
may
find
difficult
comprehend.
Forming
accurate
one
potential
sources
difficulty
inextricably
linked
mastering
computing
concepts
processes,
for
programming.
common
use
some
form
representation
(e.g.,
an
abstract
machine
or
Computational
Agent
(CA))
support
technical
pedagogic
explanations.
The
Notional
Machine
(NM)
pedagogical
device
entails
more
computational
concepts,
originally
described
as
idealised
operating
with
constructs
particular
language.
can
be
used
specific
general
goals
will
typically
have
concrete
referred
to.
Thinking
(CT),
defined
way
thinking
[computational]
problem
solving,
often
presented
using
CA
carry
out
information
processing
by
solution.
CT,
where
typical
goal
produce
algorithm
program,
seemingly
serves
purpose
very
similar
NM.
Although
it
changes
through
stages
development
(of
curriculum),
CAs
NMs
seen
versatile
tools
connect
learner’s
model
conceptual
program.
this
article,
we
look
at
relationship
between
NMs,
indicate
they
would
learning.
We
traverse
range
definitions
usages
these
articulate
clarify
viewed
in
literature.
This
includes
exploring
nature
machines
agents,
historical
views
relate
modern
pedagogy
computation.
argue
abstract,
simplified
variant
NM
provides
useful
perspective
them
robust
efficiently
effectively.
propose
teaching
should
make
idea
learning,
link
connects
full
Computer
science
(CS)
for
K-12
students
is
a
hard
subject
with
abstract
concepts
to
learn.
Multiple-choice
questions
(MCQ)
are
often
used
supplement
classroom
learning,
feedback
from
wrong
answers
playing
role
in
addressing
misunderstandings.
Semantics,
dimension
of
Legitimation
Code
Theory,
framework
understanding
knowledge
practices,
has
been
suggested
as
useful
theory
reviewing
and
structuring
CS
learning
events.
In
this
discussion
paper,
we
explore
the
use
'semantic
profiling'
improve
MCQ
post-16
studying
SQL
relational
databases.
We
describe
reflexive
review
process
developed
present
semantic
profiles
two
case
studies
new
answers.
New
answer
five
was
trialed
pilot
study
students,
self-reported
useful.
For
example,
liked
metacognitive
aspect
that
explained
why
were
or
right
generalised
summaries.
From
our
experience,
suggest
using
profiling
can
help
authors
develop
their
literacy,
particularly
creating
learner
'feedforward'
(take-away)
opportunities.
The
approach
promise
will
build
on,
invite
other
researchers
evaluate
approach.
Code
tracing
involves
simulating
at
a
high
level
the
actions
computer
takes
when
executing
program.
Given
that
students
experience
difficulties
learning
this
fundamental
skill,
research
is
needed
on
how
to
effectively
teach
it.
We
report
two
studies
investigate
pedagogical
utility
of
various
notional
machine
representations
used
explain
mechanics
program
execution.
In
study
1
(N
=
44),
we
compared
instruction
using
concrete
representation
an
abstract
table
representation.
2
50),
tested
if
fading
between
improved
over
only
providing
one
The
in
both
was
embedded
basic
tutoring
systems
implemented
served
as
testbeds
for
present
research.
On
average
did
learn
each
study,
evidenced
by
pretest
posttest
gains,
but
type
not
significantly
affect
learning;
Bayesian
statistics
provided
substantial
evidence
null
result.
discuss
potential
explanations
our
findings
and
suggest
future
directions.
Computing
education
research
applies
theories
from
the
social
sciences
to
build
deep
understanding
of
factors
that
influence
students'
learning
process
in
different
educational
settings;
but
recent
years,
computing
researchers
have
increasingly
developed
domain-specific
and
models
address
challenges
phenomena
specific
education.
Several
literature
surveys
addressed
these
developments.
However,
little
attention
has
been
given
whether
actually
applied
improve
pedagogical
practices
Não
é
surpreendente
que
muitos
instrutores
e
estudantes
recorram
a
espaços
educacionais
não-formais,
especialmente
redes
sociais
baseadas
em
vídeo
como
o
TikTok,
quando
têm
tarefa
de
aprender
programar,
particularmente
treinamento
formal
raramente
fornecido.
No
entanto,
incerto
tipo
conteúdo
educacional
tais
plataformas
fornecem
aos
professores
qualidade
desse
conteúdo.
Neste
trabalho,
visamos
diminuir
essa
lacuna
investigando
vídeos
programação
no
extraindo
explicações
–
as
Notional
Machines
usadas
pelos
apresentadores.
Analisamos
300
dessa
plataforma
para
classificar
explicar
tópicos
variáveis,
loops,
condicionais
funções.
Nossos
resultados
mostram
que,
geral,
maioria
dos
não
oferece
uma
definição
explícita
conceitos,
ou
usam
superficiais
”de
livro
didático”,
incluindo
algumas
consideradas
perigosas
na
literatura.
Infelizmente,
conseguimos
encontrar
nova
terminologia
linguagem
permitisse
educadores
se
comunicar
com
sucesso
alunos
níveis
primário
secundário.
Embora
mais
trabalho
seja
necessário
analisar
um
corpus
maior
vídeos,
oferecemos
alerta
sobre
uso
verificado
substituto
materiais
aprendizagem
bem
preparados.
Expressions
are
the
building
blocks
of
formal
languages
such
as
lambda
calculus
well
programming
that
closely
modeled
after
it.
Although
expressions
also
an
important
part
programs
in
like
Java,
not
primarily
functional,
teaching
practices
typically
don't
focus
much
on
expressions.
Learners'
conceptions
of
program
dynamics
shape
their
reading,
writing,
and
debugging
code.
But,
the
invisibility
underlying
behaviors
that
transform
code
to
outcomes
challenges
learners.
Teachers
adopt
notional
machines,
defined
as
simplified
notions
about
dynamics,
support
learners
within
computing
classrooms.
Researchers
have
gathered
machine
examples
by
interviewing
post-secondary
instructors.
there
is
a
need
capture
machines
in
practice
classrooms,
particularly
introductory
high
school
classes
where
teachers
communicate
with
limited
no
prior
programming
experiences.
Through
qualitative
video
analysis
seven
online
class
periods
(80
minutes
each)
across
14
weeks
an
physical
electronic
textiles
unit,
this
paper
answers:
(1)
What
did
teacher
use
practice?
(2)
At
what
levels
granularity
they
dynamics?
And,
(3)
representational
forms
take?
The
revealed
three-tier
framework
practice.
First,
belonged
one
five
themes
depending
on
layer
abstraction
textiles.
Second,
differed
along
granularity—individual
atoms,
blocks,
relations
between
or
entire
program.
Third,
took
two
distinct
forms—verbal
explanations
participatory
roleplays.
Overall,
has
two-fold
contribution:
provides
for
future
research
study
practice,
and,
at
same
time,
presents
first
accounts
adopted
unit.