• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 10
  • 4
  • 3
  • 1
  • Tagged with
  • 21
  • 21
  • 9
  • 8
  • 5
  • 5
  • 5
  • 4
  • 4
  • 4
  • 4
  • 3
  • 3
  • 3
  • 3
  • About
  • The Global ETD Search service is a free service for researchers to find electronic theses and dissertations. This service is provided by the Networked Digital Library of Theses and Dissertations.
    Our metadata is collected from universities around the world. If you manage a university/consortium/country archive and want to be added, details can be found on the NDLTD website.
1

Using subgoal learning and self-explanation to improve programming education

Margulieux, Lauren Elizabeth 27 May 2016 (has links)
The present study combined subgoal learning and self-explanation frameworks to improve problem solving performance. Subgoal learning has been used to promote retention and transfer in procedural domains, such as programming. The primary method for learning subgoals, however, has been through passive learning methods, and passive learning methods are typically less effective than constructive learning methods. To promote constructive methods of learning subgoals, a subgoal learning framework was used to guide self-explanation. Self-explanation is an effective method for engaging learners to make sense of new information based on prior knowledge and logical reasoning. Self-explanation is typically more effective when learners receive some guidance, especially if they are novices, because it helps them to focus their attention on relevant information. In the present study, only some of the constructive learning methods produced better problem solving performance than passive learning methods. Learners performed best when they learned constructively and either received hints about the subgoals of the procedure or received feedback on the self-explanations that they constructed, but not when they received both hints and feedback. When students received both types of guidance, they did not perform better than those who learned subgoals through passive learning methods. These findings suggest that constructive learning of subgoals can further improve the benefits of learning subgoals, but there is an optimal level of guidance for students engaging in constructive learning. Providing too much guidance can be as detrimental as providing too little. This nuance is important for educators who engage their students in constructive learning and self-explanation to recognize and promote the best results.
2

Sequencing as a factor associated with students' ability to learn programming

Honarvar, Hassanali 08 1900 (has links)
The problem of this study concerns the performance of students in computer programming following exposure to a computer-aided instruction (CAI) drill in sequencing and practice exercises. The purpose of this study was to determine whether or not student success rates improve in computer programming after completing CAI sequencing drills and practice exercises.
3

Automatic Programming Code Explanation Generation with Structured Translation Models

January 2020 (has links)
abstract: Learning programming involves a variety of complex cognitive activities, from abstract knowledge construction to structural operations, which include program design,modifying, debugging, and documenting tasks. In this work, the objective was to explore and investigate the barriers and obstacles that programming novice learners encountered and how the learners overcome them. Several lab and classroom studies were designed and conducted, the results showed that novice students had different behavior patterns compared to experienced learners, which indicates obstacles encountered. The studies also proved that proper assistance could help novices find helpful materials to read. However, novices still suffered from the lack of background knowledge and the limited cognitive load while learning, which resulted in challenges in understanding programming related materials, especially code examples. Therefore, I further proposed to use the natural language generator (NLG) to generate code explanations for educational purposes. The natural language generator is designed based on Long Short Term Memory (LSTM), a deep-learning translation model. To establish the model, a data set was collected from Amazon Mechanical Turks (AMT) recording explanations from human experts for programming code lines. To evaluate the model, a pilot study was conducted and proved that the readability of the machine generated (MG) explanation was compatible with human explanations, while its accuracy is still not ideal, especially for complicated code lines. Furthermore, a code-example based learning platform was developed to utilize the explanation generating model in programming teaching. To examine the effect of code example explanations on different learners, two lab-class experiments were conducted separately ii in a programming novices’ class and an advanced students’ class. The experiment result indicated that when learning programming concepts, the MG code explanations significantly improved the learning Predictability for novices compared to control group, and the explanations also extended the novices’ learning time by generating more material to read, which potentially lead to a better learning gain. Besides, a completed correlation model was constructed according to the experiment result to illustrate the connections between different factors and the learning effect. / Dissertation/Thesis / Doctoral Dissertation Engineering 2020
4

Real-Time Feedback for In-Class Introductory Computer Programming Exercises

Sellers, Ariana Dawn 01 June 2018 (has links)
Computer programming is a difficult subject to master. Introductory programming courses often have low retention and high failure rates. Part of the problem is identifying if students understand the lecture material. In a traditional classroom, a professor can gauge a class's understanding on questions asked during lecture. However, many struggling students are unlikely to speak up in class. To address this problem, recent research has focused on gathering compiler data from programming exercises to identify at-risk students in these courses. These data allow professors to intervene with individual students who are at risk and, after analyzing the data for a given time period, a professor can also re-evaluate how certain topics are taught to improve understanding. However, current implementations do not provide information in real time. They may improve a professor's teaching long term, but they do not provide insight into how an individual student is understanding a specific topic during the lecture in time for the professor to make adjustments.This research explores a system that combines compiler data analytics with in-class exercises. The system incorporates the in-class exercise into a web-based text editor with data analytics. While the students are programming in their own browsers, the website analyzes their compiler errors and console output to determine where the students are struggling. A real-time summary is presented to the professor during the lecture. This system allows a professor to receive immediate feedback on student understanding, which enables him/her to clarify areas of confusion immediately. As a result, this dynamic learning environment allows course material to better evolve to meet the needs of the students.Results show that students in a simulated programming course performed slightly better on quizzes when the instructor had access to real-time feedback during a programming exercise. Instructors were able to determine what students were struggling with from the real-time feedback. Overall, both the student and instructor test subjects found the experimental website useful.Case studies performed in an actual programming lecture allowed the professor to address errors that are not considered in the curriculum of the course. Many students appreciated the fact that the professor was able to immediately answer questions based on the feedback. Students primarily had issues with the bugs present in the alpha version of the software.
5

Programmed or Not : A study about programming teachers’ beliefs and intentions in relation to curriculum / Programmerad eller Inte : programmering i skolan från ett lärarperspektiv

Rolandsson, Lennart January 2015 (has links)
In the intersection of technology, curriculum and intentions, a specific issue of interest is found in the gap between teachers’ intentions and implementations of curriculum. Instead of approaching curriculum and technology as something fait accompli, teachers are considered crucial in the re-discovery of what and how to teach. The thesis depicts the mind-set of teachers and their beliefs in relation to computing curriculum. Three perspectives are covered in the thesis. Based on original documents and interviews with curriculum developers, the enactment of the computing/programming curriculum during the 1970s and 1980s is explored (Paper 1). This historical perspective is supplemented with a perspective from the present day where current teaching practice is explored through teachers’ statements (seminars with associated questionnaires) regarding their beliefs about teaching and learning programming(Paper 2). Finally with a view from a theoretical perspective, teachers’perception of instruction is discussed in relation to a theoretical framework where their intentions in relation to theoretical and practical aspects of knowledge are revealed (Papers 3 &amp; 4). The initial incitement to offer computing education during the 1970s was discovered in the recruitment of a broader group of students within the Natural Science Programme and the perception that it would contribute to the development of students’ ability to think logically and learn problem solving skills. Data concerning teachers’ beliefs about teaching and learning programming unravels an instructional dependence among today’s teachers where students’ logical and analytical abilities (even before the courses start) are considered crucial to students’ learning, while teachers question the importance of their pedagogy. The thesis also discover two types of instruction; a large group putting emphasis on the syntax of programming languages, and a smaller group putting emphasis on the students’ experiences of learning concepts of computer science (not necessarily to do with syntax). In summary the thesis depicts an instructional tradition based on teachers’ beliefs where the historical development of the subject sets the framework for the teaching. Directly and indirectly the historical development and related traditions govern what programming teachers in upper secondary school will/are able to present to their students. From deploying two theoretical approaches, phenomenography and logic of events, upon teacher’s cases it is shown that the intended object of learning (iOoL) is shaped by the teacher’s intentions (e.g., balancing the importance oftheory and practice, using different learning strategies, encouraging learning by trial-and-error and fostering collaboration between students for a deeper understanding). The teachers also present a diverse picture regarding what theoretical knowledge students will reach for. / <p>QC 20150227</p>
6

A framework for experimental studies on the integration of software testing into programming education / Um framework para estudos experimentais sobre a integração de teste de software no ensino de programação

Scatalon, Lilian Passos 26 June 2019 (has links)
Introductory programming courses compose the core of several undergraduate degree programs, since programming is a crucial technical skill for professionals in many STEM areas. Aiming to address students learning difficulties in these courses, instructors can adopt different teaching approaches, since there are several varying aspects in programming education (e.g. programming languages and paradigms, development practices, platforms, supporting tools etc). In particular, the teaching approach that consists of integrating software testing into this context has been prominent in the area, since it may lead students to think more critically while working on programming assignments. Even so, this teaching approach can also present significant challenges, such as the students reluctance to conduct testing practices. In this sense, experimental studies have the role to provide evidence about learning outcomes, considering different teaching approaches and contexts. However, studies in the area of programming education often present a lack of theoretical basis, i.e. are not built upon established theories, models and frameworks. In other words, the varying aspects (or variables) used to investigate teaching approaches are not properly characterized in the studies, what leads to difficulties to interpret the obtained results and build knowledge in the area. As a consequence, instructors are prevented from having reliable evidence to make informed choices of teaching approaches used in the classroom. Considering this scenario, we propose in this PhD thesis the use of domain-specific models to support researchers in scoping and designing experiments on programming education. More specifically, we explored the domain of the software testing integration teaching approach, by creating a framework for experimental studies on the integration of software testing into programming education. The framework provides a basic structure of experimental studies in this domain, composed by models of variables related to this teaching approach. We also conducted experiments on the same domain and demonstrated their instantiation into the framework. We intend to support researchers and instructors in the scoping and planning of experimental studies in the educational scenario, specially those aimed at evaluating the integration of software testing into programming courses. / Disciplinas introdutórias de programação compõem o núcleo de diversos cursos de graduação, visto que se trata de uma habilidade crucial para profissionais em muitas áreas de ciências exatas. Buscando lidar com as dificuldades de aprendizagem dos alunos nessas disciplinas, os professores podem adotar diferentes abordagens de ensino, uma vez que há muitas variantes no ensino de programação (como linguagens e paradigmas de programação, práticas de desenvolvimento, plataformas, ferramentas de apoio, etc). Em particular, a abordagem de ensino que consiste em integrar teste de software nesse contexto tem se destacado na área, pois pode levar os alunos a pensarem de modo mais crítico enquanto resolvem atividades práticas de programação. Mesmo assim, essa abordagem de ensino também pode apresentar desafios significativos, como a resistência dos alunos para conduzir práticas de teste. Nesse sentido, estudos experimentais têm o papel de fornecer evidência acerca de resultados em termos de aprendizagem, considerando diferentes abordagens de ensino e contextos. Porém, estudos na área de ensino de programação muitas vezes apresentam falta de fundamentação teórica, ou seja, não são construídos a partir de teorias, modelos e frameworks estabelecidos na área. Isso significa que os aspectos (ou variáveis) utilizados para investigar as abordagens de ensino não são adequadamente caracterizados nos estudos, o que leva a dificuldades em interpretar os resultados obtidos e construir conhecimento na área. Como consequência, os professores são impedidos de ter evidências confiáveis para fazer escolhas informadas nas abordagens de ensino utilizadas em sala de aula. Considerando esse cenário, este trabalho de doutorado propõe o uso de modelos de domínio para apoiar pesquisadores ao definir e projetar experimentos no ensino de programação. Mais especificamente, o domínio da abordagem de integração de teste de software foi explorado neste trabalho, com a criação de um framework para estudos experimentais sobre a integração de teste de software no ensino de programação. O framework provê uma estrutura básica de estudos experimentais nesse domínio, sendo composto por modelos de variáveis relacionadas a essa abordagem de ensino. Neste trabalho também foram conduzidos experimentos de acordo com a estrutura do framework. A meta deste trabalho é apoiar pesquisadores e professores ao definir e planejar estudos no cenário educacional, em especial os focados em avaliar a integração de teste de software em disciplinas de programação.
7

Programação no ensino de matemática utilizando Processing 2: Um estudo das relações formalizadas por alunos do ensino fundamental com baixo rendimento em matemática / Program in mathematics teaching using Processing 2: A study of the relations formalized by elementary students with low performance in mathematics

Souza, Eduardo Cardoso de [UNESP] 25 February 2016 (has links)
Submitted by EDUARDO CARDOSO DE SOUZA null (eduardoc@fc.unesp.br) on 2016-04-07T19:46:41Z No. of bitstreams: 1 DISSERTAÇÃO_VERSÃO_FINAL.pdf: 4673018 bytes, checksum: 18ab7c434cd38e291de6086e815d206a (MD5) / Approved for entry into archive by Felipe Augusto Arakaki (arakaki@reitoria.unesp.br) on 2016-04-08T12:52:50Z (GMT) No. of bitstreams: 1 souza_ec_me_bauru.pdf: 4673018 bytes, checksum: 18ab7c434cd38e291de6086e815d206a (MD5) / Made available in DSpace on 2016-04-08T12:52:50Z (GMT). No. of bitstreams: 1 souza_ec_me_bauru.pdf: 4673018 bytes, checksum: 18ab7c434cd38e291de6086e815d206a (MD5) Previous issue date: 2016-02-25 / Não recebi financiamento / O baixo desempenho em matemática obtido pelos alunos brasileiros nas avaliações externas revela que o ensino da matemática é um grande desafio tanto para as nações marcadas pela desigualdade social, quanto para as nações mais desenvolvidas. Em busca da superação dos baixos índices de rendimento dos estudantes em matemática, este trabalho de cunho qualitativo, investigou por meio da aprendizagem situada numa comunidade de prática de programadores as formas pelas quais os alunos com baixo desempenho em matemática se relacionam com a mesma durante e após participarem de oficinas de programação. A pesquisa contou com oito oficinas de programação utilizando a ferramenta Processing 2. Foi possível delinear seis categorias de análise que, conforme os objetivos da pesquisa, sinalizam arranjos da aprendizagem situada da matemática numa comunidade de prática de programadores - não linearidade, ênfase no saber fazer, informal, construção do conhecimento a partir da necessidade, interatividade e engajamento e tentou-se buscar subsídios para responder perguntas como: Quais são as vantagens de aulas de matemática utilizando ferramentas de programação? Quais são as dificuldades ao desenvolver aulas de matemática utilizando ambiente de programação? Que tipos de mudança o uso de ferramentas de programação provocam na dinâmica das aulas de matemática? Para a realização da pesquisa foi escolhida uma escola da rede municipal de ensino fundamental do município de Santa Cruz do Rio Pardo – SP, com seis alunos, na faixa etária de 12 anos que apresentavam baixo rendimento na disciplina. A programação de computadores como instrumento didático-pedagógico, no emprego da ferramenta Processing 2 aponta avanços na aprendizagem dos alunos, no tocante a promoção de um trabalho mais cooperativo, que coloca o erro como elemento natural no processo de aprendizagem, e torna a aprendizagem mais interativa, contribuindo para um feedback imediato, e avança sobretudo na apropriação de conceitos matemáticos adjacentes da atividade de programação. Foi possível evidenciar que no transcorrer das oficinas os alunos passaram a perceber a necessidade e importância da matemática enquanto constroem programas que representam seus anseios e desejos. Assim o conhecimento parte da necessidade pontual e, com isso, explorar uma aprendizagem mais ativa. No desencadeamento das oficinas os estudantes deixam de ser meramente receptores de informações, e se engajam de maneira ativa nas práticas da comunidade, o que contribui para uma aprendizagem ativa. Um dos indicativos de sucesso para a nova alfabetização do século XXI está na interatividade e no tempo rápido de respostas conforme se evidenciou neste trabalho. Enquanto os alunos trabalhavam no desenvolvimento dos projetos, criando as sequências de comandos, eles estavam a aprender sobre o processo de construção, do processo de como formalizar uma ideia e transformá-la num projeto completo e funcional. Assim, estavam a “programar para aprender”. À medida que se avança nas oficinas, os alunos aumentam sua atitude reflexiva, de modo que a ferramenta passou a ser apenas um suporte. Neste processo encontravam seus erros, procuravam corrigi-los, testavam e aprendiam os conceitos envolvidos na solução dos problemas. / The poor performance in mathematics obtained by Brazilian students in the external evaluation shows that mathematics teaching is a major challenge for both nations marked by social inequality, and for the most developed nations. In search of overcoming low levels of student performance in mathematics, the qualitative nature of work, investigated through learning located in a developer community of practice the ways in which students with low math performance relate to the same during and after participating in scheduling workshops. The research included eight workshops programming using Processing tool 2. It was possible to outline six categories of analysis that, as the research objectives, signal arrangements situated learning of mathematics in a developer community of practice - nonlinearity, emphasis on know-how, informal, knowledge building from the need, interactivity and engagement and we tried to get subsidies to answer questions such as: What are the advantages of math classes using programming tools? What are the difficulties in developing math classes using programming environment? What kinds of changes using programming tools cause the dynamics of math classes? For the research was chosen a school elementary school municipal system of the city of Santa Cruz do Rio Pardo - SP, with six students, aged 12 who had low performance in the discipline. The programming computers as didactic and pedagogical tool, the use of Processing 2 tool shows progress in student learning, regarding the promotion of a more cooperative work, which puts the error as a natural element in the learning process, and makes learning more interactive, contributing to an immediate feedback, and advancing above all in the ownership of adjacent mathematical concepts of programming activity. It became clear that in the course of the workshops students have come to realize the need and importance of mathematics as they build programs that represent their wishes and desires. Thus the knowledge of the specific need and, therefore, explore a more active learning. In triggering the workshops students are no longer merely information receptors, and to engage actively in community practices, which contributes to an active learning. One of the success indicative for the new literacy of the twenty-first century is on interactivity and quick response time as was evident in this work. While students worked in project development, creating the command sequences, they were to learn about the construction process, as the process of formalizing an idea and turn it into a complete and functional design. So were "programmed to learn." As we advance in the workshops, students increase their reflexive attitude, so that the tool just happened to be a support. In this process they found his mistakes, sought to correct them, were testing and learned the concepts involved in solving problems.
8

Automatização de feedback para apoiar o aprendizado no processo de resolução de problemas de programação.

ARAÚJO, Eliane Cristina de. 03 May 2018 (has links)
Submitted by Lucienne Costa (lucienneferreira@ufcg.edu.br) on 2018-05-03T19:03:28Z No. of bitstreams: 1 ELIANE CRISTINA DE ARAÚJO – TESE (PPGCC) 2017.pdf: 2665968 bytes, checksum: 9e26132dd3a51ff87b8e42dc6f719f14 (MD5) / Made available in DSpace on 2018-05-03T19:03:28Z (GMT). No. of bitstreams: 1 ELIANE CRISTINA DE ARAÚJO – TESE (PPGCC) 2017.pdf: 2665968 bytes, checksum: 9e26132dd3a51ff87b8e42dc6f719f14 (MD5) Previous issue date: 2017-09-05 / No ensino de programação, é fundamental que os estudantes realizem atividades práticas. Para que sejam bem sucedidos nessas atividades, os professores devem guiá-los, especialmente os iniciantes, ao longo do processo de programação. Consideramos que o processo de programação, no contexto do ensino desta prática, engloba as atividades necessárias para resolver um problema de computação. Este processo é composto por uma série de etapas que são executadas de forma não linear, mas sim iterativa. Nós consideramos o processo de programação adaptado de Polya (1957) para a resolução de problemas de programação, que inclui os seguintes passos [Pól57]: (1) Entender o problema, (2) Planejar a solução, (3) Implementar o programa e (4) Revisar. Com o foco no quarto estágio, nós almejamos que os estudantes tornem-se proficientes em corrigir as suas estratégias e, através de reflexão crítica, serem capazes de refatorar os seus códigos tendo em vista a boa qualidade de programação. Durante a pesquisa deste doutorado, nós desenvolvemos uma abordagem para gerar e fornecer feedback na última fase do processo de programação: avaliação da solução. O desafio foi entregar aos estudantes feedback elaborado e a tempo, referente ás atividades de programação, de forma a estimulá-los a pensar sobre o problema e a sua solução e melhorar as suas habilidades. Como requisito para a geração de feedback, comprometemo-nos a não impormais carga de trabalho aos professores, evitando-os de criar novos artefatos. Extraímos informações a partir do material instrucional já desenvolvido pelos professores quando da criação de uma nova atividade de programação: a solução de referência. Implementamos e avaliamos nossa proposta em um curso de programação introdutória em um estudo longitudinal. Os resultados obtidos no nosso estudo vão além da desejada melhoria na qualidade de código. Observamos que os alunos foram incentivados a melhorar as suas habilidades de programação estimulados pelo exercício de raciocinar sobre uma solução para um problema que já está funcionando. / In programming education, the development of students’ programming skills through practical programming assignments is a fundamental activity. In order to succeed in those assignments, instructors need to provide guidance, especially to novice learners, about the programming process. We consider that this process, in the context of programming education, encompasses steps needed to solve a computer-programming problem. We took into consideration the programming process adapted from Polya (1957) to computer programming problem-solving, that includes the following stages [Pól57]: (1) Understand the problem; (2) Plan the solution; (3) Implement the program and (4) Look Back. Focusing on the fourth stage, we want students to be proficient in correcting strategies and, with critical reflection, being able to refactor their code caring about good programming quality. During this doctoral research, we developed an approach to generate formative feedback to leverage programming problem-solving in the last stage of the programming process: targeting the solution evaluation. The challenge was to provide timely and elaborated feedback, referring to programming assignments, to stimulate students to reason about the problem and their solution, aiming to improve their programming skills. As a requirement for generating feedback, we compromised not to impose the creation of new artifacts or instructional materials to instructors, but to take advantage of a usual resource already created when proposing a new programming assignment: the reference solution. We implemented and evaluated our proposal in an introductory programming course in a longitudinal study. The results go beyond what we initially expected: the improved assignments’ code quality. We observed that students felt stimulated, and in fact, improved their programming abilities driven by the exercise of reasoning about their already functioning solution.
9

Införandet av programmering i grundskolan : En studie om motiven bakom införandet av programmering för elever i lägre åldrar på statlig och lokal nivå / The introduction of programming in elementary school : A study of the motives behind the introduction of programming for low-aged students at state and local level

Erlandsson, Markus January 2017 (has links)
No description available.
10

Changing Computer Programming Education; The Dinosaur that Survived in School : An explorative study of educational issues based on teachers' beliefs and curriculum development in secondary school

Rolandsson, Lennart January 2012 (has links)
With the intention to contribute to research in computer programming education the thesis depicts the mind-set of teachers and their beliefs in relation to the early enactment of the informatics curriculum in Swedish upper secondary school. Two perspectives are covered in the thesis. Based on original documents and interviews with curriculum developers, the enactment of the informatics/programming curriculum during the 1970s and 1980s is explored (Paper 1). This historical perspective is supplemented with a perspective from the present day where current teaching practice is explored through teachers’ statements (seminars with associated questionnaires) regarding their beliefs about teaching and learning programming (Paper 2). The historical data reveals that experimental work within the informatics curriculum was initiated in the mid-1970s. In the early stages of the curriculum development process a contemporary post gymnasium programme in computing was used as a blueprint. The curriculum relied on programming as well as system development, wherefore a question of importance was raised early in the process; should the subject matter of informatics, be taught by ‘regular’ Natural Sciences and Mathematics teachers or by contemporary vocational education teachers in ADP? The question was initially solved using stereotypical examples of how to apply system development, which was later suggested as a replacement for programming activities. The initial incitement to offer informatics education during the 1970s was discovered in the recruitment of a broader group of students within the Natural Science Programme and the perception that it would contribute to the development of students’ ability to think logically and problem solving skills. The thesis unravels an instructional dependence among today’s teachers where students’ logical and analytical abilities (even before the courses start) are considered crucial to students’ learning, while teachers question the importance of their pedagogy. Teachers in the study commonly express the belief that their instructions hardly matter to the students’ learning. Instead these teachers perceive learning programming as an individual act. The inquiry also discover two types of instruction; a large group putting emphasis on the syntax of programming languages, and a smaller group putting emphasis on the students’ experiences of learning concepts of computer science (not necessarily to do with syntax), which corresponds with the existence of two groups of teachers during the 1980s; the partisans who perceived learning as based on repeating sequences in a behaviouristic manner, and defenders who perceived learning as based on discovery and self-teaching. In summary the inquiry depicts an instructional tradition based on teachers’ beliefs where the historical development of the subject sets the framework for the teaching. Directly and indirectly the historical development and related traditions govern what programming teachers in upper secondary school will/are able to present to their students. / <p>QC 20121129</p>

Page generated in 0.1469 seconds