Teaching and Learning Tools for Introductory Programming in University Courses

José Figueiredo, F. García-Peñalvo
{"title":"Teaching and Learning Tools for Introductory Programming in University Courses","authors":"José Figueiredo, F. García-Peñalvo","doi":"10.1109/SIIE53363.2021.9583623","DOIUrl":null,"url":null,"abstract":"Difficulties in teaching and learning introductory programming have been studied over the years. The students’ difficulties lead to failure, lack of motivation, and abandonment of courses. The problem is more significant in computer courses, where learning programming is essential. Programming is difficult and requires a lot of work from teachers and students. Programming is a process of transforming a mental plan into a computer program. The main goal of teaching programming is for students to develop their skills to create computer programs that solve real problems. There are several factors that can be at the origin of the problem, such as the abstract concepts that programming implies; the skills needed to solve problems; the mental skills needed to decompose problems; many of the students never had the opportunity to practice computational thinking or programming; students must know the syntax, semantics, and structure of a new unnatural language in a short period of time. In this work, we present a set of strategies, included in an application, with the objective of helping teachers and students. Early identification of potential problems and prompt response is critical to preventing student failure and reducing dropout rates. This work also describes a predictive machine learning (neural network) model of student failure based on the student profile, which is built over the course of programming lessons by continuously monitoring and evaluating student activities.","PeriodicalId":244532,"journal":{"name":"2021 International Symposium on Computers in Education (SIIE)","volume":"92 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2021-09-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"6","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2021 International Symposium on Computers in Education (SIIE)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/SIIE53363.2021.9583623","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 6

Abstract

Difficulties in teaching and learning introductory programming have been studied over the years. The students’ difficulties lead to failure, lack of motivation, and abandonment of courses. The problem is more significant in computer courses, where learning programming is essential. Programming is difficult and requires a lot of work from teachers and students. Programming is a process of transforming a mental plan into a computer program. The main goal of teaching programming is for students to develop their skills to create computer programs that solve real problems. There are several factors that can be at the origin of the problem, such as the abstract concepts that programming implies; the skills needed to solve problems; the mental skills needed to decompose problems; many of the students never had the opportunity to practice computational thinking or programming; students must know the syntax, semantics, and structure of a new unnatural language in a short period of time. In this work, we present a set of strategies, included in an application, with the objective of helping teachers and students. Early identification of potential problems and prompt response is critical to preventing student failure and reducing dropout rates. This work also describes a predictive machine learning (neural network) model of student failure based on the student profile, which is built over the course of programming lessons by continuously monitoring and evaluating student activities.
大学程序设计入门课程的教学工具
多年来,人们一直在研究编程入门教学中的困难。学生的困难导致失败,缺乏动力,放弃课程。这个问题在计算机课程中更为明显,因为学习编程是必不可少的。编程是困难的,需要老师和学生的大量工作。编程是一个将心理计划转化为计算机程序的过程。编程教学的主要目标是让学生发展他们的技能,以创建解决实际问题的计算机程序。有几个因素可能是问题的根源,比如编程所隐含的抽象概念;解决问题所需的技能;分解问题所需的心理技能;许多学生从来没有机会练习计算思维或编程;学生必须在短时间内掌握一门新的非自然语言的语法、语义和结构。在这项工作中,我们提出了一套策略,包括在一个应用程序中,目的是帮助教师和学生。及早发现潜在问题并迅速作出反应对于防止学生失败和降低辍学率至关重要。这项工作还描述了一个基于学生档案的预测机器学习(神经网络)学生失败模型,该模型是通过持续监控和评估学生活动在编程课程中建立的。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术官方微信