Spelling suggestions: "subject:"programming students"" "subject:"erogramming students""
1 |
Instructional technology for the teaching of novice programmers at a university of technologyRudolph, Godfrey January 2015 (has links)
Dissertation submitted in fulfilment of the requirements for the degree of Master of Information Technologyin the Department of Information Technology in the Faculty of Informatics and Design Cape Peninsula University of Technology / Learning computer programming can be fun, challenging and improve problem solving which is a useful ability in general. A teaching-learning environment with a strong emphasis on problem solving promotes social behaviour and discloses the personal benefits that individuals working in almost any Information Technology position can get from programming knowledge. This research project is looking at the challenges experienced by novice programmers and the negative effect it has on the student and the university. This study will address the knowledge and skills needs of programming students and the challenges for students and educators to evolve from traditional to technology-supported teaching and learning. Computer programming is a cognitively challenging subject and good instructional strategies are important in providing the student with optimal learner support. Novice programmers often struggle to understand how a computer executes a program, which impacts negatively on the delivery of the subject and throughput rates. The majority of first year Information Technology students at Cape Peninsula University of Technology are novice programmers and lack strong logic and reasoning as well as other Information Technology skills that can facilitate their interpretation and application of key concepts in programming. These challenges and negative impact on the academic development of programming students have therefore forced the researcher to investigate innovative teaching strategies and/or instructional technologies that can facilitate novice programmers in learning the basic programming concepts. The purpose of this on-going study is to enhance the traditional method of teaching and the understanding of the problems experienced by novice programmers. This study attempts to respond to the question of what the tentative design principles of instructional technology are that can be used to facilitate novice programmers’ understanding of programming concepts. A mix methodology was considered but at the end a qualitative approach was employed. Multiple sources of data gathering, which include participant observations, video recording, a questionnaire, and document analysis, were used as research instruments. The findings, relative to providing a basis for finding a mechanism to help our first year students to cope with the abstract concepts of programming, reflected the literature review. Other key findings included: Students have little or no prior computer or programming experience Student population is diverse in terms of computer skills and programming knowledge Visualization will help reduce the difficulties in writing programs The overall outcomes of this study suggest that:
Good programming examples that include games should be used Students must be given the opportunity to be more active in their learning. Computerized assistants should be provided for novice programmers A visualization tool similar to Scratch should be considered A basic background in Mathematics is recommended
|
2 |
The use of pair-programming to enhance the academic performance of tertiary level software development studentsKafilongo, Kindu Wa Mulumba 04 1900 (has links)
M. Tech. (Information Technology, Faculty of Applied and Computer Sciences, Vaal University of Technology / The number of students passing computer programming modules at Higher Education Institutions (HEIs) in South Africa at first year level is low. Only with the second attempt do most students pass. This delay results in students completing their three-year undergraduate qualification in four or even five years. One potential contribution towards addressing this problem is the introduction of a collaborative (cooperative) pedagogical approach where students develop software in teams, known in the Information Technology (IT) sector as pair-programming. This study endeavoured to investigate the impact of pair-programming on the academic progress of students registered for the Information Technology qualification at HEIs in South Africa.
The study warranted the selection of action research as the most appropriate research strategy. Multi-methods data collection was carried out over two consecutive semesters. The data collection methods included a semi-structured interview, observations and empirical assessment. The participants were students registered for the Information Systems module, which focuses on software development. Pair-programming was introduced to one group of software development students, while a second group continued with the normal solo-programming approach. Semi-structured interviews were held with the students before commencement and after completion of the pair-programming intervention, to establish a change, if any, in the academic performance, attitude and enjoyment level of students introduced to pair-programming compared to those who continued with solo-programming. Observations were conducted throughout the course of the practical sessions over both semesters. Empirical assessments were done by means of tests given to both groups of students during the practical sessions, three tests per semester. Data analysis techniques included t-tests and thematic analysis.
The findings concluded that pair-programming had a significant positive impact on the academic progress of IT students, including an increase in the enjoyment level and a more positive attitude towards software development.
|
3 |
Uso de um método preditivo para inferir a zona de aprendizagem de alunos de programação em um ambiente de correção automática de códigoPereira, Filipe Dwan, 95-99119-6508 29 March 2018 (has links)
Submitted by Divisão de Documentação/BC Biblioteca Central (ddbc@ufam.edu.br) on 2018-06-04T13:02:42Z
No. of bitstreams: 2
license_rdf: 0 bytes, checksum: d41d8cd98f00b204e9800998ecf8427e (MD5)
Filipe Dwan.pdf: 3617202 bytes, checksum: 21261ba9c1db7a40af29004bd0bb6f52 (MD5) / Approved for entry into archive by Divisão de Documentação/BC Biblioteca Central (ddbc@ufam.edu.br) on 2018-06-04T13:02:58Z (GMT) No. of bitstreams: 2
license_rdf: 0 bytes, checksum: d41d8cd98f00b204e9800998ecf8427e (MD5)
Filipe Dwan.pdf: 3617202 bytes, checksum: 21261ba9c1db7a40af29004bd0bb6f52 (MD5) / Made available in DSpace on 2018-06-04T13:02:58Z (GMT). No. of bitstreams: 2
license_rdf: 0 bytes, checksum: d41d8cd98f00b204e9800998ecf8427e (MD5)
Filipe Dwan.pdf: 3617202 bytes, checksum: 21261ba9c1db7a40af29004bd0bb6f52 (MD5)
Previous issue date: 2018-03-29 / CS1 (first year programming) classes are known to have a high dropout and non-pass
rate. Thus, there have been many studies attempting to predict and alleviate CS1 student
performance. Knowing about student performance in advance can be useful for many reasons.
For example, teachers can apply specific actions to help learners who are struggling,
as well as provide more challenging activities to high-achievers. Initial studies used static
factors, such as: high school grades, age, gender. However, student behavior is dynamic
and, as such, a data-driven approach has been gaining more attention, since many
universities are using web-based environments to support CS1 classes. Thereby, many
researchers have started extracting student behavior by cleaning data collected from these
environments and using them as features in machine learning (ML) models. Recently, the
research community has proposed many predictive methods available, even though many
of these studies would need to be replicated, to check if they are context-sensitive. Thus,
we have collected a set of successful features correlated with the student grade used in
related studies, compiling the best ML attributes, as well as adding new features, and
applying them on a database representing 486 CS1 students. The set of features was used
in ML pipelines which were optimized with two approaches: hyperparameter-tuning
with random search and genetic programming. As a result, we achieved an accuracy of
74.44%, using data from the first two weeks to predict student final grade, which outperforms
a state-of-the-art research applied to the same dataset. It is also worth noting that
from the eighth week of class, the method achieved accuracy between 85% and 90.62%. / Em média, um terço dos alunos no mundo reprova em disciplinas de introdução à
programação de computadores (IPC). Assim, muitos estudos vêm sendo conduzidos a
fim de inferir o desempenho de estudantes de turmas de IPC. Inicialmente, pesquisadores
investigavam a relação das notas dos alunos com fatores estáticos como: notas no
ensino médio, gênero, idade e outros. Entretanto, o comportamento dos estudantes
é dinâmico e, dessa forma, abordagens orientadas aos dados vêm ganhando atenção,
uma vez que muitas universidades utilizam ambientes web para turmas de programação
como juízes online. Com efeito, muitos pesquisadores vêm extraindo e tratando os
dados dos estudantes a partir desses ambientes e usando-os como atributos de algoritmos
de aprendizagem de máquina para a construção de modelos preditivos. No entanto, a
comunidade científica sugere que tais estudos sejam reproduzidos a fim de investigar
se eles são generalizáveis a outras bases de dados educacionais. Neste sentido, neste
trabalho apresentou-se um método que emprega um conjunto de atributos correlacionados
com as notas dos estudantes, sendo alguns baseados em trabalhos relacionados e outros
propostos nesta pesquisa, a fim de realizar a predição do desempenho dos alunos nas
avaliações intermediárias e nas médias finais. Tal método foi aplicado a uma base de
dados com 486 alunos de IPC. O conjunto de atributos chamado de perfil de programação
foi empregado em algoritmos de aprendizagem de máquina e otimizado utilizando
duas abordagens: a) ajuste de hiperparâmetros com random search e b) construção do
pipeline de aprendizagem de máquina utilizando algoritmos evolutivos. Como resultado,
atingiu-se 74,44% de acurácia na tarefa de identificar se os alunos iriam ser reprovados
ou aprovados usando os dados das duas semanas de aula em uma base de dados
balanceada. Esse resultado foi estatisticamente superior ao baseline. Destaca-se ainda
que a partir da oitava semana de aula, o método atingiu acurácias entre 85% e 90,62%.
|
Page generated in 0.0945 seconds